38 lines
981 B
NASM
38 lines
981 B
NASM
; 实验5_1: 子程序设计一 - 寄存器传参(两个16位数相加)
|
||
; 功能:完成两个16位数的相加
|
||
; 入口参数:AX, BX
|
||
; 出口参数:AX(结果)
|
||
; 作者:
|
||
; 日期:2026-05-14
|
||
|
||
DATAS SEGMENT
|
||
A DW 1234H ; 第一个加数
|
||
B DW 5678H ; 第二个加数
|
||
RESULT DW ? ; 结果存储单元
|
||
DATAS ENDS
|
||
|
||
CODES SEGMENT
|
||
ASSUME CS:CODES, DS:DATAS
|
||
|
||
; 子程序:ADD_PROC
|
||
; 功能:完成两个16位数的相加
|
||
; 入口参数:AX = 第一个数, BX = 第二个数
|
||
; 出口参数:AX = 相加结果
|
||
ADD_PROC PROC
|
||
ADD AX, BX ; AX = AX + BX
|
||
RET ; 返回调用点
|
||
ADD_PROC ENDP
|
||
|
||
START:
|
||
MOV AX, DATAS
|
||
MOV DS, AX
|
||
|
||
MOV AX, A ; 第一个数送AX
|
||
MOV BX, B ; 第二个数送BX
|
||
CALL ADD_PROC ; 调用子程序完成相加
|
||
MOV RESULT, AX ; 保存结果到RESULT单元
|
||
|
||
MOV AH, 4CH ; 程序退出
|
||
INT 21H
|
||
CODES ENDS
|
||
END START |