STACKS SEGMENT STACK
DW 200H DUP(?)
TOP LABEL WORD
STACKS ENDS --定义栈大小
DATAS SEGMENT
ARY DW 123,-54,267,251,55,9 --定义一串数字
COUNT EQU ($-ARY)/2 --表示ARY串的changdu
SUM DW ? --定义SUM变量存放累加和
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODE,SS:STACKS,DS:DATAS
MAIN PROC NEAR
MOV BX,OFFSET ARY --ARY的首地址传入BX
PUSH BX --BX进栈
MOV BX,COUNT --COUNT的值送入BX
PUSH BX --BX进栈
MOV BX,OFFSET SUM --SUM的首地址传入BX
PUSH BX --BX进栈
CALL PROADD --调用子程序PROADD
INT 20H
MAIN ENDP
PROADD PROC NEAR
PUSH BP --保存现场
MOV BP,SP
【汇编程序】通过堆栈传递参数方法,完成将ARY为首地址的COUNT个字数据累加,不考虑溢出,并将结果保存在SUM中。
最新推荐文章于 2022-06-05 21:36:54 发布
本文介绍了如何在汇编语言中通过堆栈传递参数,以ARY为首地址的COUNT个字数据进行累加,并将结果保存在SUM变量中。详细解析了栈的工作原理,包括初始栈状态、调用子程序时的栈操作,以及如何利用BP寄存器作为基准地址来访问ARY、COUNT和SUM的值。

最低0.47元/天 解锁文章
2212

被折叠的 条评论
为什么被折叠?



