- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.2.4 指令助记符 典型指令助记符 加法 ADD 001 减法 SUB 010 传送 MOV 011 跳转 JMP 100 转子程序 JSR 101 存数 STO 110 取数 LAD 111 4.4.2 操作数基本寻址方式 求N个数的平均值 直接寻址 LDA D ADD D+1 ADD D+2 … ADD D+(N-1) DIV #N STA ANS 4.4.2 操作数基本寻址方式 求N个数的平均值 变址寻址 LDA #0 LDX #0 M ADD X,D INX CPX #N BNE M DIV #N STA ANS 4.4.2 操作数基本寻址方式 例1 某微机的指令格式如下所示: 15 10 9 8 7 0 操作码 X D D: 位移量 X:寻址特征位 X=00:直接寻址; X=01:用变址寄存器X1进行变址; X=10:用变址寄存器X2进行变址; X=11:相对寻址 设(PC)=1234 H,( X1)=0037H,( X2)=1122H(H代表十六进制数),请确定下列指令中操作数的有效地 ①4420H ②2244H ③1322H ④3521H ⑤6723H 4.4.2 操作数基本寻址方式 解: 1)X=00 , D=20H,有效地址E=20H 2) X=10 , D=44H 有效地址E=1122H+44H=1166H 3) X=11 , D=22H 有效地址E=1234H+22H=1256H 4) X=01 , D=21H 有效地址E=0037H+21H=0058H 5)X=11 , D=23H 有效地址 E=1234H+23H=1257H 4.4.2 操作数基本寻址方式 例2 设相对寻址的转移指令占三个字节,第一个字节是操作码,第二,三字节是相对位移(补码表示),数据在存储器中采用以低字节地址为字地址的存放方式。每当CPU从存储器中取出1个字节时,(PC)+1-PC (1)若PC当前值是240(十进制),要求转移到290(十进制),则转移指令的第二,三字节的机器代码是多少 (2)若PC当前值是240(十进制),要求转移到200(十进制),则转移指令的第二,三字节的机器代码是多少 解:(1)PC当前值是240,取出指令后后PC的值是243,要求转移到290,相对位移是290-243=47,转换成补码是2FH,数据在存储器中采用以低字节地址为字地址的存放方式,第二字节是2FH,第三字节是00H. (2) (1)PC当前值是240,取出指令后后PC的值是243,要求转移到200,相对位移是200-243=-43,转换成补码是D5H, 第二字节是D5H,第三字节是FFH. 4.4.2 操作数基本寻址方式 例3 一条双字长直接寻址的子程序调用指令,第一个字是操作码和寻址特征,第二个字是地址码5000H,假设PC当前值是2000H,SP的内容是0100H,栈顶内容是2746H,存储器按字节编址,CALL指令占四个字节,进栈先执行(SP)-2-SP,问下列几种情形下,PC,SP和栈顶内容各是多少 (1)CALL指令被读取前 (2)CALL指令被调用后 (3)子程序返回后 解:(1)CALL指令被读取前,(PC)=2000H,(SP)=0100H,栈顶2746H (2)CALL指令被调用后,程序断点2004H进栈,栈顶2004H,(SP)=0100H-2=00FEH,(PC)=子程序入口地址5000H (3)子程序返回后,程序断点出栈,(PC)=2004H,(SP)=0100H,栈顶内容是2746H 指令格式设计 例4某机器字长是16位,存储器寻址空间是128字,变址时的位移量是-64---+63,16个通用寄存器均可作为变址寄存器,设计一套指令系统,满足下列寻址类型
文档评论(0)