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
您可能关注的文档
- 单位工程竣工技术资料四大部分组成文件清单讲义.doc
- 单位工程施工质量技术交底脚手架搭设-1010讲义.doc
- 7A+Unit+4+My+day+reading课件综述.ppt
- 7AStarterLesson1综述.ppt
- 77网络计划-20,22综述.ppt
- 7Au6课件复习综述.ppt
- 7Aunit3复习课件综述.ppt
- 7AUnit7Shopping.课时练习综述.doc
- 单位工程验收鉴定书(水土保持)讲义.doc
- 7.生物医学传感-压电式综述.ppt
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
最近下载
- Dräger德图呼吸机Oxylog 3000 plus用户手册.pdf
- 零售业销售数据分析方法与应用.docx VIP
- 会计信息系统:财务篇 教案全套 宋红尔 第1--9章 系统管理---UFO报表.docx
- 个体化音乐干预减轻腹腔镜手术病人术前焦虑的研究.pdf VIP
- 精品解析:黑龙江省哈尔滨市德强高级中学2023-2024学年高一下学期开学验收考试数学试题(解析版).docx VIP
- GB50108–2024《地下工程防水技术规范》.pptx VIP
- 2023年上海初三语文一模试题说明文阅读汇编含答案.doc VIP
- 2025年福建省中考物理试卷(附答案解析).docx VIP
- Specialized English for Medical Imaging Technology医学影像 技术专业英语.pptx VIP
- 改建工程路面结构设计毕业设计.doc VIP
原创力文档

文档评论(0)