Показать сообщение отдельно
  #19  
Старый 07.01.2013, 21:07
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Открыл, нашел за 50 секунд. При том, что я эту книгу вообще в первый раз вижу. Раздел так и называется: "Вывод на экран в текстовом режиме":
Цитата:
Раздел 4.3
Функция DOS 09h — Записать строку в STDOUT с проверкой на Ctrl-Break

Ввод: АН = 09h
DS: DX = адрес строки, заканчивающейся символом $ (24h)
Вывод: Никакого, согласно документации, но на самом деле: AL = 24h (код последнего символа)

Действие этой функции полностью аналогично действию функции 02h, но выводится не один символ, а целая строка, как в программах hello-1.asm и hello-2.asm.

То же, что и в справочнике. И код в исходниках прилагается. Так что не надо на авторов все валить.
Цитата:
Я не вижу в своём примере регистр dx
Естественно, его там нет. Так что в нем будет находиться то, что было ДО старта программы, то есть любой бред, кроме адреса нужной строки.
И как я уже сказал, строка должна быть в сегменте данных. .data.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием