51单片机汇编指令集 (指令集带英文翻译)

51单片机汇编指令集 (指令集带英文翻译)

一、数据传送类指令(7种助记符)
MOV
(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;
MOVC(Move Code)读取程序存储器数据表格的数据传送;
MOVX (Move External RAM) 对外部RAM的数据传送;
XCH (Exchange) 字节交换;
XCHD (Exchange low-order Digit) 低半字节交换;
PUSH (Push onto Stack) 入栈;
POP  (Pop from Stack) 出栈;

二、算术运算类指令(8种助记符)
ADD(Addition)
加法;
ADDC(Add with Carry)
带进位加法;
SUBB(Subtract with Borrow) 带借位减法;
DA(Decimal Adjust) 十进制调整;
INC(Increment) 加1;
DEC(Decrement) 减1;
MUL(Multiplication、Multiply) 乘法;
DIV(Division、Divide) 除法;

三、逻辑运算类指令(10种助记符)
ANL(AND Logic)
逻辑与;
ORL(OR Logic)
逻辑或;
XRL(Exclusive-OR Logic) 逻辑异或;
CLR(Clear) 清零;
CPL(Complement) 取反;
RL(Rotate left) 循环左移;
RLC(Rotate Left throught the Carry flag) 带进位循环左移;
RR(Rotate Right) 循环右移;
RRC (Rotate Right throught the Carry flag) 带进位循环右移;
SWAP (Swap) 低4位与高4位交换;

四、控制转移类指令(17种助记符)
ACALL(Absolute subroutine Call)子程序绝对调用;
LCALL(Long subroutine Call)子程序长调用;
RET(Return from subroutine)子程序返回;
RETI(Return from Interruption)中断返回;
SJMP(Short Jump)短转移;
AJMP(Absolute Jump)绝对转移;
LJMP(Long Jump)长转移;
CJNE (Compare Jump if Not Equal)比较不相等则转移;
DJNZ (Decrement Jump if Not Zero)减1后不为0则转移;
JZ (Jump if Zero)结果为0则转移;
JNZ (Jump if Not Zero) 结果不为0则转移;
JC (Jump if the Carry flag is set)有进位则转移;
JNC (Jump if Not Carry)无进位则转移;
JB (Jump if the Bit is set)位为1则转移;
JNB (Jump if the Bit is Not set) 位为0则转移;
JBC(Jump if the Bit is set and Clear the bit) 位为1则转移,并清除该位;
NOP (No Operation) 空操作;

五、位操作指令(1种助记符)
CLR
位清零;
SETB(Set Bit)
 位 置1 。


8
种常用伪指令
1.ORG   16位地址;
此指令用在原程序或数据块的开始,指明此语句后面目标程序或数据块存放的起始地址。
2.[标号:] DB 字节数据项表;
将项表中的字节数据存放到从标号开始的连续字节单元中。例如:SEG: DB 88H,100,“7”,“C”
3.[标号:]DW   双字节数据项表;
定义16位地址表,16地址按低位地址存低位字节,高位地址存高位字节。
例如:TAB: DW 1234H,7BH
4.名字 EQU 表达式 或名字=表达式;
用与给一个表达式赋值或给字符串起名字。之后名字可用做程序地址,数据地址或立即数地址使用。名字必须是一字母开头的字母数字串。
例如:COUNT=10 或 SPACE EQU 10H
5.名字 DATA 直接字节地址;
给8位内部RAM单元起个名字,名字必须是一字母开头的字母数字串。同一单元可起多个名字。
例如:ERROR DATA 80H
6.名字 XDATA 直接字节地址;
给8位外部RAM起个名字,名字规定同DATA伪指令。
例如:IO_PORT XDATA 0CF04H
7.名字 BIT 位指令;
给一可位寻址的位单元起个名字,规定同DATA伪指令。
例如:SWT BIT 30H
8.[标号:] END;
指出源程序到此结束,汇编对其后的程序语句不予理睬。源程序只在主程序最后使用一个END。



 

1.数据传送指令(30条)
MOV A,Rn 寄存器送 A 1 1 E8--EF
MOV A,data 直接字节送A 2 1 E5
MOV A,@Ri 间接RAM 送A 1 1 E6--E7
MOV A,#data 立接数送 A 2 1 74
MOV Rn,A A 送寄存器 1 1 F8--FF
MOV Rn,data 直接数送寄存器 2 2 A8--AF
MOV Rn,#data 立即数送寄存器 2 1 78--7F
MOV data,A A 送直接字节 2 1 F5
MOV data,Rn 寄存器送直接字节 2 1 88—8F
MOV data,data 直接字节送直接字节 3 2 85
MOV data,@Ri 间接 Rn 送直接字节 2 286;87
MOV data,#data 立即数送直接字节 3 2 75
MOV @Ri,A A 送间接 Rn 1 2 F6;F7
MOV @Ri,data 直接字节送间接Rn 1 1 A6;A7
MOV @Ri,#data 立即数送间接 Rn 2 2 76;77
MOV DPTR,#data16 16 位常数送数据指针 3 1 90
MOV C,bit 直接位送进位位 2 1 A2
MOV bit,C 进位位送直接位 2 2 92
MOVC A,@A+DPTR A+DPTR 寻址程序存贮字节送 A 3 2 93
MOVC A,@A+PC A+PC 寻址程序存贮字节送A 1 2 83
MOVX A,@Ri 外部数据送A(8 位地址) 1 2 E2;E3
MOVX A,@DPTR 外部数据送A(16 位地址) 1 2 E0
MOVX @Ri,A A 送外部数据(8 位地址) 1 2F2;F3
MOVX @DPTR,A A 送外部数据(16 位地址) 12 F0
PUSH data 直接字节进栈道,SP 加1 2 2 C0
POP data 直接字节出栈,SP 减1 2 2 D0
XCH A,Rn 寄存器与 A 交换 1 1 C8—CF
XCH A,data 直接字节与A 交换 2 1 C5
XCH A,@Ri 间接Rn 与A 交换 1 1 C6;C7
XCHD A,@Ri 间接Rn 与A 低半字节交换 1 1 D6;D7
2.逻辑运算指令(35条)
ANL A,Rn 寄存器与到A 1 1 58—5F
ANL A,data 直接字节与到A 2 1 55
ANL A,@Ri 间接RAM与到A 1 1 56;57
ANL A,#data 立即数与到A 2 1 54
ANL data,A A与到直接字节 2 1 52
ANL data,#data 立即数与到直接字节 3 2 53
ANL C,bit 直接位与到进位位 2 2 82
ANL C,/bit 直接位的反码与到进位位 2 2 B0
ORL A,Rn 寄存器或到A 1 1 48—4F
ORL A,data 直接字节或到A 2 1 45
ORL A,@Ri 间接RAM或到A 1 1 46;47
ORL A,#data 立即数或到A 2 1 44
ORL data,A A或到直接字节 2 1 42
ORL data,#data 立即数或到直接字节 3 2 43
ORL C,bit 直接位或到进位位 2 2 72
ORL C,/bit 直接位的反码或到进位位 2 2 A0
XRL A,Rn 寄存器异或到A 1 1 68—6F
XRL A,data 直接字节异或到A 2 1 65
XRL A,@Ri 间接RAM异或到A 1 1 66;67
XRL A,#data 立即数异或到A 2 1 64
XRL data,A A异或到直接字节 2 1 62
XRL data,#data 立即数异或到直接字节 3 2 63
SETB C 进位位置 1 1 1 D3
SETB bit 直接位置 1 2 1 D2
CLR A A清0 1 1 E4
CLR C 进位位清 0 1 1 C3
CLR bit 直接位清 0 2 1 C2
CPL A A求反码 1 1 F4
CPL C 进位位取反 1 1 B3
CPL bit 直接位取反 2 1 B2
RL A A循环左移一位 1 1 23
RLC A A 带进位左移一位 1 1 33
RR A A右移一位 1 1 03
RRC A A 带进位右移一位 1 1 13
SWAP A A 半字节交换 1 1 C4
3.算术运算指令(24条)
ADD A,Rn 寄存器加到A 1 1 28—2F
ADD A,data 直接字节加到A 2 1 25
ADD A,@Ri 间接RAM 加到A 1 1 26;27
ADD A,#data 立即数加到A 2 1 24
ADDC A,Rn 寄存器带进位加到 A 1 1 38—3F
ADDC A,data 直接字节带进位加到A 2 1 35
ADDC A,@Ri 间接RAM 带进位加到A 1 136;37
ADDC A,#data 立即数带进位加到 A 2 1 34
SUBB A,Rn 从A 中减去寄存器和进位 1 198—9F
SUBB A,data 从A 中减去直接字节和进位 2 195
SUBB A,@Ri 从A 中减去间接RAM 和进位 1 1 96;97
SUBB A,#data 从A 中减去立即数和进位 2 194
INC A A加1 1 1 04
INC Rn 寄存器加 1 1 1 08—0F
INC data 直接字节加1 2 1 05
INC @Ri 间接RAM 加1 1 1 06;07
INC DPTR 数据指针加1 1 2 A3
DEC A A减1 1 1 14
DEC Rn 寄存器减 1 1 1 18—1F
DEC data 直接字节减1 2 1 15
DEC @Ri 间接RAM 减1 1 1 16;17
MUL AB A乘B 1 4 A4
DIV AB A被B除 1 4 84
DA A A十进制调整 1 1 D4
4.转移指令(22条)
AJMP addr 11 绝对转移 2 2 *1
LJMP addr 16 长转移 3 2 02
SJMP rel 短转移 2 2 80
JMP @A+DPTR 相对于DPTR 间接转移 1 2 73
JZ rel 若A=0 则转移 2 2 60
JNZ rel 若A≠0 则转移 2 2 70
JC rel 若C=1 则转移 2 2 40
JNC rel 若C≠1 则转移 2 2 50
JB bit,rel 若直接位=1 则转移 3 2 20
JNB bit,rel 若直接位=0 则转移 3 2 30
JBC bit,rel 若直接位=1 则转移且清除 3 210
CJNE A,data,rel 直接数与 A 比较,不等转移3 2 B5
CJNE A,#data,rel 立即数与 A 比较,不等转移3 2 B4
CJNE @Ri,#data,rel 立即数与间接RAM比较,不等转移 3 2 B6;B7
CJNE Rn,#data,rel 立即数与寄存器比较不等转移 3 2 B8—BF
DJNZ Rn,rel 寄存器减 1 不为0 转移 2 2 D8—DF
DJNZ data,rel 直接字节减1 不为 0 转移 3 2 D5
ACALL addr 11 绝对子程序调用 2 2 *1
LCALL addr 16 子程序调用 3 2 12
RET 子程序调用返回 1 2 22
RETI 中断程序调用返回 1 2 32
NOP 空操作 1 1 00

 

 

 

版本二

汇编指令英文全称

1.通用数据传送指令

MOV---->move

 MOV dest,src ;dest←src

 MOV指令把一个字节或字的操作数从源地址src传送至目的地址dest。

 

MOVSX---->extendedmove with sign data

MOVZX---->extendedmove with zero data

PUSH---->push

POP---->pop

进栈出栈指令

PUSHA---->pushall

POPA---->popall

PUSHAD---->pushall data

POPAD---->pop all data

BSWAP---->byteswap

XCHG---->exchange

交换指令用来将源操作数和目的操作数内容交换,操作数可以是字、也可以是字节,可以在通用寄存器与通用寄存器或存储器之间对换数据,但不能在存储器与存储器之间对换数据。

movax,1234h ;ax=1234h

movbx,5678h ;bx=5678h

xchgax,bx ;ax=5678h,bx=1234h

xchgah,al ;ax=7856h

 

CMPXCHG---->compareand change

XADD---->exchangeand add

 

XLAT---->translate

换码指令用于将BX指定的缓冲区中、AL指定的位移处的数据取出赋给AL。

2.输入输出端口传送指令

 

IN---->input

OUT---->output

3.目的地址传送指令

 

LEA---->load effective addres

有效地址传送指令

movbx,0400h

movsi,3ch

leabx,[bx+si+0f62h];BX=139EH

这里BX得到的是主存单元的有效地址,不是物理地址,也不是该单元的内容。

LDS---->loadDS

LES---->loadES

LFS---->loadFS

LGS---->loadGS

LSS---->loadSS

4.标志传送指令

 

LAHF---->load AH from flag

SAHF---->save AH to flag

PUSHF---->pushflag

POPF---->popflag

PUSHD---->pushdflag

POPD---->popdflag

 

二、算术运算指令

 

ADD---->add

加法指令 mov al,0fbh ;al=0fbh

addal,07h ;al=02h

ADC---->addwith carry

INC---->increase1

AAA---->asciiadd with adjust

DAA---->decimaladd with adjust

SUB---->substract

SBB---->substractwith borrow

DEC---->decreasesubstract 1

NEC---->negative

CMP---->compare

AAS---->asciiadjust on substract

DAS---->decimaladjust on substract

MUL---->multiplication

IMUL---->integermultiplication

AAM---->asciiadjust on multiplication

DIV---->divide

IDIV---->integerdivide

AAD---->asciiadjust on divide

CBW---->change byte to word

CWD---->changeword to double word

CWDE---->changeword to double word with sign to EAX

CDQ---->changedouble word to quadrate word

 

三、逻辑运算指令

 

AND---->and

or---->or

XOR---->xor

NOT---->not

TEST---->test

SHL---->shiftleft

SAL---->arithmaticshift left

SHR---->shiftright

SAR---->arithmaticshift right

ROL---->rotateleft

ROR---->rotateright

RCL---->rotateleft with carry

RCR---->rotateright with carry

 

四、串指令

 

MOVS---->move string

CMPS---->comparestring

SCAS---->scanstring

LODS---->loadstring

STOS---->storestring

REP---->repeat

REPE---->repeatwhen equal

REPZ---->repeatwhen zero flag

REPNE---->repeatwhen not equal

REPNZ---->repeatwhen zero flag

REPC---->repeatwhen carry flag

REPNC---->repeatwhen not carry flag

 

五、程序转移指令

 

1>无条件转移指令(长转移)

 

JMP---->jump

CALL---->call

RET---->return

RETF---->returnfar

 

2>条件转移指令(短转移,-128到+127的距离内)

 

JAE---->jumpwhen above or equal

JNB---->jumpwhen not below

JB---->jumpwhen below

JNAE---->jumpwhen not above or equal

JBE---->jumpwhen below or equal

JNA---->jumpwhen not above

JG---->jumpwhen greater

JNLE---->jumpwhen not less or equal

JGE---->jumpwhen greater or equal

JNL---->jumpwhen not less

JL---->jumpwhen less

JNGE---->jumpwhen not greater or equal

JLE---->jumpwhen less or equal

JNG---->jumpwhen not greater

JE---->jumpwhen equal

JZ---->jumpwhen has zero flag

JNE---->jumpwhen not equal

JNZ---->jumpwhen not has zero flag

JC---->jumpwhen has carry flag

JNC---->jumpwhen not has carry flag

JNO---->jumpwhen not has overflow flag

JNP---->jumpwhen not has parity flag

JPO---->jumpwhen parity flag is odd

JNS---->jumpwhen not has sign flag

JO---->jumpwhen has overflow flag

JP---->jumpwhen has parity flag

JPE---->jumpwhen parity flag is even

JS---->jumpwhen has sign flag

 

3>循环控制指令(短转移)

 

LOOP---->loop

LOOPE---->loopequal

LOOPZ---->loopzero

LOOPNE---->loopnot equal

LOOPNZ---->loopnot zero

JCXZ---->jumpwhen CX is zero

JECXZ---->jumpwhen ECX is zero

 

4>中断指令

 

INT---->interrupt

INTO---->overflowinterrupt

IRET---->interruptreturn

 

5>处理器控制指令

 

HLT---->halt

WAIT---->wait

ESC---->escape

LOCK---->lock

NOP---->nooperation

STC---->setcarry

CLC---->clearcarry

CMC---->carrymake change

STD---->setdirection

CLD---->cleardirection

STI---->setinterrupt

CLI---->clearinterrupt

 六、伪指令

 

DW---->definw word

PROC---->procedure

ENDP---->endof procedure

SEGMENT---->segment

ASSUME---->assume

ENDS---->endsegment

END---->end

汇编指令中文释义

数据传输指令

───────────────────────────────────────

它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.

1. 通用数据传送指令.

MOV传送字或字节.

MOVSX先符号扩展,再传送.

MOVZX先零扩展,再传送.

PUSH把字压入堆栈.

POP把字弹出堆栈.

PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.

POPA把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.

PUSHAD把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.

POPAD把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.

BSWAP交换32位寄存器里字节的顺序

XCHG交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)

