




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1/1汇编语言英文指令汇编语言英文指令
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.
DFdirectionflag方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.
IFinterruptenableflag中断允许标志IF=1时,允许CPU响应可屏蔽中断,否则关闭中断.
TFtrapflag陷阱标志用于调试单步操作
通用寄存器:AX累加器(Accumulator),BX基地址寄存器(BaseRegister),CX计数寄存器(CountRegister),DX数据寄存器(DataRegister)
段寄存器:代码段寄存器CS--codesegment,数据段寄存器DS--datasegment,堆栈段寄存器SS--stacksegment,附加段寄存器ES--extrasegment。
特殊功能寄存器:指令指针寄存器IP--instructionpointer,堆栈指针SP--stackpointer,基址指针BP--basepointer,源变址寄存器SI--sourceindex,目标变址寄存器DI--destinationindex,标志寄存器FR--flagregister(或者叫程序状态字
PSW--programstatusword)。
PSW常用的标志有:
标志值为1时的标记值为0时的标记
OF(overflowflag)OV(overflow)NV(notoverflow)
ZF(zeroflag)ZR(zero)NZ(notzero)
PF(parityflag)奇0偶1PE(parityeven)PO(parityodd)
CF(carryflag)CY(carried)NC(notcarried)
DF(directionflag)DN(down)UP(up)
SF(signflag)符号NG(negative)PL(plus)
TF(trapflag)
IF(interruptenableflag)
AF(auxiliarycarryflag)
一、运算结果标志位
1、进位标志CF(CarryFlag)
进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。
使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令等。
2、奇偶标志PF(ParityFlag)
奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。
利用PF可进行奇偶校验检查,或产生奇偶校验位。在数据传送过程中,为了提供传送的可靠性,如果采用奇偶校验的方法,就可使用该标志位。
3、辅助进位标志AF(AuxiliaryCarryFlag)
在发生下列情况时,辅助进位标志AF的值被置为1,否则其值为0:
(1)、在字操作时,发生低字节向高字节进位或借位时;
(2)、在字节操作时,发生低4位向高4位进位或借位时。
对以上6个运算结果标志位,在一般编程情况下,标志位CF、ZF、SF和OF的使用频率较高,而标志位PF和AF的使用频率较低。
4、零标志ZF(ZeroFlag)
零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。
5、符号标志SF(SignFlag)
符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。
6、溢出标志OF(OverflowFlag)
溢出标志OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。
“溢出”和“进位”是两个不同含义的概念,不要混淆。如果不太清楚的话,请查阅《计算机组成原理》课程中的有关章节。
二、状态控制标志位
状态控制标志位是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变。
1、追踪标志TF(TrapFlag)
当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。
指令系统中没有专门的指令来改变标志位TF的值,但程序员可用其它办法来改变其值。
2、中断允许标志IF(Interrupt-enableFlag)
中断允许标志IF是用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。
具体规定如下:
(1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求;
(2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。
CPU的指令系统中也有专门的指令来改变标志位IF的值。
3、方向标志DF(DirectionFlag)
方向标志DF用来决定在串操作指令执行时有关指针寄存器发生调整的方向。具体规定在第5.2.11节——字符串操作指令——中给出。
在微机的指令系统中,还提供了专门的指令来改变标志位DF的值。
命令类
1.通用数据传送指令.
MOV>move
MOVSX>extendedmovewithsigndata
MOVZX>extendedmovewithzerodata
PUSH>push
POP>pop
PUSHA>pushall
POPA>popall
PUSHAD>pushalldata
POPAD>popalldata
BSWAP>byteswap
XCHG>exchange
CMPXCHG>compareandchange
XADD>exchangeandadd
XLAT>translate
2.输入输出端口传送指令.
IN>input
OUT>output
3.目的地址传送指令.
LEA>loadeffectiveaddress
LDS>loadDS
LES>loadES
LFS>loadFS
LGS>loadGS
LSS>loadSS
4.标志传送指令.
LAHF>loadAHfromflag
SAHF>saveAHtoflag
PUSHF>pushflag
POPF>popflag
PUSHD>pushdflag
POPD>popdflag
二、算术运算指令
ADD>add
ADC>addwithcarry
INC>increase1
AAA>asciiaddwithadjust
DAA>decimaladdwithadjustSUB>substract
SBB>substractwithborrow
DEC>decrease1
NEC>negative
CMP>compare
AAS>asciiadjustonsubstractDAS>decimaladjustonsubstract
MUL>multiplication
IMUL>integermultiplication
AAM>asciiadjustonmultiplication
DIV>divide
IDIV>integerdivide
AAD>asciiadjustondivide
CBW>changebytetoword
CWD>changewordtodoubleword
CWDE>changewordtodoublewordwithsigntoEAX
CDQ>changedoublewordtoquadrateword
三、逻辑运算指令———————————————————————————————————————AND>and
OR>or
XOR>xor
NOT>not
TEST>test
SHL>shiftleft
SAL>arithmaticshiftleft
SHR>shiftright
SAR>arithmaticshiftright
ROL>rotateleft
ROR>rotateright
RCL>rotateleftwithcarry
RCR>rotaterightwithcarry
四、串指令———————————————————————————————————————MOVS>movestring
CMPS>comparestring
SCAS>scanstring
LODS>loadstring
STOS>storestring
REP>repeat
REPE>repeatwhenequal
REPZ>repeatwhenzeroflag
REPNE>repeatwhennotequal
REPNZ>repeatwhenzeroflag
REPC>repeatwhencarryflag
REPNC>repeatwhennotcarryflag
五、程序转移指令———————————————————————————————————————1>无条件转移指令(长转移)
JMP>jump
CALL>call
RET>return
RETF>returnfar
2>条件转移指令(短转移,-128到+127的距离内)
JAE>jumpwhenaboveorequal
JNB>jumpwhennotbelow
JB>jumpwhenbelow
JNAE>jumpwhennotaboveorequal
JBE>jumpwhenbeloworequal
JNA>jumpwhennotabove
JG>jumpwhengreater
JNLE>jumpwhennotlessorequal
JGE>jumpwhengreaterorequal
JNL>jumpwhennotless
JL>jumpwhenless
JNGE>jumpwhennotgreaterorequalJLE>jumpwhenlessorequal
JNG>jumpwhennotgreater
JE>jumpwhenequal
JZ>jumpwhenhaszeroflag
JNE>jumpwhennotequal
JNZ>jumpwhennothaszeroflag
JC>jumpwhenhascarryflag
JNC>jumpwhennothascarryflagJNO>jumpwhennothasoverflowflagJNP>jumpwhennothasparityflagJPO>jumpwhenparityflagisoddJNS>jumpwhennothassignflag
JO>jumpwhenhasoverflowflag
JP>jumpwhenhasparityflag
JPE>jumpwhenparityflagiseven
JS>jumpwhenhassignflag
3>循环控制指令(短转移)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业安全生产标准对社区经济发展的影响考核试卷
- 2025-2030年中国J型热电偶温度计行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030平行微夹持器行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030小儿抗生素行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030国内碳酸饮料行业市场发展分析及竞争策略与投资发展研究报告
- 2025-2030全球及中国飞机拆卸行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 2025-2030全球及中国车窗刮水器行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 开发生产草木灰肥料厂项目可行性研究报告
- 改性沥青及乳化沥青生产加工基地建设项目可行性研究报告
- PC构件项目可行性研究报告
- 工程检验检测机构安全培训
- 物资采购申购管理标准以及规范培训课件
- 直播厅租赁方案
- 仓库管理知识培训图文
- 妇产科医患沟通课件
- 生产车间规章制度
- 门诊病历书写模板全
- 湖南省对口招生考试医卫专业十年真题(2010-2019年)
- 八年级英语下册完形填空、阅读理解训练100题(含答案)
- 《公安机关人民警察内务条令》
- 2023年云南特岗教师真题(小学)
评论
0/150
提交评论