8086寄存器及指令英文全称

合集下载

8086指令集机器码

8086指令集机器码

8086指令集机器码
2. ADD指令(将两个数相加并将结果存储在目标位置): - 寄存器相加: 机器码:01 D1(例如,将ECX寄存器的值与EDX寄存器的值相加) - 立即数与寄存器相加: 机器码:83 C0 05(例如,将EAX寄存器的值与立即数05相加)
3. JMP指令(无条件跳转到指定的地址): - 相对短跳转: 机器码:EB rel8(例如,EB 05,跳转到相对偏移量为05的地址) - 相对长跳转: 机器码:E9 rel16(例如,E9 1234,跳转到相对偏移量为1234的地址)
8086指令集机器码
8086指令集是Intel 8086处理器的指令集架构,它定义了一系列的机器码(二进制代码 )来执行不同的操作。下面是一些常见的8086指令及其对应的机器码示例:
1. MOV指令(将数据从一个位置移动到另一个位置): - 传送立即数到寄存器: 机器码:B8 imm16(例如,B8 1234) - 传送寄存器到寄存器: 机器码:89 C1(例如,将EAX寄存器的值传送到ECX寄存器) - 传送内存到寄存器: 机器码:8B 45 08(例如,将偏移地址为08的内存单元的值传送到EAX寄存器)
8086指令集机器码
4. INT指令(触发中断): - 软中断: 机器码:CD int8(例如,CD 1,触发21号软中断)
这是8086指令集中的示例,每个指令都有特定的操作码和操作数,机器码的格式和长度 也会有所不同。如果需要查找特定指令的机器码,可以参考8086处理器的文档或相关资料。

汇编语言中的英文缩写

汇编语言中的英文缩写

汇编语言中的英文缩写在汇编语言中,英文缩写是指将长词或短语用其首字母组合而成的缩写形式。

这些缩写在汇编语言中广泛使用,有助于简化代码编写和阅读的过程。

本文将介绍一些常用的汇编语言中的英文缩写。

1. 寄存器缩写在汇编语言中,寄存器是存储和处理数据的关键之一。

以下是一些常见寄存器的缩写:- 累加器(Accumulator):简写为 ACC- 数据寄存器(Data Register):简写为 DR- 源操作数寄存器(Source Operand Register):简写为 SOR- 目标操作数寄存器(Destination Operand Register):简写为 DOR - 程序计数器(Program Counter):简写为 PC2. 指令缩写汇编语言中的指令用于实现特定的操作,以下是一些常用指令的缩写:- 加法(Addition):简写为 ADD- 减法(Subtraction):简写为 SUB- 逻辑与(Logical AND):简写为 AND- 逻辑或(Logical OR):简写为 OR- 转移(Jump):简写为 JMP- 存储(Store):简写为 ST- 加载(Load):简写为 LD3. 程序标志缩写程序标志用于指示运行过程中的条件和结果,以下是一些常见的程序标志缩写:- 无进位标志(Carry Flag):简写为 CF- 零标志(Zero Flag):简写为 ZF- 溢出标志(Overflow Flag):简写为 OF- 符号标志(Sign Flag):简写为 SF4. 内存缩写在汇编语言中,对于内存地址或单元的引用也可以使用缩写形式,以下是一些例子:- 基地址寄存器(Base Address Register):简写为 BAR- 偏移量(Offset):简写为 OFF- 存储器(Memory):简写为 MEM5. 输入输出缩写在处理输入输出时,也存在一些常用的缩写形式:- 输入(Input):简写为 IN- 输出(Output):简写为 OUT- 打印(Print):简写为 PRNT- 读取(Read):简写为 RD在编写汇编代码或阅读他人的代码时,使用这些缩写能够提高代码的可读性和整洁度。

8086cpu

8086cpu

8086 CPU简介8086 是英特尔(Intel)公司于 1978 年推出的 16 位微处理器。