CMPXCHG比较并交换操作数.(第二个操作数必须为累加器AL/AX/EAX )

XADD先交换再累加.( 结果在第一个操作数里 )

XLAT字节查表转换.

──BX 指向一张256 字节的表的起点, AL 为表的索引值 (0-255,即

0-FFH);返回 AL 为查表结果. ( [BX+AL]->AL )

2. 输入输出端口传送指令.

INI/O端口输入.( 语法: IN 累加器, {端口号│DX} )

OUTI/O端口输出.( 语法: OUT {端口号│DX},累加器 )

输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器DX 指定时,

其范围是 0-65535.

3. 目的地址传送指令.

LEA装入有效地址.

例: LEA DX,string ;把偏移地址存到DX.

LDS传送目标指针,把指针内容装入DS.

例: LDS SI,string ;把段地址:偏移地址存到DS:SI.

LES传送目标指针,把指针内容装入ES.

例: LES DI,string ;把段地址:偏移地址存到ES:DI.

LFS传送目标指针,把指针内容装入FS.

例: LFS DI,string ;把段地址:偏移地址存到FS:DI.

LGS传送目标指针,把指针内容装入GS.

例: LGS DI,string ;把段地址:偏移地址存到GS:DI.

LSS传送目标指针,把指针内容装入SS.

