没有合适的资源?快使用搜索试试~ 我知道了~
首页Freescale HC08指令系统
Freescale HC08指令系统
5星 · 超过95%的资源 需积分: 10 11 下载量 61 浏览量
更新于2023-03-16
评论
收藏 145KB DOC 举报
Freescale HC08指令系统 Freescale HC08指令系统 自己总结的,请指正
资源详情
资源评论
资源推荐
Freescale HC08 指令系统 8/5/2021
Freescale HC08 指令系统
一、数据传送类指令
1、取数指令:取出存储器中的数放入寄存器 A、X、HX 中。同时按取出的数来改变 N、Z
标志,当取出的数为负(最高位为 1)时,则负标志位 N=1,当取出的数为 0 时,则零标志位
Z=1。对其它标志位没有影响。LD 是 Load 的简写,随后的字母是 CPU 内部寄存器名(LD
与寄存器名之间没有空格)。
(1) 所寻址的单元内容送累加器 A
LDA #opr8 ;#opr8→ A
LDA addr8 ; (addr8)→ A
LDA addr16 ; (addr16)→ A
LDA addr8,X ; (HX+addr8)→ A
LDA addr16,X ; (HX+addr16)→ A
LDA ,X ; (HX)→ A
LDA addr8,SP ; (SP+addr8)→ A
LDA addr16,SP ; (SP+addr16)→ A
例:HX=2000H,(2010H)=50H,则
LDA $10,X 指令执行后,A=50H
(2)所寻址的单元内容送 16 位变址寄存器的低 8 位 X,而高 8 位 H 的内容保持不变
LDX #opr8 ;#opr8→ X
LDX addr8 ; (addr8)→ X
LDX addr16 ; (addr16)→ X
LDX addr8,X ; (HX+addr8)→ X
LDX addr16,X ; (HX+addr16)→ X
LDX ,X ; (HX)→ X
LDX addr8,SP ; (SP+addr8)→ X
LDX addr16,SP ; (SP+addr16)→ X
例:HX=2000H,(2010H)=50H,则
LDX $10,X 指令执行后,X=50H
(3)所寻址的两个单元的 16 位数据送变址寄存器 HX
LDHX #opr16 ;#opr16→ HX
LDHX addr8 ; (addr8: addr8+1)→ HX
如: (10H)=50H, (11H)=20H,则
LDHX $50 指令执行后,HX=5020H
2、存数指令:将寄存器 A、X、HX 的数存入存储器单元中。对标志位的影响同 LDA。
(1)累加器 A 的内容存储到所寻址的单元
STA addr8 ; A →(addr8)
STA addr16 ; A →(addr16)
STA addr8,X ; A →(HX+addr8)
STA addr16,X ; A → (HX+addr16)
STA ,X ; A →(HX)
STA addr8,SP ; A →(SP+addr8)
STA addr16,SP ; A →(SP+addr16)
17-1
Freescale HC08 指令系统 8/5/2021
例:HX=$2000,A=$30, 则
STA ,X 指令执行后,($2000)= $30
(2)变址寄存器低 8 位 X 的内容存储到所寻址的单元
STX addr8 ; X →(addr8)
STX addr16 ; X →(addr16)
STX addr8,X ; X →(HX+addr8)
STX addr16,X ; X → (HX+addr16)
STX ,X ; X →(HX)
STX addr8,SP ; X →(SP+addr8)
STX addr16,SP ; X →(SP+addr16)
例:HX=$3000,X=$ 40, 则
STA $2000,X 指令执行后,($5000)= $40
(3)16 位变址寄存器的内容存储到所寻址的两个单元
STHX addr8 ;(HX) →( addr8):( addr8+1)
3、堆栈操作指令
(1)进栈指令
数据先进栈,然后栈指针减 1,因此 SP 指向下一次进栈的地
址单元。不影响标志位。
PSHA ; A → (SP),SP-1 →SP
PSHH ; H → (SP),SP-1 →SP
PSHX ; X → (SP),SP-1 →SP
(2)退栈指令
栈指针 SP 先加 1,然后取(SP)所指的栈顶单元内容。不影响标志位。
PULA ;SP+1 →SP,(SP) →A
PULH ;SP+1 →SP,(SP) →H
PULX ;SP+1 →SP,(SP) →X
4、寄存器之间的数据传送指令
除 TAP 指令外,这类指令不影响标志位。
TAP ;A →CCR
TPA ;CCR → A
TAX ;A →X
TXA ;X → A
TXS ;HX-1 →SP
TSX ;SP+1 →HX
5、存储器单元之间的数据传送指令
格式:MOV 源操作数,目的操作数。
MOV addrs8, addrt8 ; (addrs8) → (addrt8)
MOV addr8,X+ ; (addr8) →(HX),HX+1→HX
MOV X+,addr8 ; (HX) → (addr8) ,HX+1→HX
例如:
MOV $50,$60 ;($50)→($60)单元
MOV # $80,$60 ;立即数$80→($60)单元
17-2
Freescale HC08 指令系统 8/5/2021
6、立即数送给单元
MOV # opr8,addr8 ; # opr8 → (addrt8)
5、6 中当传送的数为负(最高位为 1)时,N=1;当传送的数为 0 时,Z=1,对其它标志位没
有影响。
例 将$30、$40 单元内容互换。
使用 LDA、STA 指令
LDA $30
STA $50
LDA $40
STA $30
LDA $50
STA $40
使用 MOV 指令
MOV $30, $50
MOV $40, $30
MOV $50, $40
二、算术运算指令
算术类指令有加、减、乘/除、加 1/减 1、求反/取补、比较、测试等。
1、加减指令
(1)不带进位的加法指令
ADD #opr8 ; A + #opr8 → A
ADD addr8 ; A + (addr8) → A
ADD addr16 ; A + (addr16) → A
ADD addr16,X ; A + (addr16+HX) → A
ADD addr8,X ; A + (addr8+HX) → A
ADD ,X ; A + (HX) → A
ADD addr8,SP ; A + (addr8+SP) → A
ADD addr16,SP ; A + (addr16+SP) → A
第一操作数均在 A 中,第二操作数为 8 位立即数、采用直接寻址(2 种)或 HX 变址
寻址(3 种)或 SP 变址寻址(2 种)的存储单元(共有 8 种),结果均放在 A 中。
根据运算结果改变 V、H、N、Z、C 标志位。
C:若最高位有进位,则置位,否则清零。
V: 若溢出,则置位,否则清零。
H:若位 3 有进位,即半字节有进位,则置位,否则清零
N: 若结果的最高位为 1,相当于有符号运算中的结果为负,则置位,否则清零。
Z: 若结果为 0,则置位,否则清零。
例:A=$90,HX=$3000,($3000)=$80,C=1 则
ADD , X 指令执行后,A= $10
C=1,V=1,H=0,N=0,Z=0
(2)带进位的加法指令
ADC #opr8 ; A + #opr8+C → A
ADC addr8 ; A + (addr8) +C→ A
ADC addr16 ; A + (addr16) +C → A
ADC addr16,X ; A + (addr16+HX) +C → A
ADC addr8,X ; A + (addr8+HX) +C → A
ADC ,X ; A + (HX) +C → A
ADC addr8,SP ; A + (addr8+SP) +C → A
17-3
Freescale HC08 指令系统 8/5/2021
ADC addr16,SP ; A + (addr16+SP) +C → A
除多加一个 C 外,其余与 ADD 指令完全相同
例:A=$29,HX=$3000,($3000)=$3F,C=1 则
ADD , X 指令执行后,A= $69
C=0,V=0,H=1,N=0,Z=0
例 将存放在$50、 $51 单元中的 16 位数与存放在 $60 $61 中的 16 位数相加,结果存放到
$70、 $71 单元中(假设高地址存放低 8 位)。
LDA $51 ;将待相加的低 8 位其中一个数送 A
ADD $61 ;低 8 位相加
STA $71 ;保存低 8 位相加结果
LDA $51 ;将待相加的高 8 位其中一个数送 A
ADC $61 ;高 8 位相加,应考虑低 8 位产生的进位
STA $71 ;保存高 8 位相加结果
(3)不带借位(C)的减法指令
SUB #opr8 ; A- #opr8 → A
SUB addr8 ; A - (addr8) → A
SUB addr16 ; A -(addr16) → A
SUB addr16,X ; A - (addr16+HX) → A
SUB addr8,X; A - (addr8+HX) → A
SUB ,X ; A - (HX) → A
SUB addr8,SP ; A- (addr8+SP) → A
SUB addr16,SP ; A - (addr16+SP) → A
第一操作数均在 A 中,第二操作数为 8 位立即数、采用直接寻址(2 种)或 HX 变址
寻址(3 种)或 SP 变址寻址(2 种)的存储单元(共有 8 种),结果均放在 A 中。(同
ADD)
根据运算结果改变 V、N、Z、C 标志位。
C:若最高位有借位,则置位,否则清零。
V: 若溢出,则置位,否则清零。
H:不变
N: 若结果的最高位为 1,相当于有符号运算中的结果为负,则置位,否则清零。
Z: 若结果为 0,则置位,否则清零。
例:A=$70,C=1 则
SUB #$81, X 指令执行后,A= $EF
C=1,V=1 , N=1,Z=0,H 保持不变
(4)带借位的减法指令
SBC #opr8 ; A- #opr8 -C→ A
SBC addr8 ; A - (addr8) -C → A
SBC addr16 ; A -(addr16) -C → A
SBC addr16,X ; A - (addr16+HX) -C → A
SBC addr8,X; A - (addr8+HX) -C → A
SBC ,X ; A - (HX) -C → A
SBC addr8,SP ; A- (addr8+SP) -C → A
SBC addr16,SP ; A - (addr16+SP) -C → A
除多减一个 C 外,其余与 SUB 指令完全相同
17-4
剩余16页未读,继续阅读
hellohorizon
- 粉丝: 24
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2022年中国足球球迷营销价值报告.pdf
- 房地产培训 -营销总每天在干嘛.pptx
- 黄色简约实用介绍_汇报PPT模板.pptx
- 嵌入式系统原理及应用:第三章 ARM编程简介_3.pdf
- 多媒体应用系统.pptx
- 黄灰配色简约设计精美大气商务汇报PPT模板.pptx
- 用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-tf2sos-sos2tf-幅相频谱等等.docx
- 网络营销策略-网络营销团队的建立.docx
- 电子商务示范企业申请报告.doc
- 淡雅灰低面风背景完整框架创业商业计划书PPT模板.pptx
- 计算模型与算法技术:10-Iterative Improvement.ppt
- 计算模型与算法技术:9-Greedy Technique.ppt
- 计算模型与算法技术:6-Transform-and-Conquer.ppt
- 云服务安全风险分析研究.pdf
- 软件工程笔记(完整版).doc
- 电子商务网项目实例规划书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3