我需要从键盘输入名称,然后显示它们,每行一个。它们应该显示为前面有索引。例如,如果我输入名称elena和maria,则应该显示为1.elena 2.maria
我尝试添加一个计数器变量,但是当我尝试在DosBox中运行程序时出现了一些错误。有人能帮助我吗?下面是我的clean label,它正在输出名称:
lista:
mov dx, offset nume
print_names:
push dx
mov dl, 13 ; carriage return
mov ah, 02h
int 21h
mov dl, 10 ; linefeed
mov ah, 02h
int 21h
pop dx
mov dx, offset index
mov ah, 9
int 21h
inc byte ptr index
mov dx, offset nume
mov ah, 09h
int 21h
; (*)
add dx, 5 + 1
cmp dx, numePointer ; check if the current name is the last one
jb print_names
jmp bucla ; return to main loop
1条答案
按热度按时间kgsdhlau1#
添加正在破坏DX指针的名称显示!
为什么要在
proc
endp
之间添加代码?punct db '.' ,10, '$'
不需要10。应该是punct db '.$'
或更好,将其与 index 组合,如index db '?.$'
。更好的是,把换行符也和它结合起来: