第4章节 指令系统.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章节 指令系统

例:CJNE R5,#30H,NEXT ADD A,40H DEC R0 RET 按所占字节分,分三种: (1)单字节指令49条:操作码和操作数同在一个字节中。 (2)双字节指令45条:一个字节为操作码,另一个字节是操作数。 (3)三字节指令17条:操作码占一个字节,操作数占二个字节。 按执行时间来分,分三种: (1)1个机器周期(12个时钟振荡周期)的指令64条; (2)2个机器周期指令45条; (3)4个机器周期——乘、除指令。 符号注释: Rn 当前寄存器区的8个工作寄存器R0~R7(n=0~7)。 Ri 当前寄存器区中作为间接寻址寄存器的2个寄存器R0、R1(i=0,1)。 direct直接地址,即8位内部数据存储器单元或特殊功能寄 存器的地址。 #data 指令中的8位立即数。 #data16 指令中的16位立即数。 rel 偏移量,8位的带符号补码数。 DPTR 数据指针,可用作16位数据存储器单元地址的寄存器。 bit 内部RAM或特殊功能寄存器中的直接寻址位。 C或Cy 进位标志位或位处理机中的累加器。 addr11 11位目的地址。 addr16 16位目的地址。 @ 间接寻址寄存器前缀,如@Ri,@A+DPTR。 (х) 表示х地址单元或寄存器中的内容。 ((х))表示以х单元或寄存器中的内容作为地址间接寻址单 元的内容。 → 箭头右边的内容被箭头左边的内容所取代。 1.立即数寻址方式 直接在指令中给出参与操作的数——立即数。为了与直接寻址指令中的直接地址加以区别,需在操作数前加前缀标志“#”。立即数有8位和16位两种。 例如: MOV A,#30H ;将立即数30H载入累加器A MOV 33H,#10H ;将立即数33H载入数据存储器33H MOV RO,#0FFH ;R0=FFH MOV DPTR,#8000H ;DPTR=8000H 4. 寄存器间接寻址方式 寄存器中存的是操作数地址,即先从寄存器中找到操作数的地址,再按该地址找到操作数。 寻址空间:片内RAM和片外RAM 为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址方式中,应在寄存器名称前面加前缀标志“@”。 例如:MOV A,@Ri ;i=0或1 例: MOVC A,@A+DPTR 其中,(A)=0FH,(DPTR)=2400H,指令执行结果是把程序存储器240FH单元的内容传送给A。 6.相对寻址 解决程序转移而设置。该寻址是以该转移指令的地址(PC值)加上它的字节数,再加上相对偏移量(rel),形成新的转移目的地址,程序转移到该目的地址。转移的目的地址用下式计算: 目的地址=转移指令所在的地址+转移指令字节数+rel 其中,偏移量rel是带符号8位二进制补码数,–128~+127。程序转移范围是以转移指令的下条指令首地址为基准地址,相对偏移在–128~+127之间。 寻址空间:程序存储器。 例:JNZ rel ;累加器A的内容不等于零则转移 设rel=23H,指令操作码存放在程序存储器2000H单元,并且在执行该指令前A中内容不为零,则执行过程如下图所示。 SETB D5H 位地址 SETB F0 位名称 SETB PSW.5 专用寄存器名称+位数 上述16条传送指令都是在内部RAM和特殊功能寄存器中进行数据传送,并且,助记符都是MOV,它们可以用下图描述。 (2)出栈指令 POP direct 将SP指示的栈顶单元的内容送入direct字节中,SP减1。 例:当(SP)=62H,(62H)=70H,(61H)=30H时,执行指令 POP DPH ;((SP))→DPH,(SP)-1→SP POP DPL ;((SP))→DPL,(SP)-1→SP 结果为(DPTR)=7030H,(SP)=60H。 (1)MOVC A,@A+PC 以PC作为基址寄存器,A的内容(无符号数)和PC的当前值(下一条指令的起始地址)相加后得到一个新的16位地址,把该地址的内容送到A。 例如:当 (A)=30H时,执行地址1000H处的指令 1000H: MOVC A,@A+PC 优点:不改变特殊功能寄存器及PC的状态,根据A的内容就可以取出表格中的常数。 缺点:表格只能存放在该

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档