汇编语言标志位CF及一些常用指令.docx

上传人:b****8 文档编号:9307456 上传时间:2023-05-18 格式:DOCX 页数:9 大小:17.81KB
下载 相关 举报
汇编语言标志位CF及一些常用指令.docx_第1页
第1页 / 共9页
汇编语言标志位CF及一些常用指令.docx_第2页
第2页 / 共9页
汇编语言标志位CF及一些常用指令.docx_第3页
第3页 / 共9页
汇编语言标志位CF及一些常用指令.docx_第4页
第4页 / 共9页
汇编语言标志位CF及一些常用指令.docx_第5页
第5页 / 共9页
汇编语言标志位CF及一些常用指令.docx_第6页
第6页 / 共9页
汇编语言标志位CF及一些常用指令.docx_第7页
第7页 / 共9页
汇编语言标志位CF及一些常用指令.docx_第8页
第8页 / 共9页
汇编语言标志位CF及一些常用指令.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汇编语言标志位CF及一些常用指令.docx

《汇编语言标志位CF及一些常用指令.docx》由会员分享,可在线阅读,更多相关《汇编语言标志位CF及一些常用指令.docx(9页珍藏版)》请在冰点文库上搜索。

汇编语言标志位CF及一些常用指令.docx

汇编语言标志位CF及一些常用指令

汇编语言标志位(CF)及一些常用指令

英文翻译:

carry进位flag标志

NV:

nooverflowOV:

overflow

UP:

upDN:

down

DI:

disableinterruptEI:

enableinterrupt

PL:

plusNG:

negative

NZ:

nozeroZR:

zero

NA:

noassistantcarryAC:

assistantcarry

PO:

parityoddPE:

parityeven奇偶校验

NC:

nocarryCY:

carry

汇编标志位:

标志名标志1标志0OF(溢出标志)OVNV

DF(方向标志)UPDN

IF(中断标志)DIEI

SF(符号标志位)PLNG

ZF(零标志)NZZR

AF(辅助进位标志位)NAAC

PF(奇偶标志)POPE

CF(进位标志)NCCY

OF溢出(是/否)OVOVerflowNVNotoVerflow

DF方向(减量/增量)DNDowNUPUP

IF中断(允许/关闭)EIEnableInterruptDIDisableInterrupt

SF符号(负/正)NGNeGativePLPLus

ZF零(是/否)ZRZeRoNZNotZero

AF辅助进位(是/否)ACAuxiliaryCarryNANotAuxiliary

PF奇偶(是/否)PEParityEvenPOParityOdd

CF进位(是/否)CYCarrYNCNotCarry

英文解释:

NV:

nooverflowOV:

overflow

UP:

upDN:

down

DI:

disableinterruptEI:

enableinterrupt

PL:

plusNG:

negative

NZ:

nozeroZR:

zero

NA:

noassistantcarryAC:

assistantcarry

PO:

parityoddPE:

parityeven

NC:

nocarryCY:

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或非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)和串处理指令中用作隐含的计数器。

DH&DL=DX:

数据寄存器,常用于数据传递。

段寄存器

CS(CodeSegment):

代码段寄存器

DS(DataSegment):

数据段寄存器

SS(StackSegment):

堆栈段寄存器

ES(ExtraSegment):

附加段寄存器

指针寄存器和变址寄存器

SP(StackPointer):

堆栈指针,与SS配合使用,可指向目前的堆栈位置。

BP(BasePointer):

基址指针寄存器,可用作SS的一个相对基址位置。

SI(SourceIndex):

源变址寄存器,可用来存放相对于DS段之源变址指针。

DI(DestinationIndex):

目的变址寄存器,可用来存放相对于ES段之目的变址指针。

IP(InstructionPointer):

指令指针

PSW(ProgramStatusWord):

程序状态寄存器

ZF(ZeroFlag):

零标志位,用来反映运算结果是否为0。

如果运算结果为0,则其值为1,否则其值为0。

PF(ParityFlag):

奇偶标志位,用来反映运算结果中“1”的个数的奇偶性,如果“1”的个数为偶数,则PF的值为1,否则其值为0。

SF(SignFlag):

符号标志位,用来反映运算结果的符号位,它与运算结果的最高位相同。

CF(CarryFlag):

进位标志位,用来反映运算结果是否产生进位或借位,如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则为0。

OF(OverflowFlag):

溢出标志位,用来反映有符号数加减运算所得结果是否溢出。

如果运算结果超出当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。

DF(DirectionFlag):

方向标志位,用来决定在串操作指令执行时有关指针寄存器发生调整的方向。

IF(InterruptFlag):

中断标志位,IF=1处理可屏蔽中断,IF=0不出来可屏蔽中断。

TF(TraceFlag):

跟踪标志位,该标志可用于程序调试,没有专门的指令来设置或清除。

AF(AuxiliarycarryFlag):

辅助进位标志位,在字操作时,发生低字节向高字节进位或借位时;在字节操作时,发生低4位向高4位进位或借位时。

相关指令

abc(c-carry):

带进位加法指令。

它利用了CF位上记录的进位值。

sbb(b-borrow):

带借位减法指令。

它利用了CF位上记录的借位值。

cmp(compare):

比较指令。

它的功能相当于减法指令,只是不保存结果。

je(e-equal):

ZF=1则转移

jne(ne-notequal):

ZF=0则转移

jb(b-below):

CF=0则转移

jnb(nb-notbelow):

CF=0则转移

ja(a-above):

CF=0且ZF=0则转移

jna(na-notabove):

