"Хорошо" же сейчас преподают ассемблер... Или ты "хорошо" слушаешь. Нет такой команды. Открой справочник интел/амд и убедишься. DB означает что Байт (B) после этой
директивы будет в исполняемом файле записан на текущем адресе так, как есть.
А теперь открываю справочник и цитирую:
Цитата:
DOS Fn 09H: Выдать строку на дисплей
Вход
AH = 09H
DS: DX = адрес строки, заканчивающейся символом '$' (ASCII 24H)
Выход
нет =
Описание:
строка, исключая завершающий ее символ '$', посылается на стандартный вывод. символы Backspace обрабатываются как в функции 02H Display Char. обычно, чтобы перейти на новую строку, включают в текст пару CR/LF (ASCII 13H и ASCII 0aH). строки, содержащие '$', можно выдать через 40H Write Handle (BX=0).
|
Что конкретно тут не понятно? В описании четко сказано. DS-BX - адрес. А у тебя DX перед выводом равен случайному значению, очевидно, что там лежит адрес какой-то дурацкой строки системы. И строка находится в сегменте кода, а не данных.