什么是立即数寻址?

maggie619 2007-04-18 09:29:21
什么是立即数寻址?

立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是包含在指令字节中的?这句话怎么理解??
...全文
4714 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hustsatellite 2007-05-05
  • 打赏
  • 举报
回复
常数和符号常量都是立即寻址
linww 2007-05-04
  • 打赏
  • 举报
回复
立即寻址即指令中直接给出操作数本身.采用该寻址方式的操作数与指令代码一起放在代码中.
立即寻址通常用于二地址指令中,并且只能是源操作数。
wayshl1314 2007-04-30
  • 打赏
  • 举报
回复
都是强人!!!都挺!!!!!!!!!!!!!!!!!!1
mengshijie_1981 2007-04-29
  • 打赏
  • 举报
回复
>数据在内存中就需要偏移地址??

这句话如何理解?

数据在内存中,就需要DS(或ES):EA 配合来寻址。EA就是偏移地址,EA可以有多种组合方式,如直接寻址(例如:mov ax,[2000])、间接寻址(例如:mov ax,[dx])或变址寻址等……
DB_xiaogangpao 2007-04-26
  • 打赏
  • 举报
回复
就是把一个立即数直接当指针用的寻址方式
jinhengxyz 2007-04-26
  • 打赏
  • 举报
回复
挺 mengshijie_1981() 的
iwangdy 2007-04-25
  • 打赏
  • 举报
回复
Intel x86的机器指令型为
[Prefix] Opcode [ModR/M] [SIB] [Displacment] [Immediate]
opcode就是指令代码,
比如机器码 B83412,这条指令3个字节,B8 就是MOV ,还表示是从立即数mov到寄存器AX,
后面的3412 就是[Immediate],即 0x1234 的小端法表示 ,指令反汇编过来就是
mov ax,1234h
指令里含有的操作数就是立即数
王岽 2007-04-23
  • 打赏
  • 举报
回复
我的QQ233093606和233320775
王岽 2007-04-23
  • 打赏
  • 举报
回复
确切的是需要段地址和偏移地址,但大多数的段地址都使用默认的寄存器。如数据段中的数据,要使用数据段的数据首先把段地址送往数据段寄存器(初始化段寄存器),然后再通过偏移地址找到这个数据。但再保护模式下,就不用段寄存器了(不是不用,而是由操作系统自动初始化,而且不再存放段地址而是选择子),直接使用偏移地址就可以访问4G的内存
maggie619 2007-04-23
  • 打赏
  • 举报
回复
数据在内存中就需要偏移地址??

这句话如何理解?
王岽 2007-04-22
  • 打赏
  • 举报
回复 2
其实立即数寻址也就是不需要寻址,指令需要的数据就再指令中!
例如mov ax,10h反汇编后你就能看到再指令中就包含了10h,而其他的指令如mov ax,bx你就会发现指令中不包含bx中的数值(也就是你要的数)
其实不管怎么样,寻址方式就市三种
数据再指令中,
数据在寄存器中
数据再内存单元中
数据在指令中就是立即数寻址了,
数据再寄存器中,通过指定寄存器号就可以了
数据再内存中就需要偏移地址,偏移地址也是数据
根据偏移地址存在的位置不同又可以细分(偏移地址在指令中,偏移地址在寄存器中,偏移地址在内存中),你明白了吗??如果不明白可以到我的群,我们详细的聊28287492
gallanthunter 2007-04-21
  • 打赏
  • 举报
回复
直接将数值送入寄存器就 叫做立即数寻址MOV AX,10H
whjxinyuhj 2007-04-21
  • 打赏
  • 举报
回复
MOV AX,10H,采用的是立即数寻址方式,,,后面是值,
mengshijie_1981 2007-04-18
  • 打赏
  • 举报
回复
例如:MOV AX,10H,采用的是立即数寻址方式,这条指令(包含操作数AX和10H)被汇编器编译成一条机器代码,此指令执行前被加载到指令缓冲队列里,执行时CPU在读取此机器代码时就读取了10H,10H立即就可以被送往AX(而不用到寄存器或者内存中去取操作数),因此叫做立即数寻址,指令执行效率最高。
paullbm 2007-04-18
  • 打赏
  • 举报
回复
jrjj(渐入佳境) 回答的简洁明了;
mengshijie_1981() 解释得详细深刻!
jrjj 2007-04-18
  • 打赏
  • 举报
回复
立即数寻址中的数字是指令的一部份,存储在代码段,执行是不用去取数据段中的数据

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