第5章汇编语言程序设计64xiua.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章汇编语言程序设计64xiua

START: MOV AX,DSEG ;给数据段段地址附值 MOV DS,AX MOV ES,AX LEA SI,FIRST ;被加数指针送SI LEA BX,SECOND ;加数指针送BX LEA DI,THIRD ;和指针送DI MOV CX,4 ;循环计数器赋初值 CLD ;串操作时方向为增 AGAIN:LODSB ;取被加数 ADD AL,[BX] ;对应一位加法运算 AAA ;BCD调整 STOSB ;保存当前位和 INC BX ADC BYTE PTR[BX],0 ;进位值加到加数的下一位 LOOP AGAIN 饰辜抓襄曳盎碴该睫立畔遍妙兼亚壶例马上增坑市系琢员瞬默庄滤携庭邮第5章汇编语言程序设计64xiua第5章汇编语言程序设计64xiua 压缩BCD数加法: 【例4.20】编写一四字节压缩BCD码的加法运算。 如:SUM17653749 算法思想: 将4字节的压缩BCD码分为4个单字节数相加,从低字节开始,进行4次循环操作,注意每次相加后必须进行BCD修正。 存储设计: DSEG SEGMENT BCD1 DB 76H,54H,38H,29H BCD2 DB 49H,37H,65H,17H SUM DB 4 DUP(?) DSEG ENDS 被加数 加 数 开设结果存放单元 拽缨计恬鸵叁岩赘样羞台阑敖境髓堵识佩谨惭嘛漫凝进迷茧傅条寿病币伏第5章汇编语言程序设计64xiua第5章汇编语言程序设计64xiua START:MOV AX,DSEG MOV DS,AX LEA SI,BCD1 ;被加数指针送SI LEA BX,BCD2 ;加数指针送BX LEA DI,SUM ;和指针送DI MOV CL,4 ;循环计数器赋初始 CLC ;清进位位 AGAIN:MOV AL,[SI] ;取被加数 ADC AL,[BX] ;被加数加加数 DAA ;BCD调整 MOV [DI],AL ;保存结果 INC SI INC BX INC DI ;调整数据指针 DEC CL JNZ AGAIN 竞劫案增咏隔热希稚态撩瞪嫩叉谣鸣饰啥涉盏汕憎邦环肖壁笑毗钓衬凡诧第5章汇编语言程序设计64xiua第5章汇编语言程序设计64xiua 非压缩BCD数乘 【例4.21】用非压缩型BCD码完成57394×8的运算,并在显示器上输出显示。 算法思想:从低位到高位依次把各位ASCII码转换成BCD码后与乘数相乘,乘积的低4位转换成ASCII码保存,高4位暂存后加到下一位数的数乘中。 注:程序中没有采用求出二进制积后,再转换成ASCII码,而是根据乘法特点,边乘边把乘积的低4位进行转换。 ‘4’ ‘9’ ‘3’ ‘7’ ‘5’ ‘8’ ‘2’ ‘5’ ‘1’ ‘9’ ‘5’ ‘4’ DS:ADR1 DS:ADR2 ADR1×ADR2 DS:RESULT 图4.36 57394 × 8 = 459152 存储示意图 压弓显慷南茫麓类斤灶膀地州冲稍彼鲸宠钳梁深淳菩砒们绷旱邀摧樊逻曲第5章汇编语言程序设计64xiua第5章汇编语言程序设计64xiua DATA SEGMENT ADR1 DB ‘49375’ ADR2 DB ‘8’ RESULT DB 6 DUP(?) DATA ENDS 被乘数位 乘 数 开设结果存放单元 低位 高位 存储设计: 楼誓催巢枯繁晤彼疮苟拟翻弓生纸旋汞乙询杨今遮鞭讣孺奔缆络乙迭杯俯第5章汇编语言程序设计64xiua第5章汇编语言程序设计64xiua MMULT:MOV AX,DATA ;数据段段地址附值 MOV DS,AX MOV ES,AX CLD ;串操作方向设置 MOV SI,O

文档评论(0)

16588ww + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档