28功能指令_MOV(传送)CMP(比较)指令.
汇编语言指令功能总结

汇编语言指令功能总结汇编语言是一种低级语言,主要用于编写机器码指令的程序。
在计算机科学领域中,汇编语言是非常重要的,因为它可以直接操作计算机的硬件资源。
本文将对汇编语言中常用的指令功能进行总结。
1. 数据传输指令数据传输指令用于将数据从一个位置传送到另一个位置。
常用的数据传输指令包括MOV(将数据从一个位置复制到另一个位置)、XCHG(交换两个位置的数据)、PUSH(将数据压入堆栈)、POP (将数据从堆栈中弹出)等。
2. 算术运算指令算术运算指令用于执行各种算术运算,例如加法、减法、乘法和除法。
常用的算术运算指令包括ADD(将两个数相加)、SUB(将一个数减去另一个数)、MUL(将两个数相乘)、DIV(将一个数除以另一个数)等。
3. 逻辑运算指令逻辑运算指令用于执行各种逻辑运算,例如与、或、非和异或。
常用的逻辑运算指令包括AND(对两个数执行与运算)、OR(对两个数执行或运算)、NOT(对一个数执行非运算)、XOR(对两个数执行异或运算)等。
4. 控制转移指令控制转移指令用于实现程序的跳转和循环执行。
常用的控制转移指令包括JMP(无条件跳转到指定的地址)、JZ(如果前一个运算结果为零则跳转)、JC(如果前一个运算结果进位则跳转)等。
5. 位操作指令位操作指令用于对数据的位进行操作。
常用的位操作指令包括AND(将两个数的对应位执行与运算)、OR(将两个数的对应位执行或运算)、NOT(取反操作)等。
6. 字符串操作指令字符串操作指令用于对字符串进行操作。
常用的字符串操作指令包括MOVSB(将一个字节从源地址复制到目的地址)、LODSB(将一个字节从源地址加载到AL寄存器)、STOSB(将AL寄存器中的值存储到目的地址)等。
7. 输入输出指令输入输出指令用于与计算机的输入输出设备进行交互。
常用的输入输出指令包括IN(从指定的端口读取数据)、OUT(将数据发送到指定的端口)等。
总结:汇编语言中的指令功能丰富多样,可以实现各种复杂的操作。
微机原理-常用指令用法

微机原理-常⽤指令⽤法序号指令功能和特点例程1 例程2 例程3 1 MOV 参与传送的操作数有:通⽤寄存器,段寄存器,存储单元,⽴即数四类。
有有互相之间只要不违背以下原则即可进⾏传送:1.源,⽬的操作数长度⼀致2.源,⽬的操作数不能同为存储单元3.CS不能作为⽬的操作数4.段寄存器只能通过通⽤寄存器或存储单元进⾏赋值。
5.⽴即数不能作为⽬的操作数。
2 PUSH ⼀定是字操作(不能PUSH字节)有PUSH AX,PUSH DS,PUSH [0000H] ;【POP对等】SP <‐ SP‐2,字存⼊SP指向的地址(⾼位在⾼地址)操作数可以为通⽤寄存器,段寄存器或存储单元,CS可PUSH不可POP3 POP 与PUSH对等4 XCHG Xchg dst,src可在通⽤寄存器间,通⽤寄存器和存储单元间进⾏。
不能⽤段寄存器和⽴即数。
XCHG [1200H],DXXCHG AL,CL5 XLAT 直接写出XLAT就⾏,在调⽤该指令前,需将BX初始化为数据表的⾸地址,AL初始化为希望取得的数据在数据表中的序号。
在调⽤该指令后,AL中的内容被赋值为DS:[BX][AL]的内容。
6 LEA LEA BX,1000H[SI],执⾏后BX = SI+1000H有LEA BX,TABLEMOV BX,OFFSET TABLE,以上两条等价7 LDS 指针送寄存器和DS指令LDS dst,src将SRC指定的连续4个存储单元的内容传送到DS和DST指向的寄存器,⾼字送到DS,低字送到DST假设DS=3200H,(33550H)=3A78H,(33552H)=1998HLDS SI,[1550H]后,SI = 3A78H,DS = 1998H8 LES 类同LDS,不同的是DS改成了ES9 SAHF 将AH的内容送标志寄存器的低8位10 LAHF 把标志寄存器的低8位送⼊AH11 PUSHF 将16位标志寄存器内容压⼊堆栈12 POPF 从堆栈弹出字数据送⼈标志寄存器13 ADD Dst可以为存储单元或通⽤寄存器有 Src可为存储单元,通⽤寄存器或⽴即数,不能同时为存储单元Add ax,1234hAdd [1234h],ax14 ADC Adc dst,srcDst = dst+src+cf15 INC Inc dstDst为通⽤寄存器或存储单元影响OF,SF,ZF,AF,PF,但不影响CF。
汇编常用命令总结

