- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7_整数运算
双操作数 格式: IMUL r16, r/m16 IMUL r16, imm8 IMUL r16, imm16 IMUL r32, r/m32 IMUL r32, imm8 IMUL r32, imm32 功能:两个操作数相乘,结果存到第一个操作数中 如果第一个操作数存不下结果,OF、CF置位。 三操作数 格式: IMUL r16 , r/m16,imm8 IMUL r16 , r/m16,imm16 IMUL r32 , r/m32,imm8 IMUL r32 , r/m32,imm32 功能:第二、三两个操作数相乘,结果存到第一个操作数中 如果第一个操作数存不下结果,OF、CF置位。 IMUL 应用举例 Mov al, -4 Mov bl, 4 IMUL bl ;AX=0FFF0H,CF=0 Mov ax, 30h Mov bx, 4h IMul bx ;DX:AX =0C0H,CF=0 7.3.3 乘法操作性能测试 书上提供了两种实现乘法的子程序(一种是通过移位来实现乘法,另一种是通过标准的MUL和IMUL指令来实现乘法),并测试两个子程序的运行时间,测试结果表明两个子程序运行时间(在较老的CPU上)有较大差异 学习汇编语言,需要关注这类差异。 自己阅读教材上的源程序 7.3.4 无符号除法指令DIV 实现整除运算,结果包括两项:一项为商,一项为余数。 格式 DIV r/m8 AX / op8 = AL(商) …AH(余数) DIV r/m16 DX:AX/op16 = AX…DX DIV r/m32 EDX:EAX/op32=EAX…EDX DIV 应用举例 Mov ax,83h Mov bl ,2h DIV bl ;AL =41H,AH=1 Mov dx , 0 Mov ax ,8003h Mov cx , 100h DIV cx ;AX=080H,DX=3h 7.3.5 有符号整数除法IDIV 有符号除法和无符号除法的用法基本相似。但要注意的是在进行除法操作前往往要进行符号扩展 符号扩展指令 共有三条符号扩展指令,其操作数在指令中不给出,均为隐含的寄存器 CBW 将AL符号扩展到AX CWD 将AX符号扩展到DX:AX CDQ 将EAX符号扩展到EDX:EAX IDIV 应用举例 Mov AL,-48 Mov bl ,5 cbw IDIV bl ;AL =-9,AH=-3 Mov ax ,-5000 Mov cx , 256 cwd IDIV cx ;AX=-19,DX=-136 除法溢出 在做除法时,如果商太大,目的操作数无法容纳,则会置位溢出位(OF) 当溢出发生时会引发一个中断 当除数为0时,也会引发中断,通常在做除法操作前,需要判断除数是否为0 除法应用举例 任意进制的码制转换 .data ASCIICHAR BYTE 0123456789ABCDEFGHIJKLMNOPQRSTUVWZYX .code ToASC PROC uses eax ebx ecx esi ;将EAX中的数按BL中的值为进制数,转换成ASCII字符串放到ESI指向的数组中 mov ecx , 0 mov cl , bl add esi , 32 nxt_ta: mov edx , 0 div ecx mov bl,ASCIICHAR[edx] mov [esi],bl dec esi cmp eax , 0 jnz nxt_ta ret ToASC ENDP “高级语言的算术表达式生成的汇编代码”例子见教材 7.4 扩展加法和减法 问题:要实现两个1024位的整数相加减,如何实现? IA-32中有两条方便实现上述功能的指令 ADC 带进位加(Add With Cary) SBB 带借位减(Subtract With Borrow) 7.4.1 ADC 功能:将两个操作数与进位位一起相加,结果存放到目的操作数中。与ADD指令的差别就是在加的时候,包含了进位位(CF)的值一起相加。 格式与ADD相同 扩展加法的例子 ExtAdd PROC pushad clc L1: mov eax,[esi] adc eax ,[edi] pushfd mov [ebx], eax add esi ,4 add edi ,4 add ebx , 4 popfd l
您可能关注的文档
- 6第十章 齿轮传动.ppt
- 7.3纯扭构件承载力计算.ppt
- 7.3数字控制器的直接设计1ppt.ppt
- 7.29思索未来年中会.ppt
- 7.4 氨基酸测定.ppt
- 7.4 积分和微分电路.ppt
- 7.5生活用电常识复习.ppt
- 7.GrADS软件介绍5.pptx
- 7.商品检验与报关实务.ppt
- 7.3.齿轮传动.ppt
- 半导体二极管及其应用习题解答.. .pdf
- 卫生法律法规题库及答案2021免费 .pdf
- 口腔医学技术(师)-口腔医学技术(师)相关专业知识综合练习(精选试题).pdf
- 人音版小学三年级下册音乐精品教案()(最全).doc
- 5、心理健康教育讲座、活动资料(最全).doc
- 【42页精品】湘教版三年级下册音乐教案(最全).doc
- 人音版《小学音乐 六年级下册》全套教案、说课稿(最全).doc
- 浙江省杭州市北斗联盟2024-2025学年高一上学期期中联考历史试题含答案.pdf
- 贵州省九师联盟2024-2025学年高二上学期11月联考生物试题含答案.pdf
- 湖北部分普通高中联盟2024年高一11月期中联考物理试卷含答案.pdf
最近下载
- 安顺《建筑信息模型(BIM)》建模练习4:复制功能与创建二层模型练习(5分,需辅导教师评阅).pdf VIP
- 会计职业生涯计划书格式.pdf VIP
- 设计比选文件.doc
- 子分部工程质量验收纪要GD424.xls VIP
- 2024-2025学年小学地方、校本课程川教版可爱的四川教学设计合集.docx
- 2024年爆破作业人员安全技术培训试题(及答案).pdf
- 2023年海南省中考历史试题卷(含答案解析)+2022年及2021年中考历史试卷及答案.docx
- KCP题库整理最新.docx VIP
- 24拱城控01:杭州市拱墅区城市建设发展控股集团有限公司公司债券2024半年度报告.PDF VIP
- 版劳动实践河北科学技术出版社三年级下册全册教案.pdf
文档评论(0)