寄存器寻址方式

来源:百度知道 编辑:UC知道 时间:2024/06/18 16:36:43
可不可以 mov ds,3
也就是说 可不可以直接往段寄存器里传立即数,为什么?
那可以忘哪些寄存器里传立即数呢?

不可以直接mov ds,3
不可以直接往段寄存器里传立即数。
不能传立即数和段寄存器本身的特点有关系。
由于8086的物理地址是有段寄存器内容*16+偏移量决定的,所以其地址的生成是由一些特殊的移位实现的,如果传送立即数,没有寄存器用来保存该地址。所以段地址寄存器的赋值是不可以用立即数的。
除了段地址,也就是ds,cs,ss,es,和一些特殊功能寄存器,比如pc,sp等,其余的寄存器,像ax,bx,cx,dx,di,si等都可以传立即数。

立即数不能直接送段寄存器的
除了段寄存器,基本上都可以送立即数,不过,有的寄存器一般不能改的,比如说ip(系统自己改),pws(系统自己改),还有sp,立即数不能压入堆栈,但386后可以

放立即数需要在前面加“#”