它是最早的 x86 微处理器之一,被广泛应用于个人电脑(PC)的起步阶段,对于计算机技术的发展和普及起到了重要的推动作用。

本文将介绍 8086 CPU 的基本特征、工作原理和应用领域。

8086 CPU 的特点1.16 位架构: 8086 CPU 是一种 16 位微处理器,相对于 8 位微处理器,它能够处理更多的数据,提高计算机的处理能力。

2.寻址能力强: 8086 CPU 支持 1MB 的物理内存寻址,这在当时是非常先进的。

它通过分段的方式来实现 1MB 内存的寻址,其中代码段和数据段的概念对于内存管理非常重要。

3.复杂指令集: 8086 CPU 拥有丰富的指令集,包括算术运算、逻辑运算、条件分支、循环等指令。

这使得编程人员能够更灵活地进行程序设计。

4.支持多种工作模式: 8086 CPU 支持实模式和保护模式两种工作模式,实模式是与早期的 8080 和 8085 微处理器兼容的模式,保护模式则是为了在用户程序和操作系统之间提供更高的安全性和稳定性。

8086 CPU 的工作原理8086 CPU 主要包括以下几个部分:1.总线接口单元(BIU):负责处理与外部器件之间的数据传输,例如内存读写、I/O 设备访问等。

2.执行单元(EU):负责指令的解码和执行,包括算术逻辑运算、数据传输等操作。

3.时钟发生器(CLK):生成 CPU 的时钟信号,控制CPU 的工作频率。

8086 CPU 的工作过程如下:1.取指令(Fetch): BIU 从指令队列(Instrution Queue)中读取指令,并将其送往指令寄存器(Instruction Register)中进行解码。

2.解码指令(Decode): EU 解码指令,并将执行所需的数据从寄存器堆或内存中读取出来。

3.执行指令(Execute): EU 执行指令中的操作,包括算术运算、逻辑运算、数据传输等。

汇编语言指令集合 吐血整理

汇编语言指令集合 吐血整理

RET(return)
5.中断
INT(interrupt)指令
IRET(interrupt return)
INTO(interrupt if overflow)
六、处理机控制指令
1.标志处理指令
CLC(Clear carry)
CMC(Complement carry)
STC(Set carry)
CLD(Clear direction)
串比较指令
SCASB(Scan string of byte)
串搜索指令
SCASW(Scan string of word)
串搜索指令
STOSB(Store string of byte)
存串指令
STOSW(Store string of word)
存串指令
LODSB(Load string of byte)
ES(Extra Segment):附加段寄存器。
第一部分:指令助记符: 一、数据传送指令
1.通用数据传送指令 MOV(Move) PUSH(Push onto the stack) POP(Pop from the stack) XCHG(Exchange)
2.累加器专用传送指令 IN(Input) OUT(Output) XLAT(Translate)
REPE(Repeat when empty) 若(CX)=0,则退出,否则 CX=CX+1;
REPZ(Repeat when flag )
若 ZF=0,则退出,否则 CX=CX+1;
REPC(Repeat when carry flag)
REPNE(Repeat when not empty)
REPNZ(Repeat when not zero flag)

单片机笔记-寄存器、引脚及其英文名称缩写

单片机笔记-寄存器、引脚及其英文名称缩写

单片机笔记-寄存器、引脚及其英文名称缩写在单片机开发过程中,我们常常会涉及到寄存器和引脚的使用。

寄存器是用于存储和处理数据的重要组成部分,而引脚则是用于连接外部设备和单片机的接口。

了解寄存器、引脚及其英文名称缩写是学习和理解单片机编程的重要一步。

一、寄存器寄存器是单片机中的一种特殊功能寄存器,它们用来存储特定的信息,如状态、控制和数据等。

寄存器的使用是通过对其地址进行读/写操作来实现的。

在单片机中,存在着许多不同的寄存器,下面是一些常见的寄存器及其英文名称缩写:1. 状态寄存器(Status Register) - SR状态寄存器用于存储和显示一些跟运算或处理结果有关的标志位,如进位标志位、溢出标志位、零标志位等。

