一点小问题

shadowboxing 2003-08-26 09:43:58
问个初学得问题,关于寻址的
昨天去书店的时候,看到几本书中说的
立即寻址(举例) mov ax, 80H (1)
寄存器寻址(举例) mov ebx, 1234h (2)
其中的寄存器和数字记不清了,也许写错了,但是我想问的是:
在这两个例子中,都是把一个数字放到一个寄存器中,那么为什么会分成两类呢?这不是有点互相覆盖了吗?
...全文
39 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫郢剑侠 2003-08-27
  • 打赏
  • 举报
回复
SoRoMan(lkl) 说的是呀.
shadowboxing 2003-08-26
  • 打赏
  • 举报
回复
我也认为(2)是立即寻址,但是昨天在书店的时候确实看到的2本书上都在寄存器寻址中举到这个例子
书中说,寄存器寻址:
(1) mov abc(某个变量,记不住名字了), ax
(2) mov ebx, 1234h
(3) mov ax, bx
这样3类的,所以我有点和立即寻址犯晕.
因为俺刚看汇编,所以其中的寄存器有可能写错,不过就是这个意思
zhaobird 2003-08-26
  • 打赏
  • 举报
回复
都是立即寻址
spbabyba 2003-08-26
  • 打赏
  • 举报
回复
不是吧,两个都是寄存器,才是寄存器寻址吧/
sailor001 2003-08-26
  • 打赏
  • 举报
回复
立即寻址的操作数在指令后面。显得指令操作使用的字节数比较多,寄存器则没有这个问题
shadowboxing 2003-08-26
  • 打赏
  • 举报
回复
呵呵,俺本来知道句子的意思的,就是看到书上这么说,反而怀疑自己没弄明白,就象小学时,老师不小心写错道题,自己算对了还是心虚一样
wylpro 2003-08-26
  • 打赏
  • 举报
回复
完全同意楼上看法: 害人不浅

什么立即数,间接... 胡说

这些东西根本可以不考虑.知道有这种写法就行了.

真正要学 也不是这样: 看机器码.
每一个机器都有一套各自的 机器码,上面规定了指令,内存访问方式,每一套都不太一样,只是大致可分为那几类罢了,钻哪个东西没用.
W32API 2003-08-26
  • 打赏
  • 举报
回复
国人写的书还是害人不浅。。。

建议你在使用寄存器以及立即数时,不要管它是什么寻址,你就直接说寄存器和立即数就可以了。
在访问内存时,才用寻址这个字眼来表示,这样会在理解上避免模糊。。。
例如:
mov eax,[00040000] ; mov 寄存器,内存地址 00040000
W32API 2003-08-26
  • 打赏
  • 举报
回复
唉。。。国人写的书真是害人不浅。。。是你没看完还是书上没写清楚啊?
在操作数为寄存器时,可称为寄存器寻址;为数据时可称为立即数寻址。

建议你可这样理解,寄存器就是寄存器,立即数就是立即数,
而不要管它什么寻址不寻址的。
如:
mov eax,0h ; eax 为寄存器,0h 为立即数。

而在访问内存数据的时候才使用寻址这个名词(其实已经是间接寻址了)
mov eax,[esi] ; eax 为寄存器,[esi] 为内存间接寻址
SoRoMan 2003-08-26
  • 打赏
  • 举报
回复
樓主你說的尋址是針對源操作數還是目的操作數?我的觀念:


源操作數 目的操作數

mov ax, 80H 寄存器尋址 立即尋址
mov ebx, 1234h 寄存器尋址 立即尋址

21,458

社区成员

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

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