汇编常用命令总结汇编语言是一种底层的计算机语言,通过使用汇编命令对机器指令进行编写和控制。
在学习和使用汇编语言时,掌握常用的汇编命令非常重要。
以下是汇编常用命令的详细总结:1.MOV:将数据从一个位置复制到另一个位置。
例如,将数据从寄存器复制到内存或者将数据从内存复制到寄存器。
2.ADD:将两个数相加,并将结果保存在目标位置。
可以用于寄存器之间的相加或者将寄存器和内存中的数据相加。
3.SUB:从一个数中减去另一个数,并将结果保存在目标位置。
与ADD命令类似,可以用于寄存器之间或者寄存器和内存之间的相减。
4.CMP:比较两个数,一些条件下,设置标志位用于后续的条件分支。
例如,当两个数相等时,设置零标志位。
6.JE、JNE、JG、JL、JA等:基于条件进行转移。
例如,JE用于当ZF标志位被设置为1时,跳转到指定位置,即上一次比较的结果是相等的。
7.AND、OR、XOR:对两个数位进行逻辑运算,并将结果保存在目标位置。
AND用于逻辑与运算,OR用于逻辑或运算,XOR用于逻辑异或运算。
8.NOT:对一个数位取反。
9.PUSH:将数据压入栈顶。
用于将寄存器、内存中的数据或者立即数压入栈中。
10.POP:从栈顶弹出数据。
用于将栈中的数据弹出到寄存器或者内存中。
11.CALL:调用子程序或函数。
将当前的程序状态保存到栈上,并跳转到子程序的入口地址。
12.RET:从子程序中返回。
将存储在栈上的返回地址弹出,恢复程序的现场,并返回到调用者。
13.LOOP:循环指令。
根据计数寄存器的值,重复执行指定的循环代码。
14.MOVZX:将一个无符号字节或无符号字进行零扩展,转换为更大的数据类型。
15.MOVSX:将一个有符号字节或有符号字进行符号扩展,转换为更大的数据类型。
16.LEA:将一个偏移地址加载到寄存器中。
17.INC、DEC:递增或递减寄存器或内存中的值。
18.NOP:空操作。
用于占位或延时。
19.INT:软中断。
PLC功能指令范文

PLC功能指令范文PLC(可编程逻辑控制器)是一种用于自动化控制系统的电子设备,它能够根据预设的程序和输入信号,控制和监控各种工业设备和过程。
PLC的功能指令是用于编写PLC程序的基本指令集,它们包括了数字逻辑运算、数学运算、定时器、计数器、数据移位、比较和控制等多种指令,下面是一些常见的PLC功能指令。
1. LD(Load)指令:用于将信号或者寄存器中的数据加载到内部存储器中,以供后续操作使用。
2.AND、OR、XOR(逻辑运算)指令:分别用于逻辑与、逻辑或和逻辑异或运算,比较输入的信号状态并给出相应的输出信号。
3.ADD、SUB、MUL、DIV(数学运算)指令:用于执行加法、减法、乘法和除法运算,对输入信号进行数学运算并得出结果。
4.TON(定时器)指令:实现定时功能,根据设定的时间延迟后输出一个脉冲信号,可以用于控制设备的启停以及延时操作。
5.CTU(计数器)指令:用于计数一些事件的发生次数,当计数器达到指定值时输出一个脉冲信号,常用于统计数量或者控制循环操作。
6.MOV(数据移位)指令:将数据在不同的存储单元之间移动,可以用于复制、转移和交换数据。
7.CMP(比较)指令:用于比较两个数据的大小关系,根据比较结果判断是否满足一些条件,常用于控制开关状态或者判断数值范围。
8.SET、RST(控制)指令:分别用于设置和复位一些指定的位,可以用于控制开关状态或者设定标志位。
9.JMP(跳转)指令:根据条件跳转到程序中的指定位置,可以实现程序的分支和循环。
10.CALL、RET(调用和返回)指令:用于在子程序间传递控制和数据,实现模块化编程和程序的结构化设计。
11.MOV、LOAD、STORE(数据传输)指令:用于数据在不同存储单元之间的传输,比如移动数据、存储数据到寄存器或者点位状态。
12.OUT、IN(输入输出)指令:用于读取输入信号的状态(如传感器信号)或者控制输出信号的状态(如执行器驱动信号)。
汇编指令大全+很全的汇编指令

