![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.03.2011
Сообщений: 22
|
![]()
Подскажите пожалуйста, ситуация такова, я выполнил некторые операции, в своей программе, с помощью ассемблерных вставок,и передо мной стоит задача теперь вывести содержимое некоторых регистров на экран, с помощью каких команд я могу это выполнить?
|
![]() |
![]() |
![]() |
#2 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
![]()
Все локальные переменные созданные в С++ коде, можно использовать в ассемблерной вставке. Например вот так:
Код:
"Тяжело в учении, легко в бою" - А.В. Суворов
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.03.2011
Сообщений: 22
|
![]()
Можно ли сделать так, что я объявляю некоторую переменную в самой программе, а потом с помощью ассемблерной вставки заношу данные из некоторого регистра в эту переменную? Например есть переменная x и регистр СН, в котором нужное мне число, вряд ли я смогу написать
mov x, CH как быть? попробую, спасибо большое Последний раз редактировалось Stilet; 05.08.2011 в 20:04. |
![]() |
![]() |
![]() |
#4 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
![]()
Да запросто. Вот только с косвенными обращениями получается не очень. Хотя я на ассемблере( в особенности встроенном в MSVC) писал очень давно, может позабыл чего да как, тем не менее вот это вполне рабочее решение, разве что для косвенной адресации отдельный регистр используется, с адресом как-то не получилось.
Код:
"Тяжело в учении, легко в бою" - А.В. Суворов
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
![]() Код:
Цитата:
Код:
Последний раз редактировалось coNsept; 04.08.2011 в 01:51. |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 18.03.2011
Сообщений: 22
|
![]()
Спасибо большущее, но тут вот такая проблема, мне пишут следующее: "Invalid combination of opcode and operands".
PHP код:
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
![]() Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 18.03.2011
Сообщений: 22
|
![]()
Возникает такая ситуация, что выводит в переменную buffer непонятно что(((
PHP код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
ah он 8-битный какбе
надо ax или eax юзать. Код:
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 18.03.2011
Сообщений: 22
|
![]()
Спасибо, а можно тогда задать следующий вопрос
Обработчик прерывания BIOS от системного таймера (Int 8) подсчитывает количество прерываний (каждые 55 мсек или 18,2 раза в секунду) в двойном слове памяти с адресом 0040h:006Сh. Данная функция возвращает накопленное значение (двоичный код) и сбрасывает его в 0. В регистре AL возвращается 0, если содержимое счетчика не превысило значения, соответствующего 24 часам (при достижении этого значения счетчик сбрасывается), иначе возвращается AL = 1. Вызов: АН = 00h. Возврат: СХ:DX – число тактов системного времени от полуночи, AL – флаг перехода через сутки. Примеры возвращаемых значений в СХ:DX: 1 сек 12h или 18, 1 минута 04 44h или 1092, 1 час 1 00 07h или 65543, 24 часа 18 00 B0h или 1 573 040. Для задержек меньших 14 секунд можно пользоваться только младшим байтом регистра DX B данном примере установлена задержка на 5 секунд, что соответствует 91 отсчету таймера .......... Код:
Правильно ли я понимаю, что если вставить следующий элемент в программу, то следующие за ним команды выполнятся только через 5 сек? И ещё при компиляции выскакивает ошибка мол "Undefined label "repeat"." |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ассемблер | farxad | Помощь студентам | 6 | 11.09.2016 14:19 |
Ассемблер | SWEET_15 | Помощь студентам | 3 | 06.09.2016 08:45 |
ассемблер | klim_666 | Фриланс | 5 | 29.12.2010 14:52 |
Ассемблер | Александе еть я | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 13 | 14.05.2010 13:52 |