您的位置:首页 > 其它

汇编语言学习记录

2010-03-11 14:19 381 查看
指令
LJMP  XXX 跳转到标号为XXX的地方开始执行
LCALL XXX 调用子程序XXX
RET   返回指令,返回调用前执行下一条指令
MOV R?,#xxx  把数据xxx传递给寄存器R? 其中#表示后面的数据是一个被传递的数据本身
DJNZ R?,D  R?减一如果不等于0则跳转到D,如果等于0则执行下一条程序
INC X 将X值加1
MOV A @R0  将R0作为地址值并把其中数据赋给A 
DB    定义字节伪指令:
DW    定义字伪指令:
DS    保留空间伪指令:从某一地址开始保留若干字节ROM空间留作它用
ORG   程序开始地址伪指令:本条指令的下一条从该地址开始存放数据
PUSH direct 推入:将地址direct中的数据推入堆栈中
POP direct  弹出:将堆栈中的数据送回到direct地址中
XCH A,Rn  数据交换:寄存器与累加器交换
XCH A,direct 直接地址与累加器交换
XCH A,@Ri 间接RAM与累加器交换
XCHD A,@Ri 间接RAM与累加器低四位交换
MOVC A,A+PC 累加器与代码字节之间数据传递类指令
ADD A,X  不带进位加:将X值与A中的值相加并送入A中
ADDC A,X 带进位加:将X中的值和A值相加,并且加上进位位CY中的值
SUBB A,X 带借位减法:没有不带借位的减法指令,如果需要做不带借位的减法指令(在做第一次相减时),只要将CY清零即可 
MUL AB  乘法:将A和B中数值(8位无符号)相乘,高8位放在B中,低8位放在A中,当结果大于FFFFH时,PSW的OV位为'1'(溢出),否则为'0',CY总为'0'
DIV AB(A/B) 将A中值除以B中值(8位无符号),商放在A中,余数放在B中,CY与OV都为'0',若B=0,则OV='1'
INC X 自动加一:将X中数值加一
DEC X 自动减一:将X中数值减一
DA A  十进制加法:对十进制加法进行调整的指令
CLR A 清零指令:对累加器A清零,单周期运算(MOV为双周期)
CPL A 逐位取反:对累加器A的值逐位取反
RL A  循环逻辑左移:将累加器A中数值循环左移,最高位到最低位,第一位到第二位
RLC A 加上CY后循环逻辑左移:将A中数值加上进位值后逻辑左移
RR A  循环逻辑右移:与RL类似
RRC A 加上CY后循环逻辑右移:与RLC类似
SWAP A 将A中的高低四位进行交换
ANL A,X 将A与X中数值按位与并将结果存放在A中
ORL A,X 将A与X中数值按位或并将结果存放在A中
XRL A,X 将A与X中数值按位异或并将结果存放在A中
AJMP

定义
堆栈:后进先出、先进后出
立即数:常数
直接寻址:直接把某个操作数的地址给出 如:MOV A,4FH 把地址4FH的数据给A
    可用直接寻址的空间有内部RAM的低128字节(包括其中的位寻址区及特殊功能寄存器)
寄存器直接寻址:指令中给出的地址码是某一个通用寄存器编号,寄存器内容为操作数,如:MOV A,R0
    可用于寄存器寻址的有R0-R7、ACC、CY(位)、DPTR、B等寄存器
寄存器间接寻址:指令中给出的寄存器的内容为操作数的地址,而不是操作数本身,如:MOV A,@R0
    可用于此种寻址的只能是R0、R1,用DPTR和PC可寻址外部64K字节的ROM、RAM
立即寻址:指令中给的地址码部分就是操作数本身,如:MOV A,04FH
变址寻址:用指令变址寄存器的内容与指令中给出的偏移量相加DPTR所得的结果作为操作数的地址,如:MOVC A,@A+DPTR
    无论用PC或DPTR作为基准指针,变址寻址只适用于程序存储器(ROM),通常用于读取数据表
相对寻址:由程序计数器PC提供的基准地址与指令中提供的偏移量rel相加,得到操作数的地址,如:SJMP rel
位寻址:操作数是二进制的某一位,其中地址出现在指令中,如:SETB bit
    可用于位寻址的空间有内部RAM的可位寻址区和SFR中的字节地址可以被8整除的寄存器空间

寄存器
SFR  特殊功能寄存器
ACC(A) 累加器
B    寄存器B,做乘/除法时用来存储乘数/除数,其他时候做通用寄存器
PSW  程序状态寄存器,用来存储CPU的工作状态
     PSW7  CY:进位标志
     PSW6  AC:半进位标志
     PSW5  FO:用户自定义标志
     PSW4:3  工作寄存器组选择(00:0,01:1,10:2,11:3)
     PSW2  OV:溢出标志(定时器)
     PSW1  保留
     PSW0  P:奇偶校验位,每次运算结束后若A中有1为奇数个则P=1,否则P=0
DPTR(DPH,DPL):数据指针寄存器(16位)
SP   堆栈指针(注:第一个数据存放地址为指针所指向的后一位置)
PCON 电源控制寄存器,用于控制单片机工作方式
     PCON7 SMOD:波特率倍增位
     PCON3:2 GF1、GF0通用标志位
     PCON1 PD:掉电方式位,1为进入掉电方式
     PCON0 IDL:待机方式位,1为进入待机方式
 
PC   程序地址指针

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编 语言 存储 工作 div