汇编程序:用宏指令计算

【任务】
  编程序宏定义和宏调用计算数组中所有元素之和。
  编写的宏定义SUMMING,功能为求出字数组中所有元素之和,并把结果保存下来。该宏定义的哑元为数组首址ARRAY、数组长度COUNT和结果存放单元RESULT。
  数据已经如下给出:

.data 
A1 dw 2345, 7865, 3219, 849,876
R1 dw ?
A2 1,2,3,4,5,6,7,8,9
R2 dw 2

  要求求出A1数组中5个元素之和,存储在R1中,求出A2数组中9个元素之和,存储在R2中。

【参考解答】

.8086
.MODEL small
.data
.data
   A1 dw 2345, 7865, 3219, 849,876
   R1 dw ?
   A2 dw 1,2,3,4,5,6,7,8,9
   R2 dw 2
.stack 100H
.code
cal macro array, count, result  ;宏定义
  local beg
  mov ax, 0
  lea si, array
  mov cx, count
beg:
  add ax, [si]
  inc si
  inc si
  loop beg

  mov result, ax

endm

start:
   mov ax,@data
   mov ds,ax

   cal A1, 5, R1  ;宏调用
   cal A2, 9, R2

 stop: mov ax,4c00h
       int 21h
end start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迂者-贺利坚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值