完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
指令格式
[名字:] 操作码 操作数1,操作数2,··;注释 名字—标号或者变量名 标号是指令所在地址的标志符号。 操作码—操作的性质 操作数—操作对象 (可能书数据,也可能是数据的地址或者符合。) 注释—解释指令或程序的含义 指令分类 按所占字节分:
——说明操作数所在地址的方法 1.立即数寻址方式 直接在指令中给出操作数—也称立即数。 需在操作数前加标志**#** 例如: MOV A, #40H ; 40H→A 立即数40H位于指令码中,存放在程序存储器内。 立即数只能作源操作数,不能作目的操作数。 以A~F打头的16进制数字出现在指令时,前面一定要加一个数字0。 2.寄存器寻址方式 指令中的操作数为某一寄存器内容。 有R0~R7,A(不能是Acc),B,C,DPTR 例如:MOV A , R1 ;(R1)→A 3.直接寻址方式 指令中直接给出操作数的单元地址,操作数的单元地址用“ direct ”表示。 MOV A, direct 例如:MOV A , 40H ;(40H)→A 表示把内部RAM单元(direct)的内容传送到指令中,两个操作数都可由直接寻址方式给出。 MOV direct1, direct2 例如: MOV 42H , 62H ;(62H)→42H 直接寻址是访问片内特殊功能寄存器的唯一寻址方式。 4.寄存器间接寻址方式 寄存器中存的是操作数地址,即先从寄存器中找到操作数的地址,再按该地址找到操作数。 在寄存器名称前加“@”,与寄存器寻址区别。 有:@DPTR ,@R0 ,@R1 例如:MOV A,@R0 若(R0)=40H,则 (40H) →A。 5.基址加变址寄存器间址寻址方式 以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,两者内容相加结果为操作数的16位地址。 MOVC A,@A+PC MOVC A,@A+DPTR 若(A)=05H,(DPTR)=0400H,(0405H) → A。 可将固定的的表格存放在程序存储器中,DPTR为表头,A为表中偏移量,读取对应的表格参数。 JMP A,@A+DPTR 可根据A中不同内容,实现跳向不同程序入口的跳转。 6.相对寻址方式 以PC值加上相对偏移量rel,形成转移目的地址,使程序跳转。 (PC)=转移指令所在的地址+转移指令字节数 转移目的地址=转移指令所在的地址+转移指令字节数+rel 偏移量rel是带符号8位二进制补码数,–128~+127。 例如: SJMP rel;(PC)+rel → PC SJMP LOOP ; 目的地址标号LOOP→ PC,由汇编程序自动计算偏移量。 7.位寻址方式 对可寻址位置1、清0、求反、传送、判跳和逻辑运算等操作。 一般为直接位地址“bit”或位名。 MOV C,bit 例如:MOV C,40H;(40H) → CY SETB IT0 位处理功能增强了实时性。 操作数形式
|
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:10 , Processed in 1.412064 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号