想要回答这个8086汇编代码和值吗?

时间:2014-12-13 14:10:48

标签: assembly x86

我正在尝试创建一个在程序集8086中显示它的程序:

First Name: Nada
last Name: masoud

我需要知道如何为姓氏添加新行:masoud

org 100h

mov   ax,0b800h
mov   ds,ax 

linefeed db 13, 10, "$"

mov [02h], 'F'
mov [04h], 'i'
mov [06h], 'r'
mov [08h], 's'
mov [0ah], 't'
mov [0ch], ' '
mov [010h], 'N'
mov [012h], 'a'
mov [014h], 'm'
mov [016h], 'e'
mov [018h], ':'
mov [01ah], 'N'
mov [01ch], 'a'
mov [01eh], 'd'
mov [020h], 'a'

mov ah, 09
mov dx, offset linefeed
int 21h

mov   ax,0b800h
mov   ds,ax
mov [0a2h], ' '
mov [04h], 'a'
ret

1 个答案:

答案 0 :(得分:0)

一个。您需要完全删除此行,因为它不包含可执行代码,因此会导致程序崩溃!

linefeed db 13, 10, "$" 

湾你注意到你跳过了一个地址吗?

mov [0ch], ' '
mov [010h], 'N'

℃。要求DOS做换行在这里没用,因为你直接写在视频内存中。这些线路松散了。此外它仍然会失败,因为DS没有指向程序本身!

mov ah, 09
mov dx, offset linefeed
int 21h

d。继续这个序列...

mov [0A2h], 'l'
mov [0A4h], 'a'
mov [0A6h], 's'
mov ..........