文档详情

飞思卡尔8位单片机MC9S0804程序HC08CPU与汇编基础指令系统.doc

发布:2016-12-28约2.57万字共11页下载文档
文本预览下载声明
5.3 指令系统 5.3.1 数据传送类指令 (1)取数指令 取数指令的功能是取出存储器中的数放入寄存器A、X、HX中。同时按取出的数来改变N、Z标志,当取出的数为负(最高位为1)时,则负标志位N=1,当取出的数为0时,则零标志位Z=1。对其它标志位没有影响。LD是Load的简写,随后的字母是CPU内部寄存器名(LD与寄存器名之间没有空格)。 编号 指令 操作 寻址方式 (1) LDA #opr8 #opr8 → A IMM (2) LDA addr8 (addr8) → A DIR (3) LDA addr16 (addr16) → A EXT (4) LDA addr16,X (addr16+HX) → A IX2 (5) LDA addr8,X (addr8+HX)→ A IX1 (6) LDA ,X (HX) → A IX (7) LDA addr8,SP (addr8+SP)→ A SP1 (8) LDA addr16,SP (addr16+SP)→A SP2 (9) LDX #opr8 #opr8 → X IMM (10) LDX addr8 (addr8) → X DIR (11) LDX addr16 (addr16) → X EXT (12) LDX addr16,X (addr16+HX) → X IX2 (13) LDX addr8,X (addr8+HX)→ X IX1 (14) LDX ,X (HX) → X IX (15) LDX addr8,SP (addr8+SP)→X SP1 (16) LDX addr16,SP (addr16+SP)→X SP2 (17) LDHX #opr16 #opr16 → HX IMM (18) LDHX addr8 (addr8: addr8+1)→HX DIR 特别说明:addr8是指8位地址,或指在地址处于第0页(地址高8位为0)的变量,addr16是指16位地址,或指在地址处于非第0页(地址高8位不为0)的变量,实际编程时尽可能把常用的内存变量开辟在第0页,减少汇编后的程序长度。但把变量开辟在哪一页,对程序无明显影响。 LDA、LDX是取一个字节的操作,均有8种寻址方式。LDHX是取两个字节的操作,只有2种寻址方式。 LDHX #$36EF ;把十六进制数36EF放入HX中 LDHX $0058 ;把$0058、$0059两个存储器单元的内容取到HX中 特别说明:指令LDHX $0058的功能是一次读取两个存储器单元$0058、$0059中的数放入HX中,其中存储器单元$0058中的数被放入H中,存储器单元$0059中的数被放入X中。,数据存放时应注意这个特点。 (2)存数指令 存数指令的功能是将寄存器A、X、HX的数,存入存储器单元中。对标志位的影响同上。ST是Store的简写,随后的字母是CPU内部寄存器名(ST与寄存器名之间没有空格)。 编号 指令 操作 寻址方式
显示全部
相似文档