Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 118

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-10-16


Вопрос №1199

Добрый день эксперты=)
Я тут недавно ночку н спал, учебу прогулял, но зато скачал IDA. Этот отладчик конечно же меня убил..., те программы которые с использованием CV я немог просматривать (писал всякую чипуху)IDA справился легко (и даже с коментариями=)).
Вобшем я тут помучился минут 10 и несмог найти команду тросировки!
Помогите... .

Ответ

Здравствуйте, Alex!

IDA (Interactive Disassembler Pro) - это не дебаггер,
а САМЫЙ РУЛЬНЫЙ В МИРЕ ДИСАССЕМБЛЕР!!!.


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 133

Экспертная группа: Дизассемблеры

Вопрос №1201

Здравствуйте эксперты.
Когда я строю в MathCad'е 2000 3D графики, MathCad вылетает.
Версии Маткада - 2000 русский, англ.
8 русский, англ.

На компе винда 98 SE, S3 Savage 4
В 7-ой версии Маткада всё нормально.
Установка свежих драйверов видеокарты не помогла.

Ответ

Здравствуйте, Alex Pasichny!
Кстати - и не только .. Попробую явно делить на ноль
ну например напиши Х:=1/0 - и посмотри .. Не в NT - вылетает.
Как пить дать..
И вообще... МathCAD - недоделаный какой-то ..
Сохронять надо как можно чаще...


Отправил эксперт: klimenko (http://club.lsk.kz/myfoto/12.JPG - Фото)
Эксперт отправил ответов (всего): 4

Экспертная группа: Пользовательская работа с Windows

Вопрос №1199

Добрый день эксперты=)
Я тут недавно ночку н спал, учебу прогулял, но зато скачал IDA. Этот отладчик конечно же меня убил..., те программы которые с использованием CV я немог просматривать (писал всякую чипуху)IDA справился легко (и даже с коментариями=)).
Вобшем я тут помучился минут 10 и несмог найти команду тросировки!
Помогите... .

Ответ

Здравствуйте, Alex!

А кто обещал, что будет легко? Самое интересное, что ты можешь не спать еще одну ночь, прогулять еще раз учебу, но так и не найти команду трассировки! Это тоже самое, что искать черную кошку в темной комнате при условии, что она уже из нее вышла (кстати, вчера я именно этим и занимался - тоже 10 минут лазил под всякой мебелью. А эта тварь сидела в коридоре и с удивлением на меня смотрела :))

Дело в том, что IDA - это дизассемблер, а не отладчик. Он позволяет из исполняемого файла восстановить (или попытаться восстановить) исходный код. И кроме этого ничего делать не умеет. Поэтому и не присутствует в нем команда трассировки...


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 31

Экспертная группа: Дизассемблеры

Вопрос №1202

Добрый день эксперты!
Что такое дизасемблер? Это чтото типа REкомпиляции (из исходной программы создать исходный код), я так понял! Если да то это ведь еше круче... .

Ответ

Здравствуйте, Alex!

Это именно так, как вы сказали! Только я бы добавил туда слово "попытка" :) Потому как не всякий исходный код позволяет себя восстановить.


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 32

Экспертная группа: Дизассемблеры

Вопрос №1202

Добрый день эксперты!
Что такое дизасемблер? Это чтото типа REкомпиляции (из исходной программы создать исходный код), я так понял! Если да то это ведь еше круче... .

Ответ

Здравствуйте, Alex!

Ассемблер есть человекопонятное представление машинных команд.
Поэтому преобразование как в код, так и из кода в текст происходит без каких либо проблем для программ (ассемблеров/дизассемблеров)

Это не РЕкомпиляция... просто дизассемблирование.


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 171

Экспертная группа: Дизассемблеры

Вопрос №1200

Привет всем!!!
1) Как переключить режим экрана (в текстовом режиме) со стандартного (80х25) на новый режим (80х30, 80х50, 132х25 и т.д.). Как в Dos Navigator 1.51.
2) Почему когда я пытаюсь откомпилировать файл приложение к уроку №28 из рассылки "Ассемблер? Это просто! Учимся программировать". Выдается следующее сообщение об ошибке:
*Warning* sshell28.asm(21) Auxiliary processor incompatible with main processor
**Error** keyboard.asm(185) Operand types do not match
Почему может выдаваться это сообщение?

Ответ

Здравствуйте, Андрей!

