ZKX's LAB

立即数可以直接送至段寄存器 8086中为什么不能将立即数直接传送到段寄存器

2020-07-20知识8

add源操作数是立即数,目标操作数可以是段寄存器吗 可以的。对段寄存器的操作,从网上抄的如下:段寄存器的操作有一些限制 –-段寄存器属专用寄存器,对他们的操作能力有限不允许立即数传送给段寄存器 MOV DS,100H;非法指令:立即数不能传送段寄存器不允许直接改变CS值 MOV CS,[SI];不允许使用的指令?不允许段寄存器之间的直接数据传送 MOV DS,ES;非法指令:不允许段寄存器间传送现在CPU的 段寄存器 可以直接 把数据送到段寄存器里面吗 还需要其他寄存器中转吗 不能直接将立即数送入段寄存器,应使用通用寄存器转,例如想给DS中放1234h,应如下操作:mov ax,1234 mov ds,ax8086中为什么不能将立即数直接传送到段寄存器 是Intel公司设计的8086,它们就是这样设计的,并没有公布理由。使用者,按照它们制定的规则,编写程序,就可以了。。? 2019SOGOU.COM 京ICP证050897号汇编~~~立即数不能直接传入段寄存器,为什么?? 因为没有这样的指令,这就是根本的限制 没有指令.只能通过累加器A来转 没办法直接把立即数放到段寄存器中。段寄存器用于控制程序段的访问。要修改段寄存器,那么可以通过AX。汇编语言 为什么不能用立即数给段地址赋值 用通过寄存器间接赋值呢(应该有特殊的原因,是为什么呢) 你问的这个问题,反正书上也没有说,我也不太肯定。只是猜想,猜想而已。反正立即数就不能给地址赋值,这个是肯定的。原因:我感觉和寄存器的结构有关吧,在我用汇编的1年,我感觉段寄存一般都是配合偏移地址使用的,要么就是保存地址,间接的寻址的。保存立即数会完全的污染段寄存器的,我个人感觉,因为那样设计也不好,要是乱给段寄存器赋值,比如:cs,ds,bp,sp,那岂不是CPU大乱啦。一般都是保存地址的。汇编语言 为什么不能用立即数给段地址赋值 用通过寄存器间接赋值呢(应该有特殊的原因,是为什么呢)没什么特殊的原因 只是有些芯片不支持立即数直接搬移到寄存器要通过。

#赋值#段寄存器#立即数#数据寄存器

随机阅读

qrcode
访问手机版