汇编语言标志位(CF)及一些常用指令 1、汇编语言标志位(CF)及一些常用指令英文翻译:carry 进位 flag标志NV: no overflow OV: overflowUP: up DN:downDI: disable interrupt EI: enable interruptPL: plus NG: negativeNZ: no zero ZR: zeroNA: no assistant carry AC: assistant carryPO: parity odd PE: parity even 奇偶校验NC: no carry CY: carry 汇编标志位:标志名 标志 1 标志 0OF (溢出标志) OV NVDF 2、(方向标志) UP DN IF (中断标志) DI EI SF (符号标志位) PL NGZF (零标志) NZ ZRAF (辅助进位标志位) NA AC PF (奇偶标志) PO PE CF (进位标志 ) NC CY OF 溢出(是/否) OV OVerflow NV Not oVerflow DF 方向(减量/增量) DN DowN UP UP IF 中断(允许/关闭) EI Enable Interrupt DI Disable Interrupt SF 符号(负/正) NG NeGative PL PLus ZF 零(是/否) ZR ZeRo NZ Not Zero AF 辅助进位( 3、是/否) AC Auxiliary Carry NA Not Auxiliary PF 奇偶(是/否) PE Parity Even PO Parity Odd CF 进位(是/否) CY CarrY NC Not Carry 英文解释:NV: no overflow OV: overflowUP: up DN:downDI: disable interrupt EI: enable interruptPL: plus NG: negativeNZ: no zero ZR: zeroNA: no assistant carry AC: assistant carryPO: parity odd 4、 PE: parity evenNC: no carry CY: carry先熟悉一下FLAGS标志位:OV、NV即溢出标志位OF=1或0,表示运算结果有无溢出。当算术运算的结果超出了带符号数的范围(8位带符号数的范围是-128+127,16位的是-32728+32767)。DN、UP即方向标志位DF=1或0,表示串操作时按地址减或加的方式进行。EI、DI即中断标志位IF=1或0,表示CPU可否响应可屏蔽中断请求。IF的状态对不可屏蔽中断及内部中断没有影响。NG、PL即符号标志位SF=1或0,表示运算结果是负(最高位为1)或正(最高位为0)。ZR、NZ即零标志位ZF=1或0,表示运算结果是0或 5、非0。AC、NA即辅助进位标志位AF=1或0,在8位加减法操作中表示低4位向高4位有无进借位。PE、PO即奇偶标志位PF=1或0,表示逻辑运算结果中1的个数是否为偶数。CY、NC即进位标志位CF=1或0,表示加减法操作中最高位有无进借位。 8086寄存器通用寄存器AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界传送数据。BH&BL=BX(base):基址寄存器,常用于地址索引。CH&CL=CX:计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理 6、指令中用作隐含的计数器。DH&DL=DX:数据寄存器,常用于数据传递。段寄存器CS(Code Segment):代码段寄存器DS(Data Segment):数据段寄存器SS(Stack Segment):堆栈段寄存器ES(Extra Segment):附加段寄存器指针寄存器和变址寄存器SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置。BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置。SI(Source Index):源变址寄存器,可用来存放相对于DS段之源变址指针。DI(Destination Index):目的变址寄存 7、器,可用来存放相对于ES段之目的变址指针。IP(Instruction Pointer):指令指针PSW(Program Status Word):程序状态寄存器ZF(Zero Flag):零标志位,用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。PF(Parity Flag):奇偶标志位,用来反映运算结果中“1”的个数的奇偶性,如果“1”的个数为偶数,则PF的值为1,否则其值为0。SF(Sign Flag):符号标志位,用来反映运算结果的符号位,它与运算结果的最高位相同。CF(Carry Flag):进位标志位,用来反映运算结果是否产生进位或借位,如果运算结果的最高位产 8、生了一个进位或借位,那么,其值为1,否则为0。OF(Overflow Flag):溢出标志位,用来反映有符号数加减运算所得结果是否溢出。如果运算结果超出当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。DF(Direction Flag):方向标志位,用来决定在串操作指令执行时有关指针寄存器发生调整的方向。IF(Interrupt Flag):中断标志位,IF=1处理可屏蔽中断,IF=0不出来可屏蔽中断。TF(Trace Flag):跟踪标志位,该标志可用于程序调试,没有专门的指令来设置或清除。AF(Auxiliary carry Flag):辅助进位标志位,在 9、字操作时,发生低字节向高字节进位或借位时;在字节操作时,发生低4位向高4位进位或借位时。相关指令abc(c-carry):带进位加法指令。它利用了CF位上记录的进位值。sbb(b-borrow):带借位减法指令。它利用了CF位上记录的借位值。cmp(compare):比较指令。它的功能相当于减法指令,只是不保存结果。je(e-equal):ZF=1则转移jne(ne-not equal):ZF=0则转移jb(b-below):CF=0则转移jnb(nb-not below):CF=0则转移ja(a-above):CF=0且ZF=0则转移jna(na-not above):CF=1或ZF=1则转 10、移movesb(b-byte):传送一个字节movesw(w-word):传送一个字rep movesb(rep-repeat):循环执行字节串传送指令rep movesw(rep-repeat):循环执行字串传送指令cld(clear DF):将DF置0std(set DF):将DF置1pushf(push flag):将标志寄存器的值压栈popf(pop flag):从栈中弹出数据送入标志寄存器Debug中标志位的表示:标志位 值为1 值为0OF(Overflow Flag) OV(overflow) NV(no overflow)SF(Sign Flag) NG(negative) PL 11、(plus)ZF(Zero Flag) ZR(zero) NZ(no zero)PF(Parity Flag) PE(parity even) PO(parity odd)CF(Carry Flag) CY(carry) NC(no carry)DF(Direction Flag) DN(down) UP(up)AF(Auxiliary carry Flag) AC(assistant carry) NA(no assistant carry)IF(Interrupt Flag) EI(enable interrupt) DI(disable interrupt)TF(Trace Flag)A 12、X BX CX DX是CPU内部的通用寄存器中的数据寄存器,数据寄存器一般用于存放参与运算的数据或运算的结果,每一个数据寄存器都是16位的(即16个二进制位),但又可以将高,低8位分别作为两个独立的8位寄存器使用.它们的高8位记作AH,BH,CH,DH,低8位记作AL,BL,CL,DL.这种灵活的使用方法给编程带来极大的方便,既可以处理16位数据,也能处理8位数据.数据寄存器除了作为通用寄存器使用外,它们还有各自的习惯用法 AX 称为累加器,常用于存放算术逻辑运算中的操作数,另外所有的I/O指令都使用累加器与外设接口传送信息 BX 称为基址寄存器,常用来存放访问内在时的基地址, CX 称为计数 13、寄存器,在循环和串操作指令中用作计数器 DX 称为数据寄存器,在寄存器间接寻址中的I/O指令中存放I/O端口的地址 另外,在做双字长乘除法运算时,DX 与AX合起来存放一个双字长数(32位),其中DX存放高16位,AX存放低16位.AH&ALAX(accumulator):累加寄存器BH&BLBX(base):基址寄存器CH&CLCX(count):计数寄存器DH&DLDX(data):数据寄存器SP(Stack Pointer):堆栈指针寄存器BP(Base Pointer):基址指针寄存器SI(Source Index):源变址寄存器DI(Destinati 14、on Index):目的变址寄存器IP(Instruction Pointer):指令指针寄存器CS(Code Segment)代码段寄存器DS(Data Segment):数据段寄存器SS(Stack Segment):堆栈段寄存器ES(Extra Segment):附加段寄存器OF overflow flag 溢出标志 操作数超出机器能表示的范围表示溢出,溢出时为1. SF sign Flag 符号标志 记录运算结果的符号,结果负时为1. ZF zero flag 零标志 运算结果等于0时为1,否则为0. CF carry flag 进位标志 最高有效位产生进位时为1,否则为0. AF a 15、uxiliary carry flag 辅助进位标志 运算时,第3位向第4位产生进位时为1,否则为0. PF parity flag 奇偶标志 运算结果操作数位为1的个数为偶数个时为1,否则为0. DF direcion flag 方向标志 用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大. IF interrupt flag 中断标志 IF=1时,允许CPU响应可屏蔽中断,否则关闭中断. TF trap flag 陷阱标志 用于调试单步操作. 寻址方式: 立即寻址 MOV AX , 常数 直接寻址 MOV AX , 常数 ;加上中括号 或 MOV AX , 变量名或标号 16、寄存器寻址 MOV AX , 通用寄存器 寄存器间接寻址 MOV AX , (BX,BP,SI,DI)中的一个 ;以下四行均需加上中括号 寄存器相对寻址 MOV AX , (BX,BP,SI,DI)中的一个 + 偏移量 基址变址寻址 MOV AX , 基址寄存器 + 变址寄存器 相对基址变址寻址 MOV AX , 基址寄存器 + 变址寄存器 + 偏移量 XCHG OPRD1, OPRD2 交换指令地址传送指令LEA REG, OPRD 地址传送指令LDS REG, OPRD (load pointer into DS)LES REG, OPRD (Load pointer into ES )堆 17、栈指令 进栈指令 SP-2 PUSH SRC 出栈指令 SP+2 POP DST 标志操作指令(1) 标志传送指令LAHF (Load AH with Flags) 把标志位寄存器的低8位传送到寄存器AH的指定位SAHF (Store AH into Flags) 与LAHF相反 (SF ZF AF PF CF)CLC (Clear Carry flag) 清进位标志 CLD 清方向标志STD 置方向标志CLI 清中断允许STI 置中断ADC 带进位的加法指令 (Add and carry)inc oprd 加一指令 (IN Crement)SUB 减法指令 (SUBtraction)SBB 带借位的减法 (SuBtract with Borrow)DEC 减一指令 (DECrement) Offset 偏移值test 测试 移位 指令AX:AccumulatorBX:BaseCX:CoutDX:DateSI:Source IndexDI:Destinati
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/88640.html