目录 上一页 下一页 下一章

-72- PC机汇编语言实战精解

-a[Enter]
13CD:0100
13CD:0103
13CD:0106
13CD:0108
13CD:010A
13CD:010C

mov ax,100
mov bx,200
cmp ax,bx
sub bx,ax
sub ax,bx

-r
AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=13CDES=13CDSS=13CDCS=13CDIP=0100 NV UP EI PL NZ NA PO NC
13CD:0100B80001MOV AX,0100 注意ZF、CF两标志
  首先利用"MOV"指令将100H与200H分别置入AX和BX而寄存器。
-tAX寄存器置入100H
AX=0100BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=13CDES=13CDSS=13CDCS=13CDIP=0103 NV UP EI PL NZ NA PO NC
13CD:0103BB0002MOV BX,0200 BX寄存器置入200H
  设置好AX、BX寄存器后即可以观察CMP等指令对标志寄存器的影响。
-tAX、BX寄存器已设置
AX=0100BX=0200CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=13CDES=13CDSS=13CDCS=13CDIP=0106 NV UP EI PL NZ NA PO NC
13CD:010639D8CMP AX,BX CMP指令的实质是一次减法
  CPU在执行CMP指令时会将AX和BX两寄存器进行一次减法,但结果并不保留。只是标志寄存器会依据相减的结果发生变化。由于AX寄存器中的数值小于BX寄存器,所以我们可以想到指令执行后CF标志将有变化。
-t
AX=0100BX=0200CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000
DS=13CDES=13CDSS=13CDCS=13CDIP=0108 NV UP EI NG NZ NA PE CY
13CD:010829C3SUB BX,AX 小的数减大的数产生借位
  下面的根踪反映了大的数减去小的数时标志寄存器的变化情况,可以清楚地看到刚刚变成"CY"的CF标志位又重新置成"NC"。

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章