【摘要】:表4-2 支持立即数寻址的指令在立即数寻址方式的指令中,在操作数前面需要加一个“#”符号,表示该操作数为一个立即数,否则会把该操作数误认为是一个地址。例如,要将立即数60h装入累加器A中,指令应该表示为如果在指令中漏掉了“#”符号,则指令“LD60h,A”变为将数据存储器60h地址单元的数据装入累加器A中。
在立即数寻址方式中,指令中直接包含了所需要的立即操作数。在一条指令中可对两种立即数编码。一种是短立即数(3、5、8或9位),另一种是16位的长立即数。立即数可以放在单字长或双字长的指令中。3、5、8、9位的立即数放在一个单字长的指令中,16位的立即数放在双字长的指令中。
放在指令中的立即数的长度依赖于所使用的指令。表4-2列出了支持立即数寻址的各条指令,并列出了每种指令可带立即数的位数。
表4-2 支持立即数寻址的指令
在立即数寻址方式的指令中,在操作数(数字或符号常数)前面需要加一个“#”符号,表示该操作数为一个立即数,否则会把该操作数误认为是一个地址。例如,要将立即数60h装入累加器A中,指令应该表示为
如果在指令中漏掉了“#”符号,则指令“LD60h,A”变为将数据存储器60h地址单元的数据装入累加器A中。
下面用RPT指令来说明一个立即数是如何放置在指令代码中的。若立即数为8位的短立即数,则RPT为单字长指令,此时操作码放在指令的高半段,即单字长指令中的15~8位是操作码,剩下的部分就是立即数,如图4-1所示。若立即数为16位的长立即数,则RPT为双字长指令,此时操作码放在指令的高半段,即双字长指令中的15~0位是操作码,剩下的部分就是立即数,如图4-2所示。(www.xing528.com)
图4-1 带短立即数寻址的RPT指令
图4-2 带长立即数寻址的RPT指令
【例4-1】 立即数寻址示例。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。