第四章 指令系统 - 重庆邮电大学计算机科学与技术学院.pptVIP

第四章 指令系统 - 重庆邮电大学计算机科学与技术学院.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 指令系统 - 重庆邮电大学计算机科学与技术学院

《微机原理与接口技术》 第四章 主讲:方义秋 寄存器间接寻址示意图: 例如:MOV AX,[BX] 若在实模式下(DS)=2000H,(BX)=1000H 物理地址=20000H+1000H=21000H。 指令执行前,(AX)=2030H,(21000H)=0A0H,(21001H)=50H, 指令执行后,(AX)=50A0H,(21000H)=0A0H,(21001H)=50H。 指令执行情况如下: (3)段间直接调用 格式:CALL FAR PTR 远过程名 说明:此过程用FAR属性定义在另一代码段中 (4)段间间接调用 格式:CALL 内存操作数 执行过程: 当CUP执行段间调用指令时, 将当前的CS和EIP(IP)压栈, 将目标的段基址和偏移量送给CS和EIP。 实例:见书P。57 (程序F4CALL.ASM) 例: MOV AX,9876H ;AX=9876H ADD AH,AL ;AX=0E76H,CF=1,SF=0,OF=0,ZF=0,AF=0,PF=0 ADC AH,AL ;AX=8576H,CF=0,SF=1,OF=1,ZF=0,AF=1,PF=0 见A.ASM MOV AX,9966H ;AX=9966H SUB AL,80H ;AL=E6H,CF=1,SF=1,OF=1,ZF=0,AF=0,PF=0 SBB AH,80H ;AX=18H,CF=0,SF=0,OF=0,ZF=0,AF=0,PF=1 例:(书P.46 )实现多字节二进制数的加法运算 (5)INC自加1指令 INC DEST ;DEST+1—— DEST 影响A,O,P,S,Z标志 (6)DEC自减1指令 DEC DEST ;DEST—1—— DEST 影响A,O,P,S,Z标志 (7)NEG自求补指令 NEG DEST ;0—DEST——DEST 影响A,C,O,P,S,Z标志 说明: 以上的目标操作数DEST,为8,16或32位的寄存器、内存操作数 用间址、基址、基址加变址的内存操作数,必须用PTR说明其长度。 例:INC [BX] ;错误 INC BYTE PTR [BX] ;对DS:[BX]1个单元的内容加1。 如果原来的操作数为正数,执行NEG后,变成负数(用补码表示) 如果原来的操作数为负数(用补码表示),执行NEG后,变成正数。 特例:DEST=80H,执行NEG后,仍为80H,但O标=1。 只有当DEST=0,执行NEG后,C标=0,其他数,C标总为1。 (8)XADD交换加法指令 XADD DEST,SRC 先进行DEST与SRC的互换,然后DEST+SRC—DEST。 (9)MUL无符号乘法指令 MUL SRC(reg,mem) 功能:完成无符号数的乘法,被乘数是累加器(AL、AX或EAX),乘以SRC。 字节乘时,AL * SRC → AX 字乘时,AX * SRC → DX:AX 双字乘时,EAX * SRC → EDX:EAX 说明:如果乘积的高阶字节(AH)、字(DX)、双字(EDX)是0,则C标和O标置0,否则,置1。 (10)IMUL有符号数的整数乘法 格式: ① IMUL SRC(reg、mem) ② IMUL DEST(reg),SRC(reg,mem,imm) ③ IMUL DEST(reg),SRC1(reg,mem),SRC2(imm) 功能:完成有符号数的乘法操作 ①与MUL指令相同 ②DEST * SRC →DEST寄存器中 ③SRC1 * SRC2 →DEST寄存器中 说明:默认其乘数、被乘数均为有符号数的补码 源、目操作数类型一致,乘积只取和目的操作数相同的位数,高位被舍去, 且CF=OF=1。 例: MOV BX,-6 IMUL BX,5 ;BX=FFE2H=-30 MOV EAX,32 IMUL EBX,EAX,4 ;则 EBX, ; EAX (11)DIV无符号除法 格式: DIV SRC(reg、mem) 功能:完成无符号数的除法,被除数是累加器(AX、DX:AX或EDX:EAX),除数是SRC。要求被除数是除数的两倍字长。根据除数SRC的字长,可执行: 字节除法:AX/SRC 商→AL,余数→AH; 字除法:DX:AX/SRC 商→AX,余数→DX; 双字除法:EDX:EAX/SRC 商→EAX,余数→EDX;

文档评论(0)

精华文库 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7111022151000002

1亿VIP精品文档

相关文档