内存 寄存器 CPU 主频 晶体管 芯片
主页 正文

汇编指令一览表

求汇编语言的所有指令?

数据传输指令集 MOV 功能:将源操作数发送到目的操作数 语法:MOV 目的操作数,源操作数格式:MOVr1、r2MOVr、mmOVm、rMOVr、dataXCHG 功能:转换两个操作数的数据 语法:XCHG 格式:XCHGr1,r2XCHGm ,rXCHGr,mPUSH ,POP 函数:放入操作 将数字压入堆栈或从堆栈中取出 语法: PUSH 操作数 POP 操作数格式: PUSHrPUSHMPUSHdataPOPrPOPmPUSHF, POPF, PUSHA, POPA 功能:堆栈命令组 格式:PUSHFPOPFPPUSHAPOPALEA, LDS, LES 功能:获取寄存器地址 语法:LEAr, mLDSr 功能 ,mLESr,mXLAT(XLATB):查表命令语法:A,Z,S 函数,OSUB,SBB 功能:减法指令 语法:SUBOP1, OP2SBBOP1, OP2 格式:SUBr1, r2SUBr, mSUBm, rSUBr, dataSUBm, data 影响标志:C, P, A, Z, S, OINC, DEC 功能:OP 值加一或减一 语法:INCOPDECOP 格式:影响标志 INCr/mDECr/m :P, A,Z,S,ONEG 功能:反转符号 OP(取二进制补码) 语法:NEGOP 格式:NEGr/m 影响标志:C、P、A、Z、S、 OMUL、IMUL 功能:乘法 命令语法:MULOPIMULOP 格式:MULr/mIMULr/m 影响标志:C、P、A、Z、S、O(仅 IMUL 影响 S Chi 标志) DIV、IDIV 功能:除法 命令语法:格式DIVOPIDIVOP:DIVr/mIDIVr/mCBW、CWD 功能:带符号号码扩展命令语法:CBWCWDAAA、AAS、AAM、AAD 功能:编码运算调整命令语法 未压缩 BCD:影响 AAAAASAAMAAD 标识:A,C(AAA,AAS)S, Z, P (AAM, AAD) DAA, DAS 功能:压缩 BCD 码调整命令语法:DAADAS 影响标志:设置位操作命令 C、P、A , Z, S AND, OR, XOR, NOT, TEST 功能:执行 BIT BIT 逻辑运算语法:ANDr/m,r/m/dataORr/m,r/m/dataXORr/m 、r/m/dataTESTr/m、r/m/dataNOTr/m 影响标志:C、O、P、Z、S(C 和 O 两个标志将被设置为 0) NOT 指令不影响任何位标志 SHR ,SHL, SAR,SAL 功能:移位命令语法:SHRr/m,data/CLSHLr/m,data/CLSARr/m,data /CLSALr/m,data/CL 受影响标志:C、P、Z、 S、OROR、ROL、RCR、RCL 功能:循环移位指令 语法:RORr/m、data/CLROLr/m、data/CLRCRr/m、data/CLRCLr/m、data/CL 影响标志:C 程序流程控制指令集、P、Z、S、O CLC、STC、CMC 功能:设置载波标志 语法:CLCSTCCCMC 标志:CCLD、STD 功能:设置方向标志 语法:CLDSTD 标志:DCLI、STI 功能: 设置中断标志 语法:CLISTI 标志:ICMP 功能:比较 OP1 和 OP2 值 语法:CMPr/m、r/m/data 标志:C、P、A、Z、OJMP 功能:跳转到指定地址执行 语法:地址 JMP JXX 功能:满足条件时跳转到指定地址执行 语法:JXX 地址 注:A:ABOVE,当 C=0 、Z=0 时成立 B:BELOW 成立,C:CARRY 成立时 C=1、CXZ 成立时 弁:E:CX 寄存器值为 0(零)时成立 EQUAL、G:GRATER(大于)成立 当 Z=1 时、L:LESS(小于)成立Z=0且S=0,N:NOT(相反条件)在S非零时成立,需要与其他符号组合使用时与O:OVERFLOW一起使用,P:PARITY在O=1时成立,PE :PARITYEVEN 当 P=1 时成立,并且 PO:PARITYODD 当 P=1 时成立。
,P=0 时 S:SIGN 成立,S=1 时 Z:ZERO 成立,Z=1 时 LOOP 功能成立: 循环命令集语法: LOOP 地址 LOOPNE 地址(Z) 地址标志位 LOOPNE 地址( Z):无 CALL 、RET 功能:子程序调用、返回命令语法:地址 CALL RETRETn 标志位:无 INT、IRET 功能:中断调用及返回命令语法:INTnIRET 标志位:执行 INT 时,CPU 会自动拒绝 的值标志寄存器 入栈 当执行 IRET 时,栈中标志的值会重新出现到字符串操作指令集 MOVSB、MOVSW、MOVSD 功能:字符串传送指令语法:MOVSBMOVSWMOVSD 标志:无 CMPSB、CMPSW、CMPSD 功能:字符串比较 命令语法:CMPSBCMPSWCMPSD 标志:C、P、Z、S、OSCASB、SCASW 功能:字符串搜索 命令语法:SCASBSCASW 标志:C、P、Z、S、OLODSB、LODSW、STOSB、STOSW 功能:字符串加载或保存命令 语法:LODSB 标志位 LODSWSSTOSBTOSW:无 REP、REPE、REPNE 功能:重复前缀命令集 语法:命令 REP 命令 SREPE 指令 SREPNE S 标志位:取决于S 指令,对于IBM PC,有其指令系统,包括:数据传送指令、字符串处理指令、算术指令、控制运动指令、逻辑指令、处理器控制指令。
这里简单介绍一下命令类型和命令说明,如果您对具体命令格式和应用有任何需求,请联系amay,我们会及时更新。
1)数据传输指令:负责将数据、地址或立即数传输到寄存器或存储单元。
指令说明 数据传送指令类型 一般数据传送指令 MOV(传送)、PUSH(压入)、POP(出栈)、ES) 标志寄存器传送指令 LAHF(标志到 AH)、SAHF(AH 为标志寄存器)、PUSHF(标志到堆栈)、POPF(标志到堆栈) 2)算术指令:用于执行算术运算。
算术指令类型的指令说明 加法指令 ADD(加法)、ADC(带进位加法)、INC(加 1) 减法指令 SUB(减法)、SBB(带借位减法)、DEC(减 1)、NEG(补) , CMP(比较)乘法指令 MU L(无符号乘法)、IMUL(有符号乘法)除法指令 DIV(无符号除法)、IDIV(有符号除法)、CBW(字节到字)、CWD (字到双字) 3)逻辑指令:对字或字节进行逻辑运算。
指令说明 逻辑指令类型 逻辑运算指令 AND(逻辑与)、OR(逻辑或)、NOT(逻辑非)、XOR(异或)、TEST(测试)移动指令 SHL(逻辑左移)、SAL(算术左移) ) )、S HR(逻辑右移)、SAR(算术右移)、ROL(左移)、ROR(右移)、RCL(带进位左移)、RCR (带进位右移) 4)字符串处理 指令:处理内存中存储的字符串数据。
字符串处理指令类型 指令说明 MOVS(字符串传输)、CMPS(字符串比较)、SCAS(字符串扫描)、LODS(take from string)、STOS(store in string) 5)控制传输指令:用于控制执行程序流程。
控制转移指令类型的指令说明: 无条件转移指令 JMP(段间、段内转移) 有条件转移指令 JZ(结果为 0(或等于)则转移)、JS(结果为负则转移)、JNS( JO(溢出则跳转)、JNO(无溢出则跳转)、JP(校验位为 1 则跳转)、JNP(校验位为 0 则跳转) 循环指令 LOOP(循环指令) , LOOPPZ/LOOPE(0 或等于时循环指令)、LOOPNZ/LOOPNE(非 0 或等于时循环指令) 子程序指令 CALL(调用指令)、RET(返回指令) 中断指令 INT(中断)、INTO(溢出中断) 、RIET(中断返回) 6)处理器控制指令:处理器控制类型指令指令说明指令标志处理CLC(进位指令0)、CMC(进位取反指令)、 STC(进位)。
位置为1指令)、CLD(方向标志置1指令)、STD(方向标志位置置1指令)、CLI(中断标志置0指令)、STI(中断标志置1指令)其他处理器控制指令NOP(无操作) )、HLT(停止)、WAIT(等待)、ESC(转义码)、LOCK(阻塞)参考:https://www.bilayu.com/