1. Приблизительно так. В програмке включается режим 132*25. Режим 11ah - 132*43.

А вообще попробуй поиграть с параметром VideoMode там можно много интересных режимов накопать.

Приложение:


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 33

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1206

Выручайте!!!!!
У меня лаба по ассемблеру.
Нужно сделать такую штуковину:

d:=(a/e + b/18)/(e + 4) + c*175.
/ - разделить, * - умножить (это так на всякий случай, а то эксперты разные бывают).
Нужно в паскале ввести все переменные, а считалось чтобы это все в асме (оператор asm). Ну а d - результат.
Если кто поможет - огромнейшее спасибо, а то я сам в ассемблере ни х.. не понимаю.
Извиняюсь за ламерство.

Ответ

Здравствуйте, Mulder!
Надеюсь, паскаль то хоть ты знаешь?
Значит делаешь так:
пишешь начало на паскале, где определяешь переменные:
a,b,c,e - dword (32 bit) (придумай сам любые числа, причем организуй все это как ввод с клавы)
d - dword, неопределенное значение (сюда вернется результат)
n - dword, присвоишь значение 18!!! (но не делай ее константой, т.к. она в проге еще пригодиться, хотя если паскаль позволяет - пожалуйста, но я сомневаюсь...)

Потом директива asm и пошел кусок из приложения

после последней команды fstp d в переменной d окажется результат, который выводишь на экран обычным способом (в паскале помоему writeln). все. учись, студент!

Приложение:


Отправил эксперт: Broken Sword (http://www.revolution.co.uk - скрытая реклама...)
Эксперт отправил ответов (всего): 188

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №1210

Здравствуйте!
Народ, горю. Тут у вас проскальзывал вопрос по поводу управления дисководом через порты. Мне позарез необходима инфа подобного рода. Если кто располагает, не сочтите за труд выслать на Suxxess_1@mail.ru, буду неимоверно благодарен.
С уважением к вашему нелегкому делу, Воинствующий ламер

Ответ

Здравствуйте, Воинствующий ламер!

Круто :) Весьма круто :)
А, что Ральф Браун нам уже никто? :)
http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html


Отправил эксперт: UFO
Эксперт отправил ответов (всего): 27

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1209

Интересно узнать что dj UFO имеет в ввиду ??? :o

Вопрос №1193
Здравствуйте, эксперты. Кто-нибудь знает, можно ли как-нибудь из javascript запустить ассемблерную программу?
Ответ
Здравствуйте, Nekto!
Попрошу уточнить, а что такое ассемблерная программа?
Если имеется в виду выполняемый ехе или сом файл, то ты б давно уже сидел с отформатированным жестким диском.:)

А??

Ответ

Здравствуйте, Gremlenn!
Да собственно что имеет то и введет!!! Во первых что ты дейтсвительно подразумеваешь по ассемблерной программой?! Исходник или откомпилированную прогу. Если второе то чем она по твоему от прог написаных на других языках кроме размера отличеается? А если первое то как ты себе это представляешь? Сидит чувак с Макинтошем в инете и тут твоя прога под 80х86................ Да еще и компилер на каждой тачке ставь, а под никсами синтаксис отличается (по крайней мере у gas). А на счет отформатированного винта, то естественно первое что приходит на ум имея врзможность запускать прогу на чужом компе - format c:, а также прочие добрые вещи (аля чето куда то скачать, чето потереть и тд.). (А для чего по твоему трояны пишутся, если бы имелась возможность все это на яве сделать)...


Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 189

Экспертная группа: Работа с MASM/TASM

Вопрос №1213

