CASL的菜问题,请各位帮忙看一下

c_word 2003-09-17 07:28:50
LEA GX1,1,GX2 和LD GX1,1,GX2意义是否一样?
是不是LD GX1,1,GX2也可以用为把GX2的值加1后付给GX1。
...全文
31 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Romand 2003-09-20
  • 打赏
  • 举报
回复
另外
LD不影响标志寄存器FR的值
而LEA会
commandconque 2003-09-19
  • 打赏
  • 举报
回复
喂,你在今年发了17个帖子,才结了2个,给了40分
别人的劳动就那么难得到你的认可?
cenguokai 2003-09-19
  • 打赏
  • 举报
回复
CASL中寄存器的名字是GR0、GR1、GR2、GR3、GR4,不是GX0、GX1、GX2、GX3、GX4。楼主写错了吧?
rainbowlee2008 2003-09-18
  • 打赏
  • 举报
回复
同意楼上上的,这个问题我也琢磨了,终于想明白了:)
tibetan 2003-09-18
  • 打赏
  • 举报
回复
来晚了,其实就是:()表示取值。无()就表示取本身。有点想C中的*。
cuizhq0227 2003-09-18
  • 打赏
  • 举报
回复
LEA是取地址命令,主要有四种用法:
1、给寄存器赋初值       LEA GR1,n
2、向寄存器装入地址      LEA GR1,LABEL
3、寄存器间数据的传递     LEA GR1,N,XRI
4、寄存器中数据的特征的判断  LEA GR1,0,GR1

它与取数指令LD最易混淆,简单介绍一下它们之间的区别:
设(GR1)=10,ADR=20,(ADDR)=5,(21)=6,(22)=‘A’,(30)=B
则:
LD   GR0,ADDR       (GR0)=5
LEA  GR0,ADDR       (GR0)=20

LD GR2,10,GR1 (GR2)=5
LEA GR2,10,GR1 (GR2)=20

LD GR2,ADDR,GR1 (GR2)=‘B’
LEA GR2,ADDR,GR1 (GR2)=30

仔细比较一下就可以发现它们之间的区别了。
wangmin_yjitx 2003-09-17
  • 打赏
  • 举报
回复
LEA GX1,1,GX2 是将gx2的内容+1后送到GX1中.
LD GX1,1,GX2 是将以GX2的内容+1为地址的内存单元的内容送入GX1

qingniao6084 2003-09-17
  • 打赏
  • 举报
回复
这么记可能更好
LEA拿什么
LD到哪里拿
LazyFarmer 2003-09-17
  • 打赏
  • 举报
回复
LD GX1,1,GX2的意义是将GX2+1地址的内容送到GX1
(GX2+1)->GX1
Delphi1985 2003-09-17
  • 打赏
  • 举报
回复
好像不一样吧
LD不能进行变址吧
pressman 2003-09-17
  • 打赏
  • 举报
回复
LEA 与 LD的区别是:
LEA 是获得值,数值的运算
LD 是获得址,是传送地址单元的内容!
wangmin_yjitx 2003-09-17
  • 打赏
  • 举报
回复
补充一下LEA 是获得值,数值的运算
LD 是获得址,地址的运算,然后将地址所指向的内存单元的内容赋给GX1


commandconque 2003-09-17
  • 打赏
  • 举报
回复
LEA 与 LD的区别是:
LEA 是获得值,数值的运算
LD 是获得址,地址的运算
结果如jedy_1997
sammy791010 2003-09-17
  • 打赏
  • 举报
回复
同意jedy_1997(狼牙项链)
LEA:Load Effective Address
jedy_1997 2003-09-17
  • 打赏
  • 举报
回复
当然不一样了 LEA GX1,1,GX2 是 ( GX2 ) + 1 -> GX1 而
LD GX1,1,GX2 是 ( ( GX2 ) + 1 ) -> GX1

2,948

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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