【问题标题】:Assembly code to print a new line string用于打印新行字符串的汇编代码
【发布时间】:2015-06-13 12:59:31
【问题描述】:

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

.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!

帮帮我!

【问题讨论】:

    标签: assembly x86 dos


    【解决方案1】:

    您错过了第一部分的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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      相关资源
      最近更新 更多