x86的指令系统和寻址方式1(33 80X86指令系统).ppt

x86的指令系统和寻址方式1(33 80X86指令系统).ppt

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
x86的指令系统和寻址方式1(33 80X86指令系统)

例30:非压缩BCD除 mov ax,0608h ;ax=0608h,非压缩BCD码表示真值68 mov bl,09h ;bl=09h,非压缩BCD码表示真值9 aam ;二进制扩展:ax=68=0044h div bl ;除法运算:商al=07h,余数ah=05h ;实现非压缩BCD码初法: 68÷9=7(余5) 习题1 设X、Y、Z、V均为16位带符号数,分别存放在X、Y、Z、V存储单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处? X Y Z V 65 F3 02 00 24 E0 05 00 习题1:算术运算1 mov ax,X imul Y ;DX.AX=X×Y mov cx,ax mov bx,dx ;BX.CX=X×Y mov ax,Z Cwd ;AX符号扩展至DX add cx,ax adc bx,dx ;BX.CX=X×Y+Z 习题1:算术运算2 sub cx,540 sbb bx,0 ;BX.CX=X×Y+Z-540 mov ax,V cwd sub ax,cx sbb dx,bx ;DX.AX=V-(X×Y+Z-540) idiv X ;DX.AX=(V-(X×Y+Z-540))÷X 例:x , y , z , v 均为16位带符号数,计算 ( v - ( x*y + z – 540 ) ) / x MOV AX, X IMUL Y ; x*y →(DX,AX) MOV CX, AX MOV BX, DX MOV AX, Z CWD ;Z →(DX,AX) ADD CX, AX ADC BX, DX ; x*y+z →(BX,CX) SUB CX, 540 SBB BX, 0 ; x*y+z-540 MOV AX, V CWD ;V →(DX,AX) SUB AX, CX SBB DX, BX ; v-(x*y+z-540) IDIV X ; (v-(x*y+z-540))/x→(AX) 余数→(DX) X Y Z V W 65 F3 02 00 24 E0 05 00 加油…… 继续努力吧 * 例17:双字减法 mov ax,4652h ;ax=4652h sub ax,0f0f0h ;ax=5562h,CF=1 mov dx,0234h ;dx=0234h sbb dx,0f0f0h ;dx=1143h,CF=1 ;DX.AX=0234 4652H -F0F0 F0F0H =1143 5562H SBB (6) 减量指令DEC(decrement) DEC指令对操作数减1(减量) DEC指令不影响进位CF标志,按定义设置其他状态标志 DEC DEC reg/mem ;reg/mem←reg/mem-1 dec cx dec word ptr [si] INC指令和DEC指令都是单操作数指令 主要用于对计数器和地址指针的调整 (7) 求补指令NEG(negative) NEG指令对操作数执行求补运算:用零减去操作数,然后结果返回操作数 求补运算也可以表达成:将操作数按位取反后加1 NEG指令对标志的影响与用零作减法的SUB指令一样 NEG后面的操作数,如果值不为0,CF就总为1 NEG NEG reg/mem ;reg/mem←0-reg/mem 例题18 例18:求补运算 mov ax,0ff64h neg al ;ax=ff9ch,OF=0、SF=1、ZF=0、PF=1、CF=1 sub al,9dh ;ax=ffffh,OF=0、SF=1、ZF=0、PF=1、CF=1 neg ax ;ax=0001h,OF=0、SF=0、ZF=0、PF=0、CF=1 dec al ;ax=0000h,OF=0、SF=0、ZF=1、PF=1、CF=1 neg ax ;ax=0000h,OF=0、SF=0、ZF=1、PF=1、CF=0 NEG (8) 比较指令CMP(compare) CMP指令将目的操作数减去源操作数,按照定义相应设置状态标志 CMP指令执行的功能与SUB指令,但结果不回送目的操作数 CMP reg,imm/reg/mem ;reg-imm/reg/mem CMP mem,imm/reg ;mem-imm/reg 例题19 CMP 例19:比较AL与100 cmp al,100 ;al-100 jb below ;跳转指令,CF=1则跳转 ;即al100,跳转到below执行 sub

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档