例: LSS DI,string ;把段地址:偏移地址存到SS:DI.

4. 标志传送指令.

LAHF标志寄存器传送,把标志装入AH.

SAHF标志寄存器传送,把AH内容装入标志寄存器.

PUSHF标志入栈.

POPF标志出栈.

PUSHD32位标志入栈.

POPD32位标志出栈.

 

二、算术运算指令

───────────────────────────────────────

ADD加法.

ADC带进位加法.

INC加 1.

AAA加法的ASCII码调整.

DAA加法的十进制调整.

SUB减法.

SBB带借位减法.

DEC减 1.

NEC求反(以 0 减之).

CMP比较.(两操作数作减法,仅修改标志位,不回送结果).

AAS减法的ASCII码调整.

DAS减法的十进制调整.

MUL无符号乘法.

IMUL整数乘法.

以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),

AAM乘法的ASCII码调整.

DIV无符号除法.

IDIV整数除法.

以上两条,结果回送:

商回送AL,余数回送AH, (字节运算);

或 商回送AX,余数回送DX, (字运算).

AAD除法的ASCII码调整.

CBW字节转换为字. (把AL中字节的符号扩展到AH中去)

CWD字转换为双字. (把AX中的字的符号扩展到DX中去)

CWDE字转换为双字. (把AX中的字符号扩展到EAX中去)

CDQ双字扩展. (把EAX中的字的符号扩展到EDX中去)

 

三、逻辑运算指令

───────────────────────────────────────

AND与运算.

or 或运算.

XOR异或运算.

NOT取反.

TEST测试.(两操作数作与运算,仅修改标志位,不回送结果).

SHL逻辑左移.

SAL算术左移.(=SHL)

SHR逻辑右移.

SAR算术右移.(=SHR)当值为负时,高位补 1 ;当值为正时,高位补 0

ROL循环左移.

ROR循环右移.

RCL通过进位的循环左移.

RCR通过进位的循环右移.

以上八种移位指令,其移位次数可达255次.

移位一次时, 可直接用操作码. 如 SHLAX,1.

移位>1次时, 则由寄存器CL给出移位次数.

如 MOV CL,04

SHLAX,CL

 

四、串指令

───────────────────────────────────────

DS:SI源串段寄存器 :源串变址.

ES:DI目标串段寄存器:目标串变址.

CX 重复次数计数器.

AL/AX扫描值.

D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量.

Z标志 用来控制扫描或比较操作的结束.

MOVS串传送.

(MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. )

CMPS串比较.

( CMPSB比较字符.CMPSW 比较字. )

SCAS串扫描.

把AL或AX的内容与目标串作比较,比较结果反映在标志位.

LODS装入串.

把源串中的元素(字或字节)逐一装入AL或AX中.

(LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )

STOS保存串.

是LODS的逆过程.

REP当CX/ECX<>0时重复.

REPE/REPZ当ZF=1或比较结果相等,且CX/ECX<>0时重复.

REPNE/REPNZ当ZF=0或比较结果不相等,且CX/ECX<>0时重复.

REPC当CF=1且CX/ECX<>0时重复.

REPNC当CF=0且CX/ECX<>0时重复.

 

五、程序转移指令

───────────────────────────────────────

1>无条件转移指令 (长转移)

JMP无条件转移指令

CALL过程调用

RET/RETF过程返回.

2>条件转移指令 (短转移,-128到+127的距离内)

( 当且仅当(SF XOR OF)=1时,OP1 JA/JNBE 不小于或不等于时转移.

JAE/JNB大于或等于转移.

JB/JNAE小于转移.

JBE/JNA小于或等于转移.

以上四条,测试无符号整数运算的结果(标志C和Z).

JG/JNLE大于转移.

JGE/JNL大于或等于转移.

JL/JNGE小于转移.

JLE/JNG小于或等于转移.

以上四条,测试带符号整数运算的结果(标志S,O和Z).

JE/JZ等于转移.

JNE/JNZ不等于时转移.

JC 有进位时转移.

JNC无进位时转移.

JNO不溢出时转移.

JNP/JPO奇偶性为奇数时转移.

JNS符号位为"0" 时转移.

JO 溢出转移.

JP/JPE奇偶性为偶数时转移.

JS 符号位为 "1" 时转移.

3>循环控制指令(短转移)

LOOPCX不为零时循环.

LOOPE/LOOPZCX不为零且标志Z=1时循环.

LOOPNE/LOOPNZCX不为零且标志Z=0时循环.

JCXZCX为零时转移.

JECXZECX为零时转移.

4>中断指令

INT中断指令

INTO溢出中断

IRET中断返回

5>处理器控制指令

HLT处理器暂停, 直到出现中断或复位信号才继续.

WAIT当芯片引线TEST为高电平时使CPU进入等待状态.

ESC转换到外处理器.

LOCK封锁总线.

NOP空操作.

STC置进位标志位.

CLC清进位标志位.

CMC进位标志取反.

STD置方向标志位.

CLD清方向标志位.

STI置中断允许位.

CLI清中断允许位.

 

六、伪指令

─────────────────────────────────────

DW 定义字(2字节).

PROC定义过程.

ENDP过程结束.

SEGMENT定义段.

ASSUME建立段寄存器寻址.

ENDS段结束.

END程序结束.

 

 

版本三

单片机 汇编语言指令的英文全称

 

      最近在学习单片机汇编语言编程的过程中,我发现某些汇编语言指令(如DJNZ、CJNE等)不好记,每次用到还得查课本。实际上这些指令都是由英文简写而来的,为此我找了一些资料,整理了汇编语言指令的英文全称,如下:MOV     (Move)

MOVC (Move Code)

MOVX (Move External)

XCH    (Exchange)

PUSH

POP

AJMP  (Absolute Jump)

LJMP   (Long Jump)

SJMP   (Short Jump)

JMP     (Jump Indirect)

JZ         (Jump Zero)

JNZ     (Jump Not Zero)

JC         (Jump if Carry)

JNC     (Jump if Not Carry)

JB         (Jump if Bit is set)

JNB     (Jump if Not Bit)

JBC       (If Bit is set and Clear Bit)

CJNE   (Compare and Jump if Not Equal)

DJNZ   (Decrement and Jump if Not Zero)

ACALL (Absolute Call)

LCALL (Long Call)

RET       (Return)

NOP     (No Operation)

ADD

ADDC (Add with Carry)

SUBB  (Substract with Borrow)

MUL    (Multiply)

DIV       (Divide)

INC     (Increment)

DEC    (Decrement)

ANL    (Logical AND)

ORL    (Logical OR)

XRL    (Logical Exclusive OR)

CPL    (Complement)

CLR    (Clear)

SEBT  (Set Bit)

RL        (Rotate Left)

RR        (Rotate Right)

RLC    (Rotate Left throught the Carry flag)

RRC    (Rotate Right throught the Carry flag)

XCHD

SWAP

DA      (Decimal Adjust)

 

ORG   (Origin)

DB      (Define Byte)

DW     (Define Word)

EQU    (Equal)

DATA

XDATA (External Data)

BIT

END

 

 

你可能感兴趣的:(String,汇编,less,扩展,Exchange,subroutine)