for Addition)
1. 调整操作如下
格式: DAA
(1) 若(AL) and 0FH>9 或 AF=1
,则(AL)<--(AL)+6,AF<--1,对低
功能: 对AL中的两个组合进制数相加的结果进行调 四位的调整.
整,调整结果仍放在AL中,进位标志放在CF中.
(2) 若(AL) and 0F0H>90H 或
6 LAHF 标志传送指令 LAHF 格式: LAHF
2. 本指令不影响状态标位,表格 长度不超过256字节.
说明: 该指令不影响FLAG的原来 内容,AH只是复制了原FLAG的低8 位内容.
功能: 取FLAG标志寄存器低8位至AH寄存器.(AH)<-
-(FLAG)7~0
7 SAHF 标志传送指令 SAHF
说明:
格式: DEC OPRD 功能: OPRD<--OPRD-1
1. OPRD 为寄存器或存储器操作 数.
2. 这条指令执行结果影响AF、 OF、PF、SF、ZF标志位,但不影 响CF标志位.
页码,4/22
星尘-易尘
302 NEG 303 CMP
304 AAS 305 DAS 306 MUL
取补指令 NEG(NEGate)
未组合的十进制加法调整指令 AAA(ASCII Adgust 说明:
for Addition)
1. 组合的十进制数和未组合的
格式: AAA
十进制数:在计算中,十进制数可
用四位二进制数编码,称为BCD
功能: 对两个组合的十进制数相加运算(存在AL中) 码.
的结果进行调整,产生一个未组合的十进制数放在
AX中.
SUB [BX+25],AX
传送及比较指令总结

传送及比较指令总结传送指令是计算机系统中常用的一类指令,用于将数据从一个位置移动到另一个位置。
这些指令通常用于数据的复制、转移和重排等任务。
在本文中,我将总结一些常见的传送指令,并比较它们的异同。
1.MOV指令:MOV (Move) 指令用于将数据从一个位置复制到另一个位置。
它可以在寄存器之间、寄存器和内存之间、寄存器和端口之间进行数据的传送。
MOV 指令通常具有两个操作数,一个目标操作数和一个源操作数。
例如,`MOV AX, BX` 将寄存器 BX 中的值复制到寄存器 AX 中。
MOV 指令在大多数计算机体系结构中都是支持的,因为它是一种非常基本和常见的操作。
2.LDR和STR指令:LDR (Load) 和 STR (Store) 指令用于将数据从内存中加载到寄存器或将数据从寄存器存储到内存中。
这些指令主要在ARM架构中使用。
LDR指令将内存中的数据加载到寄存器中,例如,`LDR R0, [R1]` 将 R1 寄存器中的地址所对应的内存单元中的数据加载到 R0 寄存器中。
STR 指令则将寄存器中的数据存储到内存中,例如,`STR R0, [R1]` 将 R0 寄存器中的数据存储到 R1 寄存器中的地址所对应的内存单元中。
3.PUSH和POP指令:PUSH指令用于将数据压入栈中,而POP指令用于从栈中弹出数据。
这两个指令通常用于实现函数调用和中断处理等操作。
PUSH指令将数据放入栈顶,然后栈指针下移;而POP指令则将栈顶数据读取到寄存器中,并将栈指针上移。
例如,`PUSHAX`将AX寄存器中的数据压入栈中,`POPAX`将栈顶数据弹出到AX寄存器中。
4.XCHG指令:XCHG (Exchange) 指令用于交换两个操作数的值。
这个指令可以用于两个寄存器之间的值交换,或者寄存器和内存之间的交换。
例如,`XCHG AX, BX` 将寄存器 AX 和 BX 中的数据进行交换。
XCHG 指令常用于实现数据交换、排序和互斥访问等场景。
微机原理指令大全

