Вопрос № 181264: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Имеется программный эмулятор устройства ввода-вывода NTVDM. Необходимо с произвольного адреса, с опросом флага готовности, записать в устройство блок данных. Среда вып...
Вопрос № 181264:
Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Имеется программный эмулятор устройства ввода-вывода NTVDM. Необходимо с произвольного адреса, с опросом флага готовности, записать в устройство блок данных. Среда выполнения: DOS 6.22 или выше TASM 5.0 Модель памяти SMALL
Отправлен: 12.12.2010, 23:10
Вопрос задал: katbka (Посетитель)
Всего ответов: 1 Страница вопроса »
Отвечает Лысков Игорь Витальевич (Старший модератор) :
Здравствуйте, katbka! Что-то типа такого?
Код:
.MODEL SMALL .386 .STACK 200h .DATA block db 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
.CODE ENTRY_POINT: mov ax, @DATA mov ds, ax
mov
DX, 0302h ;регистр управления mov AL, 00001001h ;разрешаем устройство и включаем автоинкримент при записи out DX, AL call WAIT ;ожидаем готовность устройства
mov DX, 0301h ;регистр адреса mov AL, 10h ;будем писать с адреса 10h out DX, AL call WAIT ;ожидаем готовность устройства
lea si, block ;адрес передаваемого блока mov cx, 10h ;количество mov DX, 0300h ;регистр данных copy_loop: lodsb ;читае
м очередной out DX, AL call WAIT ;ожидаем готовность loop copy_loop ;по всем
mov AX, 4C00h int 21h
;Wait while device busy - bit F WAIT: mov DX, 303h ;регистр состояния WAIT_LOOP: in AL, DX test AL, 01h ;ждем 1 jz WAIT_LOOP ret
END ENTRY_POINT
Мда, забавный эмулятор. Чего только не придумают, чтобы замутить голову студентам
----- Люби своего ближнего, как самого себя
Ответ отправил: Лысков Игорь Витальевич (Старший модератор)
Ответ отправлен: 13.12.2010, 16:33
Номер ответа: 264719 Украина, Кировоград Тел.: +380957525051 ICQ # 234137952 Mail.ru-агент: igorlyskov@mail.ru
Оценка ответа: 5
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 264719
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.