汇编语言指令大全
- 格式:pdf
- 大小:454.82 KB
- 文档页数:21
汇编语言常用指令汇总持续更新汇编语言常用指令汇总汇编语言是一种低级编程语言,用于与计算机硬件进行直接交互。
熟悉汇编语言的常用指令对于理解计算机底层原理和进行底层编程非常重要。
本文将对汇编语言常用指令进行汇总,并持续更新。
1. 数据传输指令:- MOV:用于将数据从一个位置复制到另一个位置。
- LXI:用于将双字节立即数加载到指定的寄存器对中。
- LDA:用于将累加器加载到内存地址中的数据。
- STA:用于将累加器中的数据存储到指定的内存地址中。
2. 算术运算指令:- ADD:用于将累加器的内容与给定的寄存器或内存位置中的数据相加。
- SUB:用于从累加器中减去给定的寄存器或内存位置中的数据。
- INR:用于将给定的寄存器或内存位置中的数据增加1。
- DCR:用于将给定的寄存器或内存位置中的数据减少1。
3. 逻辑运算指令:- AND:用于将累加器的内容与给定的寄存器或内存位置中的数据进行逻辑与操作。
- OR:用于将累加器的内容与给定的寄存器或内存位置中的数据进行逻辑或操作。
- XOR:用于将累加器的内容与给定的寄存器或内存位置中的数据进行逻辑异或操作。
- NOT:用于对累加器的内容进行逻辑非操作。
4. 控制指令:- JMP:用于无条件转移到指定的内存地址。
- JZ:在累加器为零时,转移到指定的内存地址。
- JC:在进位标志为1时,转移到指定的内存地址。
- CALL:用于调用子程序。
5. 栈操作指令:- PUSH:用于将给定的寄存器或数据压入栈中。
- POP:从栈中弹出数据并存储到给定的寄存器中。
6. 输入输出指令:- IN:从外部设备读取数据,并存储到累加器中。
- OUT:将累加器中的数据发送到外部设备。
以上仅是汇编语言中常用指令的一小部分,还有许多其他指令可用于执行更复杂的任务。
在实际的汇编语言程序中,这些指令通常会与标签、变量和宏指令一起使用。
总结:汇编语言常用指令汇总了数据传输、算术运算、逻辑运算、控制、栈操作和输入输出等方面的指令。
汇编语言的所有指令数据传送指令集MOV功能: 把源操作数送给目的操作数语法: MOV 目的操作数,源操作数格式: MOV r1,r2MOV r,mMOV m,rMOV r,dataXCHG功能: 交换两个操作数的数据语法: XCHG格式: XCHG r1,r2 XCHG m,r XCHG r,mPUSH,POP功能: 把操作数压入或取出堆栈语法: PUSH 操作数POP 操作数格式: PUSH r PUSH M PUSH data POP r POP mPUSHF,POPF,PUSHA,POPA功能: 堆栈指令群格式: PUSHF POPF PUSHA POPALEA,LDS,LES功能: 取地址至寄存器语法: LEA r,m LDS r,m LES r,mXLAT(XLATB)功能: 查表指令语法: XLAT XLAT m算数运算指令ADD,ADC功能: 加法指令语法: ADD OP1,OP2 ADC OP1,OP2格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data影响标志: C,P,A,Z,S,OSUB,SBB功能:减法指令语法: SUB OP1,OP2 SBB OP1,OP2格式: SUB r1,r2 SUB r,m SUB m,r SUB r,data SUB m,data影响标志: C,P,A,Z,S,OINC,DEC功能: 把OP的值加一或减一语法: INC OP DEC OP格式: INC r/m DEC r/m影响标志: P,A,Z,S,ONEG功能: 将OP的符号反相(取二进制补码)语法: NEG OP格式: NEG r/m影响标志: C,P,A,Z,S,OMUL,IMUL功能: 乘法指令语法: MUL OP IMUL OP格式: MUL r/m IMUL r/m影响标志: C,P,A,Z,S,O(仅IMUL会影响S标志)DIV,IDIV功能:除法指令语法: DIV OP IDIV OP格式: DIV r/m IDIV r/mCBW,CWD功能: 有符号数扩展指令语法: CBW CWDAAA,AAS,AAM,AAD功能: 非压BCD码运算调整指令语法: AAA AAS AAM AAD影响标志: A,C(AAA,AAS) S,Z,P(AAM,AAD)DAA,DAS功能: 压缩BCD码调整指令语法: DAA DAS影响标志: C,P,A,Z,S位运算指令集AND,OR,XOR,NOT,TEST功能: 执行BIT与BIT之间的逻辑运算语法: AND r/m,r/m/data OR r/m,r/m/data XOR r/m,r/m/data TEST r/m,r/m/data NOT r/m 影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0) NOT指令不影响任何标志位SHR,SHL,SAR,SAL功能: 移位指令语法: SHR r/m,data/CL SHL r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL影响标志: C,P,Z,S,OROR,ROL,RCR,RCL功能: 循环移位指令语法: ROR r/m,data/CL ROL r/m,data/CL RCR r/m,data/CL RCL r/m,data/CL 影响标志: C,P,Z,S,O程序流程控制指令集CLC,STC,CMC功能: 设定进位标志语法: CLC STC CMC标志位: CCLD,STD功能: 设定方向标志语法: CLD STD标志位: DCLI,STI功能: 设定中断标志语法: CLI STI标志位: ICMP功能: 比较OP1与OP2的值语法: CMP r/m,r/m/data标志位: C,P,A,Z,OJMP功能: 跳往指定地址执行语法: JMP 地址JXX功能: 当特定条件成立则跳往指定地址执行语法: JXX 地址注:A: ABOVE,当C=0,Z=0时成立B: BELOW,当C=1时成立C: CARRY,当弁时成立CXZ: CX寄存器的值为0(ZERO)时成立E: EQUAL,当Z=1时成立G: GREATER(大于),当Z=0且S=0时成立L: LESS(小于),当S不为零时成立N: NOT(相反条件),需和其它符号配合使用O: OVERFLOW,O=1时成立P: PARITY,P=1时成立PE: PARITY EVEN,P=1时成立PO: PARITY ODD,P=0时成立S: SIGN,S=1时成立Z: ZERO,Z=1时成立LOOP功能: 循环指令集语法: LOOP 地址LOOPE(Z)地址LOOPNE(Z) 地址标志位: 无CALL,RET功能: 子程序调用,返回指令语法: CALL 地址RET RET n标志位: 无INT,IRET功能: 中断调用及返回指令语法: INT n IRET标志位: 在执行INT时,CPU会自动将标志寄存器的值入栈,在执行IRET时则会将堆栈中的标志值弹回寄存器字符串操作指令集MOVSB,MOVSW,MOVSD功能: 字符串传送指令语法: MOVSB MOVSW MOVSD标志位: 无CMPSB,CMPSW,CMPSD功能: 字符串比较指令语法: CMPSB CMPSW CMPSD标志位: C,P,Z,S,OSCASB,SCASW功能: 字符串搜索指令语法: SCASB SCASW标志位: C,P,Z,S,OLODSB,LODSW,STOSB,STOSW功能: 字符串载入或存贮指令语法: LODSB LODSW STOSB STOSW标志位: 无REP,REPE,REPNE功能: 重复前缀指令集语法: REP 指令S REPE 指令S REPNE 指令S标志位: 依指令S而定对于IBM PC机它有它的指令系统,其中包括:数据传送指令、串处理指令、算术指令、控制移动指令、逻辑指令、处理机控制指令。
汇编指令大全(有注释)_IT计算机_专业资料汇编指令大全(有注释)为了方便开发者理解和使用汇编语言,本文汇编指令大全提供了对常用指令的详细注释。
汇编语言是一种低级编程语言,直接操作计算机的硬件和寄存器。
掌握汇编语言对于理解计算机底层原理和优化程序性能至关重要。
下面列举了一些常用的汇编指令,以供参考。
1. MOV指令:用于将一个数据从一个位置复制到另一个位置。
可以在寄存器和内存之间传输数据。
示例:MOV AX, 10h ; 将数据10h复制到寄存器AX中MOV [BX], AX ; 将寄存器AX中的数据复制到内存地址BX指向的位置2. ADD指令:用于将两个数据相加,并将结果存储在指定的位置。
示例:ADD AX, BX ; 将寄存器AX和BX中的数据相加,并将结果保存在AX中ADD [BX], CX ; 将内存地址BX指向的数据与寄存器CX中的数据相加,并将结果保存在内存地址BX指向的位置3. SUB指令:用于将两个数据相减,并将结果存储在指定的位置。
示例:SUB AX, BX ; 将寄存器AX的数据减去BX的数据,并将结果保存在AX中SUB [BX], CX ; 将内存地址BX指向的数据减去寄存器CX的数据,并将结果保存在内存地址BX指向的位置4. INC指令:用于将指定位置的数据加1。
示例:INC AX ; 将寄存器AX的数据加1INC [BX] ; 将内存地址BX指向的数据加15. DEC指令:用于将指定位置的数据减1。
示例:DEC AX ; 将寄存器AX的数据减1DEC [BX] ; 将内存地址BX指向的数据减16. JMP指令:用于无条件跳转到指定的代码位置。
示例:JMP label1 ; 无条件跳转到标签label1处JMP 100h ; 无条件跳转到内存地址100h处7. CMP指令:用于比较两个数据的大小,并根据比较结果设置条件码寄存器。
示例:CMP AX, BX ; 比较寄存器AX和BX的数据大小,并设置条件码寄存器CMP [BX], CX ; 比较内存地址BX指向的数据和寄存器CX的数据大小,并设置条件码寄存器8. JE指令:用于在两个数据相等时跳转到指定的代码位置。
汇编语言指令集合吐血整理汇编语言是一种低级程序设计语言,用于直接控制计算机硬件。
在汇编语言中,指令是程序的基本单位,它告诉计算机执行的操作。
本文将汇编语言常用指令进行吐血整理,帮助读者更好地理解和运用这些指令。
一、数据传送指令数据传送指令用于将数据从一个地方传送到另一个地方,完成数据的读取和存储操作。
常见的数据传送指令包括:1. MOV:将数据从一个位置复制到另一个位置。
语法形式为MOV 目的操作数, 源操作数。
例如:MOV AX, BX 表示将寄存器BX中的数据复制到寄存器AX中。
2. PUSH:将数据压入堆栈。
语法形式为PUSH 操作数。
例如:PUSH AX 表示将AX寄存器中的数据压入堆栈。
二、算术运算指令算术运算指令用于对数据进行基本的算术运算,包括加法、减法、乘法和除法。
常见的算术运算指令包括:1. ADD:将两个操作数相加,并将结果存储到目的操作数中。
语法形式为ADD 目的操作数, 源操作数。
例如:ADD AX, BX 表示将寄存器AX和BX中的数据相加,并将结果存储到AX中。
2. SUB:将源操作数的值从目的操作数中减去,并将结果存储到目的操作数中。
语法形式为SUB 目的操作数, 源操作数。
例如:SUB AX, BX 表示将寄存器BX中的值从AX中减去,并将结果存储到AX中。
三、逻辑运算指令逻辑运算指令用于对数据进行与、或、非等逻辑运算。
常见的逻辑运算指令包括:1. AND:对两个操作数进行逻辑与运算,并将结果存储到目的操作数中。
语法形式为AND 目的操作数, 源操作数。
例如:AND AX, BX表示将寄存器AX和BX中的数据进行逻辑与运算,并将结果存储到AX中。
2. OR:对两个操作数进行逻辑或运算,并将结果存储到目的操作数中。
语法形式为OR 目的操作数, 源操作数。
例如:OR AX, BX 表示将寄存器AX和BX中的数据进行逻辑或运算,并将结果存储到AX中。
四、流程控制指令流程控制指令用于控制程序的执行流程,包括条件分支和循环等。
汇编常用命令总结汇编语言是一种底层的计算机语言,通过使用汇编命令对机器指令进行编写和控制。
在学习和使用汇编语言时,掌握常用的汇编命令非常重要。
以下是汇编常用命令的详细总结: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:软中断。
汇编语言指令大全及实例解析
汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。
在汇编语言中,指令是最基本的操作单位,通过指令可以实现对计算机硬件的控制和操作。
本文将为大家介绍一些常用的汇编语言指令,并通过实例解析它们的具体用法和功能。
1. MOV指令。
MOV指令用于将数据从一个位置复制到另一个位置。
例如,下面的汇编代码将把寄存器AX中的值移动到寄存器BX中:
MOV BX, AX.
这条指令将AX中的值复制到BX中。
2. ADD指令。
ADD指令用于将两个操作数相加,并将结果存储到目标操作数中。
例如,下面的汇编代码将把寄存器AX和BX中的值相加,并将结果存储到AX中:
ADD AX, BX.
3. SUB指令。
SUB指令用于将目标操作数减去源操作数,并将结果存储到目标操作数中。
例如,下面的汇编代码将把寄存器AX中的值减去BX 中的值,并将结果存储到AX中:
SUB AX, BX.
4. CMP指令。
CMP指令用于比较两个操作数的大小,并根据比较结果设置标志位。
例如,下面的汇编代码将比较AX和BX中的值:
CMP AX, BX.
以上是一些常用的汇编语言指令及其实例解析。
通过学习和理解这些指令,我们可以更好地理解和掌握汇编语言的编程技巧,从而更好地编写高效的汇编语言程序。
希望本文对大家有所帮助。
汇编指令大全(DST:destination目的操作数/地址;SRC:source源操作数/地址;port:端口;ac:Accumulator累加器;reg:register寄存器;cnt:counter计数器;opr:除了立即数之外的所有寻址方式(寄存器);立即数:直接包含在代码中,作为代码的一部分,不需要保存在寄存器中的操作数,相当于高级语言中的常量;r8/r16:8位通用寄存器/16位通用寄存器;SR:segment register段寄存器,包括DS、SS、ES、CS;mem:memory,表示存储器操作数;addr:address,表示内存单元地址;)[数据传送指令]一、通用数据传送指令1、传送指令MOV (move)指令的汇编格式:MOV DST,SRC指令的基本功能:(DST)←(SRC) 将原操作数(字节或字)传送到目的地址。
指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于所有指令。
指令的执行对标志位的影响:不影响标志位。
指令的特殊要求:目的操作数DST和源操作数SRC不允许同时为段寄存器;目的操作数DST不能是CS,也不能用立即数方式。
2、进栈指令PUSH (push onto the stack)出栈指令POP (pop from the stack)指令的汇编格式:PUSH SRC ;POP DST指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而POP指令又可将这些数据恢复。
PUSH SRC (SP)←(SP)-2 ;(SP)←(SRC)POP DST (DST)←((SP));(SP)←(SP)指令支持的寻址方式:push 和pop指令不能不能使用立即数寻址方式。
指令对标志位的影响:PUSH 和POP指令都不影响标志位。
指令的特殊要求:PUSH 和POP指令只能是字操作,因此,存取字数据后,SP的修改必须是+2 或者-2;POP指令的DST不允许是CS寄存器;3、交换指令XCHG (exchange)指令的汇编格式:XCHG OPR1,OPR2指令的基本功能:(OPR1)←>(OPR2)指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。
汇编语言指令汇总汇编语言是一种底层编程语言,用于编写计算机程序。
在汇编语言中,指令是执行特定操作的基本单元。
以下是一些常见的汇编语言指令的汇总:1.数据传输指令:-MOV:将源操作数的值复制到目的操作数。
-PUSH:将数据压入栈中。
-POP:从栈中弹出数据。
-LEA:将源操作数的有效地址加载到目的操作数中。
2.算术和逻辑指令:-ADD:将两个操作数相加,结果存储在目的操作数中。
-SUB:将第二个操作数从第一个操作数中减去,结果存储在目的操作数中。
-MUL:将两个操作数相乘,结果存储在目的操作数中。
-DIV:将第一个操作数除以第二个操作数,商存储在目的操作数中。
3.分支和循环指令:-JMP:无条件跳转到指定的地址。
-CMP:比较两个操作数的值。
-JZ/JNZ:当比较结果为零/非零时,跳转到指定的地址。
-JE/JNE:当比较结果为相等/不相等时,跳转到指定的地址。
-JG/JGE/JL/JLE:当比较结果为大于/大于等于/小于/小于等于时,跳转到指定的地址。
-LOOP:循环指令,根据计数寄存器的值重复执行指定的代码块。
4.中断指令:-INT:引发中断,将程序控制权转移到中断服务程序。
-IRET:从中断服务程序返回到调用程序。
5.位操作指令:-AND/OR/XOR:按位与/或/异或操作。
-NOT:按位取反操作。
-SHL/SHR:逻辑左移/逻辑右移操作。
6.I/O指令:-IN:从输入端口读取数据。
-OUT:向输出端口写入数据。
7.标志位操作指令:-CLC:清除进位标志位。
-STC:设置进位标志位。
-CLI:禁用中断。
-STI:启用中断。
8.字符串指令:-MOVS:将一个字符串从源地址移动到目的地址。
-CMPS:比较两个字符串的内容。
-LODS:从源地址加载一个字符或一个字符串。
-STOS:存储一个字符或一个字符串到目的地址。
9.其他指令:-NOP:空操作指令。
-HLT:停止运行指令。
以上只是一些常见的汇编语言指令,汇编语言的指令集因计算机体系结构而异。
1 汇编语言命令大全汇编命令大全<---->MOV(MOVe)传送指令P28 PUSH 入栈指令P32POP 出栈指令P33XCHG(eXCHanG)交换指令P34XLAT(TRANSLATE)换码指令P34LEA (Load Effective Address)有效地址送寄存器指令P35 LDS(Load DS with pointer)指针送寄存器和DS指令P35 LES(Load ES with pointer)指针送寄存器和ES指令P35 LAHF(Load AH with Flags)标志位送AH指令P36 SAHF(Store AH into Flgs)AH送标志寄存器指令P36 PUSHF(PUSH the Flags)标志进栈指令P36POPF(POP the Flags)标志出栈指令P37ADD 加法指令P38ADC 带进位加法指令P39INC 加1指令P39SUB(SUBtract)不带借位的减法指令P40SBB(SuVtrach with borrow)带借位的减法指令P40DEC(DECrement)减1指领P41NEG(NEGate)求补指令P41CMP(CoMPare)比较指令P42MUL(unsinged MULtiple)无符号数乘法指令P46IMUL(sIgned MUL tiple)有符号数乘法指令P46DIV(unsigned DIVide)无符号数除法指令P48IDIV(sIgned DIVide)有符号数除法指令P48CBW(Count Byte to Word)字节转换为字指令P50CWD(Count Word to Doble word)字转换为双字指令P50 DAA 压缩的BCD码加法十进制调整指令P53DAS 压缩的BCD码减法十进制调整指令P53AAA 非压缩的BCD码加法十进制调整指令P54AAS 非压缩的BCD码加法十进制调整指令P54AND 逻辑与指令P54OR 逻辑或指令P55XOR 逻辑异或指令P56NOT 逻辑非指令P56TEST 测试指令P57SHL(SHift logical Letf)逻辑左移指令P57SHR(SHift logical Right)逻辑右移指令P57ROL(Rotate Left )循环左移指令P58ROR(Rotate Right)循环右移指令P58RCL(Rotate Left through Carry)带进位循环左移P58 RCR(Rotate Right through Carry)带进位循环左移P58 MOVS(MOVe String)串传送指令P58STOS(STOre into String)存入串指令P60LODS(LOad from string)从串取指令P60REP(REPeat)重复操作前缀P61CLD(CLear Direction flag)清除方向标志指令P61STD(SeT Direction flag)设置方向标志指令P61CMPS(CoMPare String)串比较指令P62SCAS(SCAn String)串扫描指令P63REPE/REPZ(REPeat while Equal/Zero)相等/为零时重复操作前缀P63REPNE/REPNZ(REPeat while Not Equal/Zero)不相等/不为零进重复前缀IN(INput)输入指令P65OUT(OUTput)输出指令P65JMP(JuMP)无条件转移指令P66JZ,JNZ,JS,JNS,JO,JNO,JP,JNP,JB,JNB,JBE,JNBE,JL,JNL,JLE,JNLE,JCXZ 条件转移指令P67LOOP 循环指令P70LOOPZ/LOOPE 为零/相等时循环指令P70LOOPNZ/LOOPNE 不为零/不相等时循环指令P70CALL 子程序调用指令P71RET(RETun)子程序返回指令P72CLC(CLear Carry)进位位置0指令P77CMC(CoMplement Carry)进位位求反指令P77SRC(SeT Carry)进位位置1指令P77NOP(No OPeretion)无操作指令P77HLT(HaLT)停机指令P77OFFSET 返回偏移地址P85SEG 返回段地址P85EQU(=) 等值语句P90PURGE 解除语句P91DUP 操作数字段用复制操作符P93SEGMENT,ENDS 段定义指令P95ASSUME 段地址分配指令P95ORG 起始偏移地址设置指令P96$ 地址计数器的当前值P97PROC,ENDP 过程定义语句P97NAME,TITLE,END 程序开始结束语句P98MACRO,ENDM 宏定义指令P99---------------------------------------------------------------------------------- 作者:wutoyou-- 发布时间:2004-2-3 14:42:45--段内直接短跳转JMP SHORT OPR段内直接近转移JMP NEAR PTR OPR段内间接转移JMP WORD PTR OPR 段间直接转移JMP FAR PTR OPR段间间接转移JMP DWORD PTR OPRJZ OPR //结果为零转移JNZ OPR //结果不为零转移JS OPR //结果为负转移JNS OPR //结果为正转移JO OPR //溢出转移JNO OPR //不溢出转移JP OPR //结果为偶转移JNP OPR //结果为奇转移JC OPR //有进位转移JNC OPR //无进位转移。
mova,b 把b的值送给aret 返回主程序no p 无作用,英文“n o ope ratio n”的简写,意思是“do no thing”(机器码90)***机器码的含义参看上面(解释:u ltrae dit打开编辑exe文件时你看到90,等同于汇编语句nop)c all 调用子程序je或jz若相等则跳(机器码74 或0F84) jne或jnz若不相等则跳(机器码75或0F85) jmp无条件跳(机器码E B)jb 若小于则跳ja若大于则跳jg 若大于则跳jge若大于等于则跳jl若小于则跳j le 若小于等于则跳p op 出栈p ush 压栈三.常见修改(机器码)74=>7574=>90 74=>EB 75=>74 75=>90 75=>EBjnz->nop75->90(相应的机器码修改)jn z ->jmp 75-> EB(相应的机器码修改)j nz -> jz 75->74 (正常) 0F 85-> 0F 84(特殊情况下,有时,相应的机器码修改)四.两种不同情况的不同修改方法1.修改为jm pje(jn e,jz,jnz)=>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp 的作用是绝对跳,无条件跳,从而跳过下面的出错信息xxxx xxxxx xxx 出错信息,例如:注册码不对,so rry,未注册版不能...,"Funct ion N ot Av aible in D emo"或"Comm and N ot Av aible" 或"Can't save in S harew are/D emo"等(我们希望把它跳过,不让它出现)<。