微机原理指令大全微机原理是计算机科学中的重要基础知识,而指令则是微机原理中的核心内容之一。
指令是计算机中的基本操作命令,它直接影响着计算机的运行和执行效率。
本文将为大家详细介绍微机原理中常见的指令,并提供一份完整的指令大全,希望能够帮助大家更好地理解和掌握微机原理中的指令知识。
一、数据传送指令。
数据传送指令是微机原理中最基本的指令之一,它用于将数据从一个地方传送到另一个地方。
常见的数据传送指令包括MOV、LDM、STM等。
这些指令可以实现寄存器之间、寄存器和内存之间、内存和输入输出设备之间的数据传送操作,是计算机程序中不可或缺的一部分。
二、算术运算指令。
算术运算指令用于进行各种数值计算操作,包括加法、减法、乘法、除法等。
常见的算术运算指令有ADD、SUB、MUL、DIV等。
这些指令可以对寄存器和内存中的数据进行各种算术运算,是计算机程序中常用的指令之一。
三、逻辑运算指令。
逻辑运算指令用于进行各种逻辑操作,包括与、或、非、异或等。
常见的逻辑运算指令有AND、OR、NOT、XOR等。
这些指令可以对寄存器和内存中的数据进行逻辑运算,是计算机程序中实现逻辑判断和控制流程的重要指令之一。
四、转移指令。
转移指令用于改变程序的执行顺序,包括无条件转移和条件转移两种。
常见的转移指令有JMP、JZ、JNZ、JC、JNC等。
这些指令可以实现程序的跳转和循环控制,是计算机程序中实现各种复杂逻辑的重要指令之一。
五、比较指令。
比较指令用于比较两个数据的大小关系,常见的比较指令有CMP、TEST等。
这些指令可以对寄存器和内存中的数据进行比较操作,并根据比较结果设置标志位,是实现条件转移和逻辑判断的重要指令之一。
六、输入输出指令。
输入输出指令用于实现计算机与外部设备的数据交换,包括输入数据和输出数据两种操作。
常见的输入输出指令有IN、OUT等。
这些指令可以实现计算机与外部设备之间的数据传输,是计算机程序中实现输入输出功能的重要指令之一。
汇编语言指令英文全称

