Здравствуйте, господа! Сильно не бейте, только начал изучать Ассемблер (по разсылке Калашникова). Вопрос такой, почему при выводе из буфера данные идут задом на перёд? Код (Text): CSEG segment org 100h Start: ; # Очистим экран mov ax,3 int 10h mov dx,'AB' mov bufik,dx mov ah,9 mov dx,offset bufik int 21h ; # Esc mov ah,10h int 16h cmp al,1Bh jz S_pressed jmp Start S_pressed: int 20h bufik dw 2,'$' CSEG ends end Start В bufik помещаю AB, а получаю ВА Как правильно выводить? желатильно на моём примере, так-как я "Зелёный"...
Я так понял, запара в этой строке: Код (Text): mov ah,9 mov dx,offset bufik int 21h Если так, то так: mov dx,'AB' mov bufik,dx. После этих команд по адресу [bufik] будет находиться содержимое dl, т.е. 'B', а по адресу [bufik+1] - dh, т.е. 'A'. Теперь понятно?) А вообще, совет - с такими вопросами на форум лезть не нужно. Разберись, как байты в памяти располагаются, прямой-обратный порядок и так далее. Это основы как бы) Да, ещё совет ламера начинающему) Тебе нужно раздобыть отладчик и прогонять в нём по шагам программы. Если бы ты так сделал, то увидел бы в чём дело. Отладчик весьма облегчит процесс изучения.