微机原理-第3章第4节.ppt

上传人:wuy****n92 文档编号:91102832 上传时间:2023-05-21 格式:PPT 页数:65 大小:233.50KB
返回 下载 相关 举报
微机原理-第3章第4节.ppt_第1页
第1页 / 共65页
微机原理-第3章第4节.ppt_第2页
第2页 / 共65页
点击查看更多>>
资源描述

《微机原理-第3章第4节.ppt》由会员分享,可在线阅读,更多相关《微机原理-第3章第4节.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本教案内容第3章 8086CPU指令系统1.汇编语言指令2.8086指令分类3.数据与转移地址的寻址方式4.数据传送类指令5.算术运算类指令6.逻辑运算类指令7.移位类指令8.标志位操作指令9.转移指令10.循环控制指令11.子程序调用返回指令12.中断调用返回指令13.字符串操作指令14.I/O输入输出指令15.其它指令16.宏指令3.5 算术运算类指令算术运算指令可以完成两个操作数的各种算术运算:加、减、乘、除及其BCD数运算的调整运算。属于这一类的指令有:ADD、ADC、SUB、SBB、NEG、CMP、INC、DEC、MUL、IMUL、DIV、IDIV、CBW、CWD、AAA、DAA、A

2、AS、DAS、AAM、AAD。它们又可以分成6个子类:3.5 算术运算类指令 只要ALU涉及到运算,就不能使用段REG;只要ALU涉及到运算,其运算结果会影响6个状态标志位。3.5 算术运算类指令一、加减法指令(一)加法指令(ADD、ADC)(Add byte or word/with carry)格式:ADD DST,SRC;(DST)(SRC)+(DST)ADC DST,SRC;(DST)(SRC)+(DST)(CF)SRC可以取立即数、通用寄存器和存储单元,DST可以取通用寄存器和存储单元,但SRC和DST不能同时取存储单元。3.5 算术运算类指令例如,设变量VAR1为字型变量,VAR2

3、为字节变量,则有ADD AX,56A0H;(AX)(AX)+56A0HADC VAR1,127FH;(VAR1)(VAR1)127FH(CF)ADC AX,BX;(AX)(AX)+(BX)(CF)ADD AX,VAR1;(AX)(AX)+(VAR1)ADD BX,VAR1DI;(BX)(BX)+(VAR1)+(DI))ADD BL,VAR2;(BL)(BL)+(VAR2)ADD BYTE PTR VAR1,AL;(VAR1的低位字节)(VAR1的低位)(AL)3.5 算术运算类指令ADD和ADC指令会正常影响PSW中的6个状态标志位:CF、AF、OF、SF、ZF和PF。例如,设(AX)125A

4、H,则执行ADD AX,78C6H后,(AX)8B00H,CF=0,AF=1,OF=1,SF=1,ZF=0,PF=1。3.5 算术运算类指令例3.2 设在DVAR开始的连续8字节中分别存放着两个数A和B(每个数为32位),求C=A+B,并将结果C放到DVARC开始的内存中。解:设这两个数分别为A=00127654H、B=00049821H,则在数据段中有变量定义语句:DVAR DD 00127654H DD 00049821HDVARC DD?3.5 算术运算类指令为完成双字相加运算,应该先利用ADD指令完成低位字的加法运算,再利用ADC指令完成高位字的带进位加法运算。这样在代码段中可以编写下

5、列程序,完成题目指定的说明:LEA DI,DVAR;MOV AX,4DI;取低位字到(AX)ADD AX,DI;低位字相加MOV WORD PTR DVARC,AX;保存结果的低位字MOV AX,6DI;取高位字到(AX)ADC AX,2DI;高位字相加(带进位)MOV WORD PTR DVARC+2,AX;保存结果的高位字3.5 算术运算类指令(二)减法指令(SUB、SBB)Subtract byte or word/with borrow 格式:SUB DST,SRC;(DST)(DST)(SRC)SBB DST,SRC;(DST)(DST)(SRC)(CF)指令中DST、SRC的说明与

6、ADD指令相同。3.5 算术运算类指令例如,设VAR1为字型变量,VAR2为字节变量,则有SUB AL,2CH;(AL)(AL)2CHSBB AX,BX;(AX)(AX)(BX)(CF)SUB AX,VAR1;(AX)(AX)(VAR1)SUB VAR1,2184H;(VAR1)(VAR1)2184HSBB DL,VAR2SI;(DL)(DL)-(VAR2)(SI)-(CF)3.5 算术运算类指令减法指令SUB和SBB指令会正常影响PSW中的6个状态标志位:CF、AF、OF、SF、ZF和PF。例如:MOV AX,1734H SUB AX,5566H执行后有(AX)=0C1CEH CF=1,AF

7、=1,OF=0,SF=1,ZF=0,PF=03.5 算术运算类指令例3.3 设DVAR1和DVAR2保存有双字数,求DVAR1DVAR2,并将结果保存在双字变量DVARR中。解:设在数据段中有变量定义语句:DVAR1 DD 78127654HDVAR2 DD 12349821HDVARR DD?3.5 算术运算类指令为完成双字相减运算,应该先利用SUB指令完成低位字的减法运算,再利用SBB指令完成高位字的带进位减法运算。这样在代码段中可以编写下列程序,完成题目指定的说明:MOV AX,DVAR1;取被减数的低位字到(AX)SUB AX,DVAR2;低位字相减MOV DVARR,AX;保存结果的低位字MOV AX,DVAR12;取被减数的高位字到(AX)SBB AX,DVAR22;高位字相减(带借位相减)MOV DVARR+2,AX;保存结果的高位字

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