通过对状态寄存器的读写,可以获取或设置这些标志位的值。

2. 数据寄存器(Data Register) - DR数据寄存器用于存储临时数据,如中间计算结果或输入/输出数据等。

读写数据寄存器时,可以进行数据的读取或写入操作。

3. 控制寄存器(Control Register) - CR控制寄存器用于控制某些外设或特定功能的工作方式,如时钟控制寄存器、中断控制寄存器等。

写入或读取控制寄存器可以实现对相应功能的配置和控制。

4. 地址寄存器(Address Register) - AR地址寄存器用于存储指令和数据的地址信息。

在程序执行过程中,地址寄存器可以用于指示当前要执行的指令或要读取/写入数据的地址。

二、引脚引脚是单片机的外部接口,通过引脚可以与其他电子元件或设备进行连接和通信。

引脚的使用通常包括输入输出、中断触发、时钟输入等功能。

下面是一些常见的引脚及其英文名称缩写:1. 电源引脚(Power Pin) - VCC、GND电源引脚用于提供单片机的供电电源。

其中,VCC用于给单片机提供正电源,而GND则是单片机的接地端。

2. 输入引脚(Input Pin) - IN输入引脚用于接收外部信号。

8086(8088)指令手册

8086(8088)指令手册
源操作数可以是8/16位通用寄存器、存储器操作数或立即数;目标操作数不允许是立即数,其他同源操作数。且不允许两者同时为存储器操作数。
ADC d,s
;d←d+s+CF
带进位加法。
指令的操作过程与ADD指令基本相同,惟一的不同是进位标志位CF的原状态也将一起参与加法运算,待运算结束,CF将重新根据结果置成新的状态。
IN AL,DX;AL←(端口(DX))
IN AX,DX;AX←(端口(DX))
注意:I/O指令只能用累加器作为执行I/O数据传送的机构,而不能用其他寄存器代替。另,当用直接I/O指令时,寻址范围仅为0~255,这适用于较小规模的微机系统;当需要寻址大于255的端口地址时,则必须用间接寻址的I/O指令。例如,在IBM PC/XT微机系统中,既用了0~255范围的端口地址,也用了255~65535范围的端口地址。
IMUL s
有符号乘法指令,它完成两个带符号的8/16位二进制相乘的功能。
对于两个带符号的数相乘,如果简单采用与无符号数乘法相同的操作过程,那么会产生完全错误的结果。为此,专门设置了IMUL指令。
IMUL指令除计算对象是带符号二进制数以外,其他都与MUL是一样的,但结果不同。
IMUL指令对OF和CF的影响是:若乘积的高一半是低一半的符号扩展,则OF=CF=0;否则均为1。它仍然可用来判断相乘的结果中高一半是否含有有效数值。另外,IMUL指令对其他标志位没有定义。
表三、数据寄存器的隐含使用………………………………………………第19页
表四、标志寄存器……………………………………………………………第20页
8086/8088指令分类
8086/8088的指令按功能可分为6类:数据传送、算术运算、逻辑运算、串操作、程序控制和CPU控制。

第3章 8086(8088)CPU指令系统

