;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