- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.6数据寻址方式.ppt
1.6 数据寻址方式;寻址用到的缩写语;立即寻址:﹡ 就是指令中包含有执行指令所需要的立即数(不用寻址)。在数字前面加 # 号,表示一个立即数;﹡立即数可为3、5、8、9位短立即数,也可为16位长立即数;指令可为1 字或2字。如:1)LD #80h,A 2)LD #7h,ARP 3)RPT #FFh 4)LD #1Fh,ASM;将5位立即数加载到ASM中 5)LD #1FFh,DP;将9位立即数加载到DP中 ;;绝对寻址:
﹡指令中包含有所要寻址的存储单元的16位地址。
﹡有四种绝对寻址:dmad寻址,pmad寻址,
PA寻址, *(lk)寻址。
;数据页分配情况:
地址 DP 27=128
0000-----007Fh 第0页
0080-----00FF 1
0100-----017F 2
0180-----01FF 3
0200-----027F 4
0280-----02FF 5
0300-----037F 6
0380-----03FF 7
…..;Dmad寻址:;Pmad寻址:;PA寻址:;*(lk)寻址:;累加器寻址:;直接寻址:
﹡指令包含了数据地址的低7位,作为偏移地址与DP或SP中的基地址组合形成完整的16位数据地址。在DP和SP不变的情况下,可以直接访问128个地址。
﹡使用SP还是DP由状态寄存器中的CPL位决定:
CPL=0,使用DP的9位作为高9位与偏移地址相加
CPL=1,使用SP的16位与偏移地址相加
﹡直接寻址指令编码格式:
15~8 7 6~0
;直接寻址的地址产生:;;;※ DP的取值范围:0~511(29=512),dma的取值范围从0~128,
所以,DP指向全部的512页之一,dma指向这一页的128个字
地址之一。
※ SP指向全空间的任意一个地址,dma指向某页的特定地址。从
一个数据空间的任何一个基地址访问连续的128个字的块。
※ 在偏移地址前加@来设定;举例:注意(流水线等待..) 见p34
1、LD #1234h,SP
SSBX CPL
ST #5678h,@30h; (1264h)=#5678h
2、LD #020h,DP
RSBX CPL
ST #1234h,@30h;(1030h)=#1234h
0 0010 0000 011 0000=1030
;间接寻址:;例:完成下列表达式的程序.bss x,4 ;伪指令,为变量X,Y保留一个5个字的空间.bss y,1.text ;程序开始,该段后包含了可执行的代码 STM #X,AR1 ;将#X送到AR1中 LD *AR1+,A ;((AR1))→A ,AR1=AR1+1 ADD *AR1+,A ;((AR1))+(A)→A ADD *AR1+,A ; +X3 ADD *AR1,A ; +X4 STL A,*(y) ;A中的低位数送到y中; .title “add001.asm”
.mmregs
.def start
.bss x,5
.bss y,1
.data
Table: .word 1,2,3,4,5
.text
;start:
stm #0,swwsr
stm #x,ar1
rpt #4
mvpd table,*ar1+ ;
初始化数据;;-----2222222222---rpt----
stm #x,ar1
ld *ar1+,a
rpt #3
add *ar1+,a
stl a,*(y)
;----222222222222-------;;例:求Y=X2+X4+X6+X8+X10
.bss x,10 ;给变量x保留10个空间
.bss y,1 ;给变量y保留1个空间
.text ;程序开始
文档评论(0)