第3章 8086(8088)CPU指令系统
数据段 BX + SI 10H
20H 00H
00H 34H 12H
3000H:0000H
注: ◆基址因子BP访问默认为堆栈段 ◆不能同时取两个基址因子;也不 能同时去两个变址因子
16
+
3000H:3000H
AH
AL
第3章 8086/8088CPU指令系统
4.1.4 操作数寻址方式
●存储器寻址之相对基址加变址寻址(Base
9
第3章 8086/8088CPU指令系统
3.1.3 操作数寻址方式
4.1操作数寻址方式
所谓操作数的寻址方式,是在指令格式中怎样有效的表示出操 作数的存放位臵,CPU在执行该指令时,按照指令格式中的表示找 到并对数据进行存取。 1.立即寻址(Immediate Addressing) 立即寻址中的操作数作为指令的一 部分存放在代码段中,在取指阶段数据 随指令一起被取到CPU,这种数据在指 令格式中的直接表现为常数。 如:MOV AL,34H

2
第3章 8086/8088CPU指令系统
汇编语言指令或符号指令:用字母和其它一些符 号组成的“助记符”与操作数等表示的指令称为汇编 语言指令或符号指令。 例如: MOV AX, BX ; AX←BX 而其二进制代码(机器代码)为89D8H,就是 1000 1001 1101 1000 B 不易理解,不易记忆。助记符是MOV。
操作码
操作数
4
第3章 8086/8088CPU指令系统
3.1.1 8086/8088指令格式
4.1操作数寻址方式
8086/8088机器指令格式通常1-6个字节组成。典型的指令格式 由2个字节组成,如下图所示。
操作码 D W MOD REG R/M

指令系统中各种助记符的英文全名

指令系统中各种助记符的英文全名

我现将指令系统中各种助记符的英文全名写出来,各种助记符的记忆就会变得很简单o(∩_∩)o...在这之前,先说一下寄存器:数据寄存器分为:AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.BH&BL=BX(base):基址寄存器,常用于地址索引;CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.DH&DL=DX(data):数据寄存器,常用于数据传递。

他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。

这2组8位寄存器可以分别寻址,并单独使用。

另一组是指针寄存器和变址寄存器,包括:SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置;BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置;SI(Source Index):源变址寄存器可用来存放相对于DS段之源变址指针;DI(Destination Index):目的变址寄存器,可用来存放相对于 ES 段之目的变址指针。

指令指针IP(Instruction Pointer)标志寄存器FR(Flag Register)OF(overflow flag)DF(direction flag)CF(carrier flag)PF(parity flag)AF(auxiliary flag)ZF(zero flag)SF(sign flag)IF(interrupt flag)TF(trap flag)段寄存器(Segment Register)为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:CS(Code Segment):代码段寄存器;DS(Data Segment):数据段寄存器;SS(Stack Segment):堆栈段寄存器;ES(Extra Segment):附加段寄存器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通用寄存器:AX累加器(Accumulator),BX 基地址寄存器(Base Register),CX 计数寄存器(Count Register) ,DX数据寄存器(Data Register) 段寄存器:代码段寄存器CS--code segment , 数据段寄存器DS--data segment , 堆栈段寄存器SS--stack segment ,附加段寄存器ES--extra segment 。 特殊功能寄存器:指令指针寄存器IP--instruction pointer ,堆栈指针SP--stack pointer ,基址指针BP--base pointer ,源变址寄存器SI--source index ,目标变址寄存器DI--destination index ,标志寄存器FR--flag register(或者叫程序状态字PSW--program status word)。 PSW常用的标志有: 标志 值为1时的标记 值为0时的标记 OF(overflow flag) OV(overflow) NV(not overflow) ZF(zero flag) ZR(zero) NZ(not zero) PF(parity flag) PE(parity even) PO(parity odd) CF(carry flag) CY(carried) NC(not carried) DF(direction flag) DN(down) UP(up) SF(sign flag) NG(negative) PL(plus) TF(trap flag) IF(interrupt flag) AF(auxiliary flag) 一、运算结果标志位 1、进位标志CF(Carry Flag) 进位标志CF主要用来反映运算是否产生进位或借位。如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0。 使用该标志位的情况有:多字(字节)数的加减运算,无符号数的大小比较运算,移位操作,字(字节)之间移位,专门改变CF值的指令等。 2、奇偶标志PF(Parity Flag) 奇偶标志PF用于反映运算结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。 利用PF可进行奇偶校验检查,或产生奇偶校验位。在数据传送过程中,为了提供传送的可靠性,如果采用奇偶校验的方法,就可使用该标志位。 3、辅助进位标志AF(Auxiliary Carry Flag) 在发生下列情况时,辅助进位标志AF的值被置为1,否则其值为0: (1)、在字操作时,发生低字节向高字节进位或借位时; (2)、在字节操作时,发生低4位向高4位进位或借位时。 对以上6个运算结果标志位,在一般编程情况下,标志位CF、ZF、SF和OF的使用频率较高,而标志位PF和AF的使用频率较低。 4、零标志ZF(Zero Flag) 零标志ZF用来反映运算结果是否为0。如果运算结果为0,则其值为1,否则其值为0。在判断运算结果是否为0时,可使用此标志位。 5、符号标志SF(Sign Flag) 符号标志SF用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用码表示法,所以,SF也就反映运算结果的正负号。运算结果为正数时,SF的值为0,否则其值为1。 6、溢出标志OF(Overflow Flag) 溢出标志OF用于反映有符号数加减运算所得结果是否溢出。如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。 “溢出”和“进位”是两个不同含义的概念,不要混淆。如果不太清楚的话,请查阅《计算机组成原理》课程中的有关章节。 二、状态控制标志位 状态控制标志位是用来控制CPU操作的,它们要通过专门的指令才能使之发生改变。 1、追踪标志TF(Trap Flag) 当追踪标志TF被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。这种方式主要用于程序的调试。 指令系统中没有专门的指令来改变标志位TF的值,但程序员可用其它办法来改变其值。 2、中断允许标志IF(Interrupt-enable Flag) 中断允许标志IF是用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。 具体规定如下: (1)、当IF=1时,CPU可以响应CPU外部的可屏蔽中断发出的中断请求; (2)、当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。 CPU的指令系统中也有专门的指令来改变标志位IF的值。 3、方向标志DF(Direction Flag) 方向标志DF用来决定在串操作指令执行时有关指针寄存器发生调整的方向。具体规定在第5.2.11节——字符串操作指令——中给出。 在微机的指令系统中,还提供了专门的指令来改变标志位DF的值。 命令类 1.通用数据传送指令. MOV----> move MOVSX---->extended move with sign data MOVZX---->extended move with zero data PUSH---->push POP---->pop PUSHA---->push all POPA---->pop all PUSHAD---->push all data POPAD---->pop all data BSWAP---->byte swap XCHG---->exchange CMPXCHG---->compare and change XADD---->exchange and add XLAT---->translate 2.输入输出端口传送指令. IN---->input OUT---->output 3.目的地址传送指令. LEA---->load effective address LDS---->load DS LES---->load ES LFS---->load FS LGS---->load GS LSS---->load SS 4.标志传送指令. LAHF---->load AH from flag SAHF---->save AH to flag PUSHF---->push flag POPF---->pop flag PUSHD---->push dflag POPD---->pop dflag

二、算术运算指令 ADD---->add ADC---->add with carry INC---->increase 1 AAA---->ascii add with adjust DAA---->decimal add with adjust SUB---->substract SBB---->substract with borrow DEC---->decrease 1 NEC---->negative CMP---->compare AAS---->ascii adjust on substract DAS---->decimal adjust on substract MUL---->multiplication IMUL---->integer multiplication AAM---->ascii adjust on multiplication DIV---->divide IDIV---->integer divide AAD---->ascii adjust on divide CBW---->change byte to word CWD---->change word to double word CWDE---->change word to double word with sign to EAX CDQ---->change double word to quadrate word

三、逻辑运算指令 ——————————————————————————————————————— AND---->and OR---->or XOR---->xor NOT---->not TEST---->test SHL---->shift left SAL---->arithmatic shift left SHR---->shift right SAR---->arithmatic shift right ROL---->rotate left ROR---->rotate right RCL---->rotate left with carry RCR---->rotate right with carry

四、串指令 ——————————————————————————————————————— MOVS---->move string CMPS---->compare string SCAS---->scan string LODS---->load string STOS---->store string REP---->repeat REPE---->repeat when equal REPZ---->repeat when zero flag

相关文档
最新文档