📄 lt415.asm
字号:
;教材P129 例4.15
;计算有符号数的平均值。
;入口参数用堆栈传递,出口参数用寄存器AX传递。
;要计算16位有符号数的和,被加数一定要进行符号扩展。
.model small
.stack
.data
array dw 1234,-1234,1,1,-1,32767,-32768,5678,-5678,9000;平均值=900
count equ ($-array)/2 ;数据个数
wmed dw ?
.code
.startup
mov ax,count
push ax
mov ax,offset array
push ax
call mean
add sp,4
mov wmed,ax
.exit 0
;***********************************
mean proc
push bp
mov bp,sp
push bx
push cx
push dx
push si
push di
mov bx,[bp+4]
mov cx,[bp+6]
xor si,si
mov di,si
mean1: mov ax,[bx]
cwd
add si,ax
adc di,dx
inc bx
inc bx
loop mean1
mov ax,si
mov dx,di
mov cx,[bp+6]
idiv cx ;商在AX,余数在DX
pop di
pop si
pop dx
pop cx
pop bx
pop bp
ret
mean endp
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -