牛骨文教育服务平台(让学习变的简单)
博文笔记

编写宏定义summing,要求求出双字数组中的所有元素之和,并把结果保存下来。

创建时间:2007-12-07 投稿人: 浏览次数:1343

;author:野渡无人
;creat date:2007-12-7

;编写宏定义summing,要求求出双字数组中的所有元素之和,并把结果保存下来。
;该宏定义的哑元为数组首地址array,数组长度count和结果存放单元result。
;***************************************************
summing macro array,count,result
       local next

       push cx
       push ax
       push di
     
       mov  ax,0
       mov  di,0
       mov  cx,count
 next:
       add  ax,array[di]
       add  di,2

       loop next

       mov  result,ax
      
       pop  di
       pop  ax
       pop  cx

       endm
;**************************************************
data segment
     res  dw 2 dup(?)
     arry dw 0,1,2,3,4,5,6,7,8,9
     brry dw 1,2,3,4,5,6,7,8,9,11,12,13,14,15
     cnt  dw 10,14
     data ends
;**************************************************
prog segment
;--------------------------------------------------
main proc far
     assume cs:prog,ds:data
start:
     push ds
     sub  ax,ax
     push ax

     mov  ax,data
     mov  ds,ax

     summing arry,cnt,res

     summing brry,cnt+2,res+2

     ret
main endp
;-------------------------------------------------
prog ends
;*************************************************
     end start
 

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。