Assembly 如何在EMU8086中动态打印消息
这是我的密码Assembly 如何在EMU8086中动态打印消息,assembly,emu8086,Assembly,Emu8086,这是我的密码 org 100h mov cx,5 loop1: call DISPLAY dec cx cmp cx,0 ja loop1 jmp Exit DISPLAY proc MOV AH,09 MOV DX, offset SCREEN INT 21h RET DISPLAY ENDP Exit: ret SCREEN DB 'Number 1','$' 这个代码
org 100h
mov cx,5
loop1:
call DISPLAY
dec cx
cmp cx,0
ja loop1
jmp Exit
DISPLAY proc
MOV AH,09
MOV DX, offset SCREEN
INT 21h
RET
DISPLAY ENDP
Exit:
ret
SCREEN DB 'Number 1','$'
这个代码将显示五次'Number1',但我想用以下方式打印屏幕
Number 1
Number 2
Number 3
Number 4
Number 5
我该怎么做??谢谢大家 您可以将行号的字符值与主消息连接起来:
org 100h
mov cx,5
loop1:
call DISPLAY
dec cx
cmp cx,0
ja loop1
jmp Exit
DISPLAY proc
MOV AH,09
MOV BX, offset SCREEN
MOV AL,CL
NEG AL
ADD AL,'0'+6
MOV [BX+7],AL
MOV DX,BX
INT 21h
RET
DISPLAY ENDP
Exit:
ret
SCREEN DB 'Number ',0x0A,0x0D,'$'
编辑: 这是一种更通用的形式,类似于
printf
函数并支持%d
和%s
(尽管此代码可能不安全!):
您可以将行号的字符值与主消息连接起来:
org 100h
mov cx,5
loop1:
call DISPLAY
dec cx
cmp cx,0
ja loop1
jmp Exit
DISPLAY proc
MOV AH,09
MOV BX, offset SCREEN
MOV AL,CL
NEG AL
ADD AL,'0'+6
MOV [BX+7],AL
MOV DX,BX
INT 21h
RET
DISPLAY ENDP
Exit:
ret
SCREEN DB 'Number ',0x0A,0x0D,'$'
编辑: 这是一种更通用的形式,类似于
printf
函数并支持%d
和%s
(尽管此代码可能不安全!):
在字符串中的
1
上放置一个标签并递增。在字符串中的1
上放置一个标签并递增。非常感谢@HamidRezaMehrabian,我还有最后一个问题。如果我们想在1号后面添加其他字符串,例如1号人物或2号人物。“我们能做点什么吗?”理论补充道,非常感谢你@HamidRezaMehrabian,我还有最后一个问题。如果我们想在1号后面添加其他字符串,例如1号人物或2号人物。“我们能做到吗?”理论补充到上面