加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

80x86汇编:求带符号数的平均值

(2019-04-09 15:16:07)
分类: 80x86
设在数据段中以BLOCK为首地址的存储区域中存放了16个单字节带符号数,
欲求出这16个数的平均值,并将结果存放到AVERAGE单元,
试设计实现这一功能的汇编语言程序段

做而论道回答如下,发布于:2013-03-24

DATA   SEGMENT
    BLOCK  DB  12, 0, -20, 45, -29, 36, 50, 0, 100, -100
           DB  37, -75, 25, -1, 0, 99
    ;这里任意存放 16 个带符号数(-128~+127)
    AVERAGE  DB  ?
DATA   ENDS
   
CODE   SEGMENT
    ASSUME  DS:DATA, CS:CODE
START:
    MOV   AX, DATA
    MOV   DS, AX
    XOR   AX, AX ;令AX=0
    LEA   SI, BLOCK
    MOV   CX, 16
_ADD:
    ADD   AL, [SI] ;累加
    ADC   AH, 0 ;加上进位
    INC   SI
    LOOP  _ADD

    MOV   BL, 16
    IDIV  BL ;带符号数除法
    MOV   AVERAGE, AL ;存放平均值

    MOV   AX, 4C00H
    INT   21H
CODE   ENDS
    END   START

说明:做而论道,是本博主在百度开博时用的网名。
在此处另起名为:黄渤之间,以纪念行走多年的地方。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有