用于打印新行字符串的汇编代码

时间:2015-06-13 12:59:32

标签: assembly x86 dos

我有一个汇编代码来打印(显示)一个字符串。我的问题是我无法将两个字符串打印到不同的行!

.MODEL SMALL 
.STACK 100H

.DATA
MSG1 DB 'Fun $'
MSG2 DB 'Day!$'
.CODE 
MAIN PROC
MOV AX, @data
MOV DS, AX 

LEA DX,MSG1
MOV AH,9
LEA DX,MSG2
MOV AH,9

INT 21H 

MOV AH,4Ch 
INT 21H

MAIN ENDP
END MAIN

输出应该是:

Fun 
Day!

但在结果中:

Day!

帮帮我!

1 个答案:

答案 0 :(得分:2)

您错过了第一部分的INT 21H来电,这就是为什么只打印第二部分的原因。至于这两行,只需在你的字符串中附加一个CR LF即可。您也可以一次打印整个内容,例如:

.MODEL SMALL 
.STACK 100H

.DATA
MSG DB 'Fun', 10, 13, 'Day!$'
.CODE 
MAIN PROC
MOV AX, @data
MOV DS, AX 

LEA DX,MSG
MOV AH,9
INT 21H

MOV AH,4Ch 
INT 21H

MAIN ENDP
END MAIN