- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机课04(传送指令)1
Keil C51开发工具 安装 建立项目 添加文件 编译链接 运行 调试 3.4 AT89C51指令系统分类介绍 111条指令,按功能分类,可分为下面5大类: (1)数据传送类(28条) (2)算术操作类(24条 (3)逻辑运算类(25条) (4)控制转移类(17条) (5)位操作类(17条) 指令中符号的意义: Rn 当前寄存器区的8个工作寄存器R0~R7(n=0~7)。 Ri 当前寄存器区中可作间接寻址寄存器的R0、R1(i=0,1)。 Direct 直接地址,内部RAM或SFR的8位字节地址。如 0E0H #data 包含在指令中的8位立即数。如 #0EH #data16 包含在指令中的16位立即数。如 #0A85EH rel 相对转移指令中的偏移量,为8位的带符号补码数。 DPTR 数据指针,可用作16位的数据地址寄存器。 bit 内部RAM或特殊功能寄存器中的直接寻址位。 C(或Cy) 进位标志位或位处理机中的累加器。 addr11 11位目的地址 addr16 16位目的地址 @ 间接寻址寄存器前缀,如@Ri,@A+DPTR (X) X中的内容。如(40H) ((X)) 由X寻址的单元中的内容。如((R0))也可(R0) → 箭头右边的内容被箭头左边的内容所取代。 3.4.1 数据传送类指令(1) 传送指令是使用最频繁的一类指令 通用格式: MOV 目的操作数,源操作数 属“复制” ,而不是“搬家”; 【例B3-6】编程将片外数据存储器2380H单元的内容传送到片内30H单元。 ORG 0800H MOV DPTR,#2380H ; DPTR指向片外2380H单元 MOVX A,@DPTR ;读取2380H单元内容送入A MOV 30H,A ;存入片内30H单元 LP: SJMP LP ;自循环 【例B3-7】编程将片外数据存储器2040H单元的内容传送到A1F8H单元。 ORG 0600H MOV DPTR,#2040H ;DPTR指向片外2040H单元 MOVX A,@DPTR ;2040H单元内容送入A MOV DPTR,#0A1F8H ;DPTR指向片外A1F8H单元 MOVX @DPTR,A ;A的内容送入A1F8H单元 HP: SJMP HP * P.33~34 数据传送类指令(2) 例:MOV SP,#6FH ;设定栈底指针 …… PUSH ACC ;将ACC、B内容保存到堆栈(保护现场) PUSH B …… POP B ;恢复原B 、ACC内容(恢复现场) POP ACC 源操作数 目的操作数 变址寻址 (后进先出) 用交换指令方法: START: MOV A , 3AH ;取原3AH单元数据到A中 XCH A , 3BH ;A中原3AH单元数据与原3BH单元数据交换 XCH A , 3AH ;将A中原3BH单元数据交换到3AH单元中 用堆栈实现交换: START: PUSH 3AH ;将原3AH单元数据压栈 PUSH 3BH ;将原3BH单元数据压栈 POP 3AH ;从栈顶弹出原3BH单元数据给3AH单元 POP 3BH ;从栈顶弹出原3AH单元数据给3BH单元 P52-14 用栈交换ACC与B内容? 【例4-3】设计一子程序,功能为:根据30H单元中的数x(0~9之间)查平方表,求出x相应的平方y存50H单元。x和y均为单字节数。 用DPTR作基址的方法: 地址 机器码 汇编语言源程序 ORG 0300H 0300 E5 30 PFSUB:MOV A ,30H ;取自变量x 0302 90 03 09 MOV DPTR ,#0309H ;或 MOV DPTR,#TAB 0305 93 MOVC A ,@ A + DPTR ;查表得相应函数值 0306 F5 50 MOV 50H ,A ;存结果y 0308 22
文档评论(0)