55 lines
1.0 KiB
NASM
55 lines
1.0 KiB
NASM
; 实验5_2: 子程序设计二 - DX传参(字符串显示)
|
||
; 功能:显示以'$'结尾的字符串
|
||
; 入口参数:DX = 字符串地址
|
||
; 出口参数:无
|
||
; 作者:
|
||
; 日期:2026-05-14
|
||
|
||
DATAS SEGMENT
|
||
MSG1 DB 'Hello, World!$'
|
||
MSG2 DB 'Welcome to Assembly!$'
|
||
CRLF DB 0DH, 0AH, '$' ; 回车换行
|
||
DATAS ENDS
|
||
|
||
CODES SEGMENT
|
||
ASSUME CS:CODES, DS:DATAS
|
||
|
||
; 子程序:DISPLAY
|
||
; 功能:显示以'$'结尾的字符串
|
||
; 入口参数:DX = 字符串地址
|
||
; 出口参数:无
|
||
DISPLAY PROC
|
||
MOV AH, 09H ; DOS功能:显示字符串
|
||
INT 21H
|
||
RET
|
||
DISPLAY ENDP
|
||
|
||
; 子程序:NEWLINE
|
||
; 功能:输出回车换行
|
||
; 入口参数:无
|
||
; 出口参数:无
|
||
NEWLINE PROC
|
||
LEA DX, CRLF
|
||
MOV AH, 09H
|
||
INT 21H
|
||
RET
|
||
NEWLINE ENDP
|
||
|
||
START:
|
||
MOV AX, DATAS
|
||
MOV DS, AX
|
||
|
||
; 显示第一条消息
|
||
LEA DX, MSG1
|
||
CALL DISPLAY
|
||
CALL NEWLINE
|
||
|
||
; 显示第二条消息
|
||
LEA DX, MSG2
|
||
CALL DISPLAY
|
||
CALL NEWLINE
|
||
|
||
MOV AH, 4CH ; 程序退出
|
||
INT 21H
|
||
CODES ENDS
|
||
END START |