ZKX's LAB

1.( )不能给段寄存器赋立即数。 选项: 1、 错 2、 对 立即数为啥不能传送给段寄存器

2020-07-24知识14

汇编语言 为什么不能用立即数给段地址赋值 用通过寄存器间接赋值呢(应该有特殊的原因,是为什么呢) 你问的这个问题,反正书上也没有说,我也不太肯定。只是猜想,猜想而已。反正立即数就不能给地址赋值,这个是肯定的。原因:我感觉和寄存器的结构有关吧,在我用汇编的1年,我感觉段寄存一般都是配合偏移地址使用的,要么就是保存地址,间接的寻址的。保存立即数会完全的污染段寄存器的,我个人感觉,因为那样设计也不好,要是乱给段寄存器赋值,比如:cs,ds,bp,sp,那岂不是CPU大乱啦。一般都是保存地址的。请教: 立即数为什么不能直接传送给存储单元呢? 这句话 是说指令无效可能是因为寄存器具有明确的类型,例如,AL,AX分别为字节,字类型.若立即数没有明确的类型,MASM负责将立即数扩展为与目的操作数位数相同.有时MASM不能确定内存操作数的类型,需要用byteptr和wordptr明确指出是字节或字类型.因为你要送的这个300换算成16进制只有8位,你在[si]前面添上看看另外 里面的org 120h似乎用不到?8086中为什么不能将立即数直接传送到段寄存器 是Intel公司设计的8086,它们就是这样设计的,并没有公布理由。使用者,按照它们制定的规则,编写程序,就可以了。。? 2019SOGOU.COM 京ICP证050897号

#计算机指令#通用寄存器#立即数#汇编语言#汇编指令

随机阅读

qrcode
访问手机版