汇编指令对应机器码表

程序状态字寄存器PSW(ProgramFlag),包括条件码标志和控制标志。
条件码标志包括溢出标志OF、符号标志SF、零标志ZF、进位标志CF、副进位标志AF和奇偶校验标志PF。
控制标志位包括DF方向标志、IF中断标志和TF陷阱标志。
直接符号传送指令提供8位寻址模式。
JC指令对应机器码72,表示记住就分支; JNC指令对应机器码73,意思是无内存时分支; JZ/JE指令对应机器码74,意思是分支; 当结果为0时; 机器码75对应的JNZ/JNE指令表示结果非零时分支; JS命令对应机器码78,表示结果为负数时分支; JNS指令对应机器码79,表示结果为正时转移; JO指令对应机器码70,表示发生溢出时分支; JNO指令对应机器码71,表示溢出时分支; 无溢出; 机器码7A对应的JP/JPE指令表示奇偶校验位为偶数时分支; JNP/IP指令对应机器码7B,表示奇偶校验位为奇数时转移。
间接标志传输指令还提供 8 位寻址。
JA/JNBE指令对应机器码77,表示高于或不低于它时分支; JAE/JNB指令对应机器码73,为高电平或等于JB/JNAE指令时表示分支; 到机器码72,表示较低时分支; JBE/JNA命令对应机器码76,小于等于时表示转移; JG/JNLE指令对应机器码7F,表示分支较大时; JGE/JNL指令对应机器码7D,大于等于则转移; JL/JNGE指令对应机器码7C,表示较小时分支; 机器码7E对应的JLE/JNG指令表示小于等于时转移。
无条件跳转命令使用特定的操作码进行跳转,包括短相对跳转(EBcb)、相对跳转(E9cw)、绝对跳转(FF/4)等。
这些指令允许程序直接跳转到内存中的指定位置。
16位/32位地址模式指令使用特定的操作码进行跳转,包括JArel16/32、JAErel16/32、JBrel16/32等。
这些指令可以根据程序的状态条件进行跳转,实现灵活的控制流程。
总之,汇编语言指令对应的机器码表是汇编语言编程的重要组成部分。
它为程序员提供了实现复杂逻辑和控制流的工具。
通过理解这些指令及其相应的机器代码,程序员可以更有效地编写和优化程序代码。

