数据的求和、求均

注:原博客账号密码丢失,故将本科期间的笔记搬运至此

在首地址为buf的内存中,连续存放者20个单字节无符号数,将它们相加,得到16位的结果,并将它存到首址为res的单元。请自行设计数据,比如设计它们为0~9及90~99,那么求和后的结果应为990(03DEH),继续求这批数据的平均值,最后将运算结果——和、商、余数分别存放到res1(字)和res2(字节)res3(字节)等3处
 

DATAS SEGMENT
    ;此处输入数据段代码
    buf db 0,1,2,3,4,5,6,7,8,9,90,91,92,93,94,95,96,97,98,99
   res1 dw ?
   res2 db ?
   res3 db ?  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
      ;宏 显示一个字符
dispchar macro char
         mov ah,2
         mov dl,char
         int 21h
         endm
    ;宏定义完成

    ;宏 显示字符串
dispmsg   macro message
          mov ah,9
          lea dx,message
          int 21h
          endm
    ;宏定义完成

    ;宏 显示十六进制数的四位
disphex   macro hexdata
          local disphex1
          push ax
          push bx
          push cx
          push dx
          mov bx,hexdata
          mov cx,0404h
disphex1: rol bx,cl
          mov al,bl
          and al,0fh
          call htoasc
          dispchar al
          dec ch
          jnz disphex1
          pop dx
          pop cx
          pop bx
          pop ax
          endm
    ;宏定义完成

    mov cx,lengthof buf
    mov bx,0h
    lea si,buf

again: 
    mov al,byte ptr [si]
    cbw 
    adc bx,ax

    inc si
    loop again

    mov word ptr res1,bx
    disphex bx
    mov ax,bx
    mov cl,lengthof buf
    div cl
    mov res2,al
    mov res3,ah
    disphex ax

    MOV AH,4CH
    INT 21H 

    ;子程序十六进制转ASCII
 HTOASC proc
        push bx
        mov bx,offset ASCII
        and al,0fh
        xlat ASCII
        pop bx
        ret
ASCII db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h
      db 41h,42h,43h,44h,45h,46h
HTOASC  endp    
CODES ENDS
    END START
--------------------- 
作者:D??? 
来源:CSDN 
原文:https://blog.csdn.net/qq_31424383/article/details/53319581 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值