ZKX's LAB

立即数可赋值给寄存器吗 8086中为什么不能将立即数直接传送到段寄存器

2020-07-19知识11

汇编语言 为什么不能用立即数给段地址赋值 用通过寄存器间接赋值呢(应该有特殊的原因,是为什么呢)没什么特殊的原因 只是有些芯片不支持立即数直接搬移到寄存器要通过。立即数能送到存储器吗?汇编语言 立即数可以直接送到存储器,但应指定存储器的类型。如:mov byte ptr[di],3mov word ptr[si],3000mov dword ptr[bx],0FFFFFFh0ffh错在哪里 不理解为什么是不能用立即数给段寄存器赋值 ? 字母前面必须加0 如果是数字的话就不用了 你的问题还真怪的要命=。这是规矩,无规矩不成方圆,你不加0的话,机器就识别不出来,你有本事就和机器去较劲 你怎么不说 为什么。为什么8086CPU不支持将数据直接送入段寄存器的操作? 最近在学习汇编语言,书上对于这个问题的答复是属于硬件设计的问题,但是没有具体讲明白,所以求问各位具…如何把立即数送往特殊功能寄存器? 直接赋值即可啊,P1=0x00;这样就好了。8086中为什么不能将立即数直接传送到段寄存器 由于立即数直接写入段寄存器这样的指令,被翻译成机器码之后将占用更多的字节,在事先规定的指令长度范围内无法存贮下这么多的内容,因此改由先写入通用寄存器,再由通用寄存器写入段寄存器的办法代替。立即数实际上是相当占地方的汇编语言 为什么不能用立即数给段地址赋值 用通过寄存器间接赋值呢(应该有特殊的原因,是为什么呢) 你问的这个问题,反正书上也没有说,我也不太肯定。只是猜想,猜想而已。反正立即数就不能给地址赋值,这个是肯定的。原因:我感觉和寄存器的结构有关吧,在我用汇编的1年,我感觉段寄存一般都是配合偏移地址使用的,要么就是保存地址,间接的寻址的。保存立即数会完全的污染段寄存器的,我个人感觉,因为那样设计也不好,要是乱给段寄存器赋值,比如:cs,ds,bp,sp,那岂不是CPU大乱啦。一般都是保存地址的。汇编语言 MOV指令给寄存器赋值一个字符和赋值一个数字格式有什么区别吗? 汇编语言MOV指令给寄存器赋值一个字符和赋值一个数字格式没有任何区别。要区分是数字和字符,只能靠其他参考程序,仅仅这一条语句是不能完成是数字或字符的识别的。比如:MOV R2,#30H;可以理解为送一个数字30H给R2,也可以理解为送”0“给R2。

#段寄存器#操作数#数据寄存器#存储器#汇编指令

随机阅读

qrcode
访问手机版