汇编语言指令大全,要详细的  !!

汇编语言指令集包含许多功能丰富的指令,用于数据传输、算术运算、逻辑运算、程序流控制和字符串处理。
我们一一分析:

数据传输:MOV指令用于寄存器和存储单元之间传输数据; PUSH和POP用于堆栈操作 XCHG交换两个操作数的数据; 算术:ADD和ADC进行加法,SUB和SBB进行减法; INC 和DEC 实现数值加法和减法。
MUL和IMUL负责乘法,而DIV和IDIV执行除法运算。
逻辑:AND、OR、XOR、NOT 和 TEST 执行位逻辑运算、SHR、SAL 等。
执行移动操作。
程序流程:JMP控制跳转,JMP、JZ、JS等。
根据条件进行条件跳转,而LOOP系列指令用于循环控制。
字符串处理:MOVSB、MOVSW、MOVSD 等指令用于字符串的传输、比较和查找。
LODSB 和 STOSB 处理字符串加载和存储。
其他:CALL和RET用于子程序调用和返回,INT和IRET用于中断处理和返回。
这些指令在编程中起着关键作用,开发者会根据具体需要选择合适的指令进行操作。
如果您需要了解更多具体说明的格式和使用方法,我们建议您咨询专业人士以获取最新信息。

热门资讯
电脑加装固态硬盘教程:多种方式轻松升级存储
苹果手机一键清理
主板上的电源线
内存条和主板不兼容怎么解决
realme流量管理攻略:超额提醒关闭、上网卡切换及每日使用情况查看教程
寄存器和cache哪个速度快
交流伺服电机选型
电脑主板总线