80*86汇编语言程序设计 第2版 作者 马力妮 第3章 80x86 指令系统和寻址方式.pptVIP

80*86汇编语言程序设计 第2版 作者 马力妮 第3章 80x86 指令系统和寻址方式.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文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 【例3-58】设:AL=8 执行 SAR AL,1;后AL =4 设:AL= —120 执行 SAR AL,1;后ALB= —60 【例3-59】利用移位指令编写 X=X×10 的程序功能块 设X为字变量。 MOV BX,X ;数→BX SHL BX,1 ;逻辑左移一位X×2 MOV AX,BX ;2×X→AX 保存 SHL BX,1 ;BX=X×2×2=X×4 SHL BX,1 ;BX=X×4×2=X×8 ADD BX,AX ;BX=X×8+X×2=X×10 【例3-60】利用移位指令编写 32位数X×4的程序功能块。 MOV EAX,X ;数X→EAX SHL EAX,2 ;EAX=X×4 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 需要注意的问题: 1)目的操作数为隐含操作数,该操作数只能是AL (8位×8位)/AX(16位×16位)/EAX(32位×32位)乘源操作数,结果送目的操作数AX (8位×8位)/DX:AX(16位×16位)/EDX:EAX(32位×32位)。 即:隐含目的操作数 DST 为寄存器 AL (8位×8位) AX(16位×16位) EAX(32位×32位) 隐含乘积存放在:AX (8位×8位) DX:AX(16位×16位) ;高字存放在DX中, 低字存放在AX中。 EDX:EAX(32位×32位) ;高双字存放在EDX中, 低双字存放在EAX中。 乘法位数 隐含被乘数寄存器 存放乘积的寄存器 执行操作 8位 (字节乘法) AL AX AX ← AL×SRC 16位 (字乘法) AX DX:AX DX:AX← AX×SRC 32位 (双字乘法) EAX EDX:EAX EDX:EAX← EAX×SRC 乘法指令中的隐含关系 2)无符号MUL与有符号IMUL的区别是结果的最高位为符号位。 3)SRC 不能是立即数。 4)乘法指令只影响 OF 和CF标志,其它标志不定。 8位×8位: 积→ AX ; 当AH=00H 时 CF=0、 OF=0。 当 AH≠00H时 CF=1 、OF=1。 16×16 位: 积→DX:AX ; 当DX=0000H时 CF=0 、OF=0。 当 DX≠0000H时 CF=1、OF=1。 32×32 位: 积→EDX:EAX ;当EDX=0000H时 CF=0 、OF=0。 当 EDX≠0000H时 CF=1、OF=1。 因此;当 CF=1和OF=1 时 AH(乘积为16位时) 或DX(乘积为32位时)或EDX(乘积为64位时)中的结果才有效。 (2)有符号双操作数乘法指令(IMUL) 指令格式: ? 其中: 目的操作数寄存器必须是16位/32位通用寄存器,源操作数SRC 为与目的操作数位数相同的任意一种操作数,当源操作数为立 即数时可以是8位/16位/32位立即数, 该指令是双操作数指令,用于80286以上微机。 指令功能:目的操作数(reg)乘源操作数(reg/mem/data),结果送 目的操作数。 执行的操作:字乘法: reg16 ← reg16×SRC 双字乘法

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档