А как в играх усаётся делать такую быструю графику?
Я вот тут на C++ еле как прогу написал.
вот фрагмент:
HDC devc = CreateDC("DISPLAY", NULL, NULL, NULL);
PAINTSTRUCT pstr;
switch (msg)// Выполняем обработку сообщений. идент сообщения передается через параметр msg
{case WM_PAINT:
{ devc = BeginPaint(hwnd, &pstr);
devc = GetDC(hwnd);
for(int a=0;a<0xFF;a=a+1){
for(int b=0;b<0xFF;b=b+1){
SetPixel(devc, a, b, ((((0XFF0000-a*0xFF00)+b)*0x10000+a*0X100+b)));
}
}
ReleaseDC(hwnd, devc);
return 0;
}

Так даже видно как закрашивает. Такая скорость никуда не годится.
Как сделать чтобы быстро было?



Ответ

Здравствуйте, fanonymous!

Для этих целей и придумали DirectX и OpenGl!!!!!!!!!!!


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 134

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №1215

Здаравствуйте уважаемые эксперты

Подскажите

Почему TASM ругается на строку

out bx, al

TASM говорит

Register must be DX

Заранее благодарен
ivekm

Ответ

Здравствуйте, ivekm!

Потому что команда out позволяет выводить только в порт,
указанный непосредственно (до 0FFh) или в порт, указынный в регистре
DX.

А никаким BX тут и не пахнет!!!!!!!!!!!!


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 135

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1209

Интересно узнать что dj UFO имеет в ввиду ??? :o

Вопрос №1193
Здравствуйте, эксперты. Кто-нибудь знает, можно ли как-нибудь из javascript запустить ассемблерную программу?
Ответ
Здравствуйте, Nekto!
Попрошу уточнить, а что такое ассемблерная программа?
Если имеется в виду выполняемый ехе или сом файл, то ты б давно уже сидел с отформатированным жестким диском.:)

А??

Ответ

Здравствуйте, Gremlenn!

Он имел в виду, что если бы к Java-скрипту можно было бы собачить
программку EXE или COM, то злобные хакеры ( :-E~ ) давно бы уже
присобачили туда программку форматирования винта без запроса!


Отправил эксперт: Nik
Эксперт отправил ответов (всего): 136

Экспертная группа: Работа с MASM/TASM

Вопрос №1215

Здаравствуйте уважаемые эксперты

Подскажите

Почему TASM ругается на строку

out bx, al

TASM говорит

Register must be DX

Заранее благодарен
ivekm

Ответ

Здравствуйте, ivekm!
Must be DX :)) вместо bx напиши dx
Синтаксис такой что тут поделаешь


Отправил эксперт: DiGiT
Эксперт отправил ответов (всего): 29

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1215

Здаравствуйте уважаемые эксперты

Подскажите

Почему TASM ругается на строку

out bx, al

TASM говорит

Register must be DX

Заранее благодарен
ivekm

Ответ

Здравствуйте, ivekm!
Правильно ТАСМ говорит вообще-то:)
Команда: OUT port,accumulator.
Логика : (port) = accumulator.
OUT передает байт или слово из AL или AX в заданный порт.
Адрес порта может определяться как непосредственным байтовым
значением (в диапазоне 0-255), так и с использованием косвенной
адресации по регистру DX.
то есть пример

OUT 254,AX
OUT DX,AL



Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 175

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1211

Несмотря на то что high level языки набор чужого кода
(написанного не нами)тем не менее мы должны быть благодарны людям вложившим свои силы и талант в такие грандиозные
системы (IDE) как DELPHI, C++BUILDER и др.
Вечная им память...:)
(кстати я в этих функция разбираюсь как в своих так что мне на них писать не зазорно)
А что касается чистоты живописи то писать в машинных кодах
и есть предназначение истинного художника :)
Ведь ниже только аппаратура что наверное тоже не предел.

Ответ

Здравствуйте, Gremlenn!
Я с тобой согласен. Люди из Borland перелопатили стока кода, что под винды программить стало легче. Написали бы программу на С++ 5.0 типа работы с БД да еще какуюнибудь замутную. Ужась. Правда смотря что надо. Я считаю, что на асме писать под вин32 - изврат. Зато системные фишки как так и надо.


Отправил эксперт: DiGiT
Эксперт отправил ответов (всего): 30

Экспертная группа: Работа с MASM/TASM

Вопрос №1209

Интересно узнать что dj UFO имеет в ввиду ??? :o

Вопрос №1193
Здравствуйте, эксперты. Кто-нибудь знает, можно ли как-нибудь из javascript запустить ассемблерную программу?
Ответ
Здравствуйте, Nekto!
Попрошу уточнить, а что такое ассемблерная программа?
Если имеется в виду выполняемый ехе или сом файл, то ты б давно уже сидел с отформатированным жестким диском.:)

А??

Ответ

Здравствуйте, Gremlenn!
Имеется ввиду исполняемый файл. А про отформатированный винт не знаю что хотел сказать. Может быть ошибка в системе :))


Отправил эксперт: DiGiT
Эксперт отправил ответов (всего): 31

Экспертная группа: Работа с MASM/TASM

Вопрос №1217

