- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教学课件讲义PPT教学教案培训资料医学中小学上课资料
第3章 SPCE061A指令系统 ;3.1 概 述 ;3.1.2 寻址方式
寻址方式主要有以下几种:
(1) 立即寻址:操作数以立即数的形式出现。
例如,R1 = 0x1234是把十六进制数0x1234赋给寄存器R1。
(2) 直接寻址:通过存储器地址来访问存储器中的数据。
例如,R1 =[0x2222] 将0x2222单元的数据传送到寄存器R1。
(3) 寄存器寻址:操作数在寄存器中。
例如,R1 = R2 是把寄存器R2中的数据赋给寄存器R1。 ; (4) 寄存器间接寻址:寄存器中存储的是操作数的地址。
例如,R1 = [BP] 是把由BP指向的内存单元的数据传送到寄存器R1。
(5) 变址寻址:操作数的地址由基址和偏移量共同提供。
例如,R1 = [BP+0x34],BP为基址,0x34为偏移量,两者共同确定操作数存放的地址。 ;表3.1 符 号 约 定 ;;3.2 数据传送指令 ;表3.2 数据传送指令一览表(ISA1.1指令集) ;1. 立即寻址
格式1:Rd = IM16
说明:16位立即数送入目标寄存器Rd。
格式2:Rd = IM6
说明:6位立即数扩展为16位送入目标寄存器Rd。例如:
R1=0xF001 //R1的值变为0xF001;2. 寄存器寻址
格式1:Rd = Rs
说明:将源寄存器Rs 的数据送给目标寄存器Rd。例如:
R2=0xF001 //R2的值为0xF001
R1=R2 //R1的值变为0xF001 ;例1 将R3的值保存于0x25单元。
R3 =0x5678 //把16位立即数0x5678赋给R3
方法1:
[0x25]=R3 //将R3的值存储于0x25存储单元(直接寻址), // 0x25单元的内容为0x5678
方法2:
R2 =0x25 //立即数0x25送入R2
[R2]=R3 //将R3的值存储于0x25存储单元(寄存器间 //接寻址),0x25单元的内容为0x5678;方法3:
BP= 0x20 //立即数0x20送入BP
[BP+5]= R3 //将R3的值存储于0x25存储单元(变址寻 //址),0x25单元的内容//为0x5678 ;例2 将0x25,0x26和0x27单元清零。
方法1:
R1 = 0
R2 = 0x25 //立即数0x25送入R2中
[R2++] = R1 //R1的值存储于0x25,存储单元R2=R2+1
[R2++] = R1 //R1的值存储于0x26,存储单元R2=R2+1
[R2] = R1 //R1的值存储于0x27 ;方法2:
R1 = 0
R2 = 0x27
[R2--] =R1 //R1的值存储于0x27,存储单元R2=R2-1
[R2--] =R1 //R1的值存储于0x26,存储单元R2=R2-1
[R2] = R1 //R1的值存储于0x25 ;方法3:
R1 = 0 //影响标志位Z=1,N=0
R2 = 0x24 //立即数0x24 送入R2中
[++R2]= R1 //R2=R2 +1,R2=0x25,而后R1的值存储于0x25单元
[++R2]=R1 //R2=R2 +1,R2=0x26,而后R1的值存储于0x26 单元
[++R2]=R1 //R2=R2 +1,R2=0x27,而后R1的值存储于0x27单元 ;例3 用不同方式读取存储器的值。
BP = 0x20 //将立即数0x20 赋给BP
R1 = [BP + 5] //BP+5=0x25,则读0x25单元数据到R1中
R1 = [0x2345] //读0x2345单元数据到R1中
R1 = [BP] //读0x20单元的数据到R1中
R1 = [BP++] //读0x20 单元的数据到R1中,并使BP=0x20+1
R1 = [BP--] //读取0x21单元的数据到R1中,并使BP=0x21-1
R1 = [++BP] //修改BP=0x20+1,读0x21单元的数据到R1; 6. 堆栈操作
除以上介绍的指令外,堆栈(stack)操作属于一种特殊的数据传送指令,在此也一并作以介绍。堆栈操作如图3.1所示。 ; 堆栈指针SP总是指向栈顶的第一个空项,压入一个字后SP减1,将多个寄存器同时压栈,总
您可能关注的文档
- 大学金融英语chapter_1_Basics_of_Money教材教学课件.ppt
- 大学金融英语chapter_2_Money_Supply教材教学课件.ppt
- 大学金融英语chapter_3_Monetary_Policy教材教学课件.ppt
- 大学金融英语chapter_4_Fiscal_Policy教材教学课件.ppt
- 大学金融英语chapter_5_Overview教材教学课件.ppt
- 大学金融英语chapter_6_Money_Markets_in_the_U_S教材教学课件.ppt
- 大学金融英语chapter_7_Capital_Markets_in_the_U_S教材教学课件.ppt
- 大学金融英语chapter_8_Foreign_Exchange_Markets教材教学课件.ppt
- 大学金融英语chapter_9_U.S._Mortgage_Markets教材教学课件.ppt
- 大学金融英语chapter_10_Securities_Markets教材教学课件.ppt
原创力文档


文档评论(0)