lt415.asm

来自「汇编语言学习的资料希望对大家有很大的帮助啊!!」· 汇编 代码 · 共 60 行

ASM
60
字号
;教材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 + =
减小字号Ctrl + -
显示快捷键?