汇编指令英文全称1.通用数据传送指令MOV----> moveMOV dest,src ;dest←srcMOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。
MOVSX---->extended move with sign dataMOVZX---->extended move with zero dataPUSH---->pushPOP---->pop进栈出栈指令PUSHA---->push allPOPA---->pop allPUSHAD---->push all dataPOPAD---->pop all dataBSWAP---->byte swapXCHG---->exchange交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。
mov ax,1234h ;ax=1234hmov bx,5678h ;bx=5678hxchg ax,bx ;ax=5678h,bx=1234hxchg ah,al ;ax=7856hCMPXCHG---->compare and changeXADD---->exchange and addXLAT---->translate换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL。
2.输入输出端口传送指令IN---->inputOUT---->output3.目的地址传送指令LEA---->load effective addres有效地址传送指令mov bx,0400hmov si,3chlea bx,[bx+si+0f62h] ;BX=139EH这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ZCP K100 K120 C30 M3
M3
K100 > C30当前值时,M3 = ON
M4
K100 ≤ C30当前值≤K120时,M4 = ON
M5
K120 < C30当前值时,M5 = ON
比较结果的清除
用复位指令
3. 触点形比较指令: 是使用触点符号进行数据比较 的指令,根据比较结果确触点是否允许能流通过。
比较结果的清除 用复位指令
X000
ZRST M0 M2
X000
RST M0
RST M1
RST M2
2. 区间比较指令(ZCP): 比较指令是将源操作数 S1、S2的数据,按照代数规则进行大小比较,并将比 较结果送到目的操作数D中,驱动目的操作数及相邻的 位元件。
ZCP指令使用说明
X000
[S1] [S2] [S.] [D.]
(3)特殊数据寄存器D8000~D8255共256点 这些数据寄存器供监视PLC机内各种元件的运行方式用。
(4)文件寄存器D1000~D2999共2000点。
变址寄存器(V/Z)
变址寄存器和通用数据寄存器一样,进行数值数据读、写
的16位数据寄存器,主要用于运算操作数地址的修改。
X1
MOV K8 V0
X002
MOV K200 D12
M0 T20 D12
计数器、计时器设定值被指定
应用举例
电动机的Y/△起动控制
X0
MOV H3 K1Y0
Y0 T0 K60
T0
MOV H4 K1Y0
Y2 T1 K10
T1
MOV H5 K1Y0
X1
MOV K0 K1Y0
END
0011→Y3Y2Y1Y0 Y1、Y0通 0100→Y3Y2Y1Y0 Y2通 0101→Y3Y2Y1Y0 Y2、Y0通 0000→Y3Y2Y1Y0 都置0
M8002
FNC 12 MOV
K 1 2 3 D500
2.功能指令的使用要素
源操作数—指令执
X0
执行条件
功能指令编号 [S1.][S2.] [D.]
FNC 20
D10
(D)ADD (P)
D12 D14
助记符
源操作数 目标操作数
行后其内容不变。
目标操作数—指令 执行后其内容将改 变。
其他操作数—常
数据长度
X2
MOV K14 Z0
X3
MOV D5V0 D10Z0
如:当V0=8,ZO=14时, D(5+8)=D(13), D(10+14)=D(24) 则(D13)→(D24)
当V0=9,D(5+9)=D(14) 则(D14)→(D24)
功能指令的表达形式、使用要素及分类
功能指令的表达形式及使用要素
1.功能指令的表达形式
触点形比较指令的说明
[S1.] [S2.]
LD = K200 C10
Y10 当C10的当前值 = 200时, Y10被驱动
LD > D200 K-30
X1
SET Y11
D200的内容在-29以上时, X1为ON时,Y11置1。
(D)LD > K678493 C200 M3
Y50 C200的内容比678493小时,或 M3为ON时,Y1则0 Y50被驱动。
数据类软元件及存储器组织
位元件与字元件 数据寄存器(D)
数据寄存器是用于存储数值数据的软元件。(FX2N 系列为16位寄存器)
(1)通用数据寄存器D0~D199共200点。 只要不写入其它 数据,已写入的数据不会变化。但是,PLC状态由运行→ 停止时,全部数据均清零。 (2)断电保持数据寄存器D200~D511共312点,只要不改 写,原有数据不会丢失。
2)当条件断开不执行CMP指令时,目标元件保持条件断开 前的状态,要清除结果,要采用RST或ZRST复位指令。
CMP指令使用说明
X000
[S1.] [S2.] [D.]
CMP K100 C20 M0
M0
K100 > C20当前值,M0 = ON
M1
K100 = C20当前值,M1 = ON
M2
K100 < C20当前值,M2 = ON
4. 传送指令(MOV): MOV传送指令是将源操作数 内的数据传送到指定的目的操作数去,即S→D。
MOV指令使用说明
X000
[S.] [D.]
MOV K100 D10
举例
X001
MOV T0
D20
计数器、计时器当前值读出
当X0为ON时,源操作数[S.] 中的常数K100传送到目标操作元 件 D10 中 。 当 指 令 执 行 时 , 常 数 K100自动转换成二进制数。
如:K1X0指由X0、X1、X2、X3四位 输 入继电器的组合。n为2时是8个顺次X
传送比较类指令及应用
传送比较指令说明
1. 比较指令(CMP): 比较指令是将源操作数S1、 S2的数据,按照代数规则进行大小比较,并将比较结 果送到目的操作数D中,驱动目的操作数及相邻的位元 件。
1)比较指令中的所有的源操作数据都按二进制数值处理。
执行形式
(目的操作数) 数或对源操作数和
(D-32位 无D-16位) 功能指令段 (P-脉冲 无P-连续)
目标操作数作出补 充说明。
功能指令的一般形式
基本格式
FNC 助记符
代码
(S.)
K,H KnX KnY KnM KnS T
(D.)
C D V,Z
XY M S
位元件
位组合元件
元件为KnX、KnY、KnM、KnS Kn指有n组这样的数据。