Вопрос № 106197: Здравствуйте подскажите мне как в ассемблерной программе вывести на экран сообщение или содержание переменной...Вопрос № 106208: вот программка
:0102 MOV CX,0000
:0105 ADD AX,0001
:0108 LOOP 0105
если запустить ее в debuger число циклов будет 10000h=1h+(0-1h)
если запускать в AFDPRO и CodeView - цикл будет один.
так кто неверно работает с регистром CX -...Вопрос № 106215: Здравствуйте уважаемые эксперты! Недавно начала изучать ассемблер. Заинтересовал следующий вопрос:
Зачем в ассемблере по команде pusha в числе занесенных в стек регистров заносится регистр sp (регистр указателя стека) причем используется значени...Вопрос № 106271: Здравствуйте уважаемые эксперты! я уже задавал вопрос по поводу вызова резидента по сочетанию клавиш №106176. Так вот резидент вызывается, но не с первого раза. приходится несколько раз нажимать CTRL+Y. Подскажите пожалуйста в чем ошибка?(программа в...
Вопрос № 106.197
Здравствуйте подскажите мне как в ассемблерной программе вывести на экран сообщение или содержание переменной
Отвечает: Овчинников Алексей
Здравствуйте, Мишаков Максим!
Приложение под Fasm 1.67.14
Приложение:
--------- Любая задача имеет бесконечное множество решений
Ответ отправил: Овчинников Алексей (статус: 2-ой класс)
Ответ отправлен: 20.10.2007, 23:06
Вопрос № 106.208
вот программка
:0102 MOV CX,0000
:0105 ADD AX,0001
:0108 LOOP 0105
если запустить ее в debuger число циклов будет 10000h=1h+(0-1h)
если запускать в AFDPRO и CodeView - цикл будет один.
так кто неверно работает с регистром CX - debugger или Afdpro и
codeview?
Отвечает: Овчинников Алексей
Здравствуйте, Соболев Юрий Вячеславович!
debugger работает правильно.
команда loop, сначала вычитает из регистра cx
единицу, потом сравнивает его с нулём.
--------- Любая задача имеет бесконечное множество решений
Ответ отправил: Овчинников Алексей (статус: 2-ой класс)
Ответ отправлен: 20.10.2007, 23:13
Вопрос № 106.215
Здравствуйте уважаемые эксперты! Недавно начала изучать ассемблер. Заинтересовал следующий вопрос:
Зачем в ассемблере по команде pusha в числе занесенных в стек регистров заносится регистр sp (регистр указателя стека) причем используется значение которое находилось в этом регистре до начала работы команды ?...
Заранее спасибо!
Отправлен: 21.10.2007, 00:59
Вопрос задала: 8strange10 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, 8strange10!
Регистр ESP или SP (указатель стека) является регистром общего назначения Команда: PUSHA|PUSHAD Назначение: Поместить в стек все регистры общего назначения.
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 24.10.2007, 12:53 Оценка за ответ: 1 Комментарий оценки: Ответ бесполезен. спрашивалось не что делает команда PUSHA, а зачем помещать в стек указатель стека и по возможности как его использовать..
Вопрос № 106.271
Здравствуйте уважаемые эксперты! я уже задавал вопрос по поводу вызова резидента по сочетанию клавиш №106176. Так вот резидент вызывается, но не с первого раза. приходится несколько раз нажимать CTRL+Y. Подскажите пожалуйста в чем ошибка?(программа в приложении) Резидент должен обязательно обрабатывать скэн-код до системного обработчика и после передавать ему управление. Или так не возможно решить эту проблему?
Приложение:
Отправлен: 21.10.2007, 16:15
Вопрос задал: Lammer (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Lammer!
На момент первого запуска обработчика ячейки которые Вы используете не заполнены. Их заполняет системный обработчик вызываемый Вами в конце.
Вот и получается:
- первый раз при нажатии клавиш Ваш обработчик отработал с пустыми ячейками, вызвал системный обработчик который заполнил ячейки;
- второй раз при нажатии клавиш Ваш обработчик работает с данными полученными в первый раз.
Вам нужно после метки М2: добавить вызов системнного обработчика.
M2:pushf;сохраняем флаг
call dword ptr old_09;вызываем обработчик
. . .
Удачи!
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 24.10.2007, 11:29 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ! Более четкого ответа и не могло быть.