Здраствуйте эксперты!
Я читая FAQ очень часто встречаю идентичные вопросы но заданные датой позже. Несмотря на это вы всетоки на них отвечаете, это замечательно=)
У меня такой вопрос: я тут недавно очередной раз перетаскивая свой жесткий диск обнаружил, что между разьемом для шлейфа и разьемом для питания находится какаято "штука" у нее еше там одета какаято плосмаска (ну как понятно я разьясняюсь, аж в дрож кидает). Что это такое, с нетирпением жду ответа!

Ответ

Здравствуйте, Alex!
знач так
эта "штука" выбирает как диск установлен в системе
EIDE диски могут цеплятся два на разъем, а так как у тебя 2 EIDE контроллера на материнке то ты можешь поцепить 4 устройства(винта, сидюка).
Так вот... Если на одном шлейфе висят 2 устройства, то один из них-мастер, второй-слейв(slave)
На той "штуке" это пласмаской(ДЖАМПЕРОМ) и проставлено...
варианты выбора:
ONLY MASTER-одно устройство
МАSTER-мастер, может быть еще слейв
SLAVE-слейв, мастер может быть, а может и не быть(почти Гамлет:))
CABLE SELECT-выбирается кабелем, то есть как ты подстыкуешь, кабель немного должен быть нестандартным, а именноо с обрезаной одной жилой
Совет:
Никогда не цепляй сидюк и винт на один кабель, если этого возможно избежать!


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 176

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №1217

Здраствуйте эксперты!
Я читая FAQ очень часто встречаю идентичные вопросы но заданные датой позже. Несмотря на это вы всетоки на них отвечаете, это замечательно=)
У меня такой вопрос: я тут недавно очередной раз перетаскивая свой жесткий диск обнаружил, что между разьемом для шлейфа и разьемом для питания находится какаято "штука" у нее еше там одета какаято плосмаска (ну как понятно я разьясняюсь, аж в дрож кидает). Что это такое, с нетирпением жду ответа!

Ответ

Здравствуйте, Alex!
Ну и вопросик...ето джап, нужен для того чтоб устройство ставить
slave либо master либо cable select
понимаешь..на IDE контролер можно поставаить всего два девайса
один должен быть мастером другой рабом(slave)
cable select используют когда на контролере один девайс
чаще всего используется на WD'шных винтах...
а так просто мона и мастером поставить...


Отправил эксперт: змей
Эксперт отправил ответов (всего): 68

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №1217

Здраствуйте эксперты!
Я читая FAQ очень часто встречаю идентичные вопросы но заданные датой позже. Несмотря на это вы всетоки на них отвечаете, это замечательно=)
У меня такой вопрос: я тут недавно очередной раз перетаскивая свой жесткий диск обнаружил, что между разьемом для шлейфа и разьемом для питания находится какаято "штука" у нее еше там одета какаято плосмаска (ну как понятно я разьясняюсь, аж в дрож кидает). Что это такое, с нетирпением жду ответа!

Ответ

Здравствуйте, Alex!
Эта штука с пластмасской - перемычка
для настройки жесткого диска
в режим master
или slave.
Это надо для того,
что бы вы могли подключить к одному каналу два диска.


Отправил эксперт: ESE
Эксперт отправил ответов (всего): 3

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №1220

Прувет!!!
Не ну че за фигня в натуре???
тут недавно говорили шо асм ето рулез, а усе остальное батва
типа кал...(KOL) не, я не против асма и даже за, но
это не значит шо нельзя сляпать вирь на паскле или даже на яве..конечно асм для етого лучше подходит, но ето не значит что остальное в заднице...и все такое..
да и на паскале не плохой вирь мона сляпать
во...ща сяду и придумаю..

Ответ

Здравствуйте, Змей!

Можно, а кто бы спорил? И на командном языке писали. Ну и что это доказывает?


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 34

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Подписаться на рассылки

Рассылки Subscribe.Ru
Ассемблер? Это просто! Учимся программировать
Ассемблер? Это просто! Учимся программировать (FAQ)

Форма подачи вопроса

ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!

Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

Прилагаемая программа (если необходимо):


Регистрация в качестве эксперта

Архив выпусков


Ведущий рассылки,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

______________

По вопросам сотрудничества, рекламы и спонсорства обращайтесь:

  1. Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
  2. Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
  3. Издание книги (спонсорство): Sponsor@Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

В избранное