CF=1或ZF=1则转移

movesb(b-byte):

传送一个字节

movesw(w-word):

传送一个字

repmovesb(rep-repeat):

循环执行字节串传送指令

repmovesw(rep-repeat):

循环执行字串传送指令

cld(clearDF):

将DF置0

std(setDF):

将DF置1

pushf(pushflag):

将标志寄存器的值压栈

popf(popflag):

从栈中弹出数据送入标志寄存器

Debug中标志位的表示:

标志位值为1值为0

OF(OverflowFlag)OV(overflow)NV(nooverflow)

SF(SignFlag)NG(negative)PL(plus)

ZF(ZeroFlag)ZR(zero)NZ(nozero)

PF(ParityFlag)PE(parityeven)PO(parityodd)

CF(CarryFlag)CY(carry)NC(nocarry)

DF(DirectionFlag)DN(down)UP(up)

AF(AuxiliarycarryFlag)AC(assistantcarry)NA(noassistantcarry)

IF(InterruptFlag)EI(enableinterrupt)DI(disableinterrupt)

TF(TraceFlag)

AXBXCXDX是CPU内部的通用寄存器中的数据寄存器,数据寄存器一般用于存放参与运算的数据或运算的结果,每一个数据寄存器都是16位的(即16个二进制位),但又可以将高,低8位分别作为两个独立的8位寄存器使用.它们的高8位记作AH,BH,CH,DH,低8位记作

AL,BL,CL,DL.这种灵活的使用方法给编程带来极大的方便,既可以处理16位数据,也能处理8位数据.

数据寄存器除了作为通用寄存器使用外,它们还有各自的习惯用法

AX称为累加器,常用于存放算术逻辑运算中的操作数,另外所有的I/O指令都使用累加器与外设接口传送信息

BX称为基址寄存器,常用来存放访问内在时的基地址,

CX称为计数寄存器,在循环和串操作指令中用作计数器

DX称为数据寄存器,在寄存器间接寻址中的I/O指令中存放I/O端口的地址另外,在做双字长乘除法运算时,DX与AX合起来存放一个双字长数(32位),其中DX存放高16位,AX存放低16位.

AH&AL=AX(accumulator):

累加寄存器

BH&BL=BX(base):

基址寄存器

CH&CL=CX(count):

计数寄存器

DH&DL=DX(data):

数据寄存器

SP(StackPointer):

堆栈指针寄存器

BP(BasePointer):

基址指针寄存器

SI(SourceIndex):

源变址寄存器

DI(DestinationIndex):

目的变址寄存器

IP(InstructionPointer):

指令指针寄存器

CS(CodeSegment)代码段寄存器

DS(DataSegment):

数据段寄存器

SS(StackSegment):

堆栈段寄存器

ES(ExtraSegment):

附加段寄存器

OFoverflowflag溢出标志操作数超出机器能表示的范围表示溢出,溢出时为1.

SFsignFlag符号标志记录运算结果的符号,结果负时为1.

ZFzeroflag零标志运算结果等于0时为1,否则为0.

CFcarryflag进位标志最高有效位产生进位时为1,否则为0.

AFauxiliarycarryflag辅助进位标志运算时,第3位向第4位产生进位时为1,否则为0.PFparityflag奇偶标志运算结果操作数位为1的个数为偶数个时为1,否则为0.

DFdirecionflag方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.

IFinterruptflag中断标志IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.

TFtrapflag陷阱标志用于调试单步操作.

寻址方式:

立即寻址MOVAX,常数

直接寻址MOVAX,[常数];加上中括号或MOVAX,变量名或标号

寄存器寻址MOVAX,通用寄存器

寄存器间接寻址MOVAX,[(BX,BP,SI,DI)中的一个];以下四行均需加上中括号

寄存器相对寻址MOVAX,[(BX,BP,SI,DI)中的一个+偏移量]

基址变址寻址MOVAX,[基址寄存器+变址寄存器]

相对基址变址寻址MOVAX,[基址寄存器+变址寄存器+偏移量]

XCHGOPRD1,OPRD2交换指令

地址传送指令

LEAREG,OPRD地址传送指令

LDSREG,OPRD(loadpointerintoDS)

LESREG,OPRD(LoadpointerintoES)

堆栈指令

进栈指令SP-2

PUSHSRC

出栈指令SP+2

POPDST

标志操作指令

(1)标志传送指令

LAHF(LoadAHwithFlags)把标志位寄存器的低8位传送到寄存器AH的指定位SAHF(StoreAHintoFlags)与LAHF相反(SFZFAFPFCF)

CLC(ClearCarryflag)清进位标志

CLD清方向标志

STD置方向标志

CLI清中断允许

STI置中断

ADC带进位的加法指令(Addandcarry)

incoprd加一指令(INCrement)

SUB减法指令(SUBtraction)

SBB带借位的减法(SuBtractwithBorrow)

DEC减一指令(DECrement)

Offset偏移值

test测试移位指令

AX:

Accumulator

BX:

Base

CX:

Cout

DX:

Date

SI:

SourceIndex

DI:

DestinationIndex

BP:

BasePointer

SP:

StackPointer

CF:

CarryFlag

ZF:

ZeroFlag

SF:

SignFlag

OF:

OverflowFlag

PF:

ParityFlag

AF:

AuxiliaryFlag

TF:

TrapFlag

IF:

InterruptFlag

AF:

AuxiliaryFlag

CS:

CodeSegment

DS:

DataSegment

ES:

ExtraSegment

SS:

StackSegment

段寄存器:

CSDSSSES

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2