绝对初学,低级问题,请指教!

chnirly 2003-10-16 12:05:13
(DS)=2000H
(BX)=1256H
(SI)=528FH

JMP [BX][SI]
执行后(IP)=(16d*(DS)+(BX)+(SI))
=(20000+1256+528F)
=(264E5)
= 2450H

我想问 最后的(264E5)
= 2450H
是如何得出的,还请帮忙
...全文
59 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
fansings 2003-10-23
  • 打赏
  • 举报
回复
MOV AX,[BX]
说明源操作数是间接寄存器寻址~
bx寄存器里面放是的偏移地址~~~
而取操作数的时候是向物理地址为:ds*10h+bx寄存器里面的偏移地址
的两个连续的字节单元取数后,高字节给ah,低字节给al
~~~~~~~~
adminddd 2003-10-19
  • 打赏
  • 举报
回复
不好意识按错键了一下发出去了

现在我们要先找到退给[BX]里的内容是什么就得先求出栈顶的物理地址
根据题所给出的已知条件 用SS*10H+SP(42000H+2000H=44000H)现在找到栈顶的物理地址了
它里面的内容是1200H 接下来在找[BX]寄存器的物理地址为什么要找[BX]的物理地址呢
因为它是寄存器执行退栈指令是不能把内容直接退给[BX]得先求出它的物理地址
用DS*10H+BX(20000H+3000H=23000H)现在找的物理地址了所以执行POP[BX]指令是把栈顶物理地址所对应的内容(既1200H)退给[BX]所对应的物理地址所以(23000H)的内容是1200H

解释错的请好手指教
adminddd 2003-10-19
  • 打赏
  • 举报
回复
还有我出的那道题
给你们解答下!正确答案是SP(2002H)(23000H)=(1200H)

如题:已知(SP)=2000H (SS)=4200H (DS)=2000H (BX)=3000H
(44000H)=1200H (23000H)=2100H 则POP[BX]指令执行完后
SP=( ) (23000H)=( )要求(23000H里面的数据是一个字的内容)

SP的内容大家应该很好求吧。因为执行的是退栈指令SP加2,已知(SP)=2000H加2就等于2002H 那(23000H)等于多少呢?要想求它就得看看指令POP [BX] POP是退栈是把退出来的内容给[BX]寄存

adminddd 2003-10-19
  • 打赏
  • 举报
回复
例:MOV AX,[BX]
如果 (DS)=2000H,(BX)=1000H
则 物理地址=20000+1000=21000H(这个我懂)
执行结果:(AX)=50A0H
那这最后一步是如何得出的??

应该是这样的MOV AX,[BX]这是一条传送指令意识是把[BX]寄存器里面的内容传给AX
因为[BX]是寄存器所以不能直接传送要先计算[BX]的物理地址找到之后看它对应的是什么数据就传送什么(记住是一个字的内容)你说的AX=50A0H就是[BX]里的内容
哪地方要上有不正确的请高手指教。
lorewolf 2003-10-17
  • 打赏
  • 举报
回复
“(IP)=(16d*(DS)+(BX)+(SI))
=(20000+1256+528F)
=(264E5)
= 2450H”
兄弟,此题中括号里的内容是地址,最后一个数“2450H”是264E5H这个地址中的内容!
F42001 2003-10-17
  • 打赏
  • 举报
回复
题目含糊不清。
刚建了一个论坛,
下在缺版主,有人愿意,于我联系,
并说明专长。
F42001 2003-10-17
  • 打赏
  • 举报
回复
题份残缺。
不知道怎么理解。
我觉得应该少了很多东西。
例如2645E所对应的地址中的
内容是什么?
mikisky 2003-10-17
  • 打赏
  • 举报
回复
(23000h)=(1200h)


这个怎么来的呢,不懂,望指教,谢谢拉!!
adminddd 2003-10-17
  • 打赏
  • 举报
回复
chnirly(英雄·财神) 你那是原题吗?把你的那到题都给我抄上让我看看
adminddd 2003-10-17
  • 打赏
  • 举报
回复
恭喜fengyunxian(风云)你答对了
fengyunxian 2003-10-17
  • 打赏
  • 举报
回复
楼上:sp=(2002h)
(23000h)=(1200h)
对吗?
chnirly 2003-10-17
  • 打赏
  • 举报
回复
等解决结帐后,小弟另送分。只是表示感谢,没别的意思。
chnirly 2003-10-17
  • 打赏
  • 举报
回复
自来水,风云
不好意思,小弟愚昧,依然没懂
例:MOV AX,[BX]
如果 (DS)=2000H,(BX)=1000H
则 物理地址=20000+1000=21000H(这个我懂)
执行结果:(AX)=50A0H
那这最后一步是如何得出的??

上面那道怎么计算的?
多谢指导。小弟先谢过了。
浩曦 2003-10-16
  • 打赏
  • 举报
回复
2450H是物理地址264E5H里面的数据吧
adminddd 2003-10-16
  • 打赏
  • 举报
回复
想知道里面的数据,给你道题你做做看能不能找到里面的数据如果找到了你就知道怎么求了

如题:已知(SP)=2000H (SS)=4200H (DS)=2000H (BX)=3000H
(44000H)=1200H (23000H)=2100H 则POP[BX]指令执行完后
SP=( ) (23000H)=( )要求(23000H里面的数据是一个字的内容)
浩曦 2003-10-16
  • 打赏
  • 举报
回复
不就是了吗?题目里的"(264 E5H)=2450H"就在告诉你在此物理地址内有数据2450h咯
chnirly 2003-10-16
  • 打赏
  • 举报
回复
位移量=20A1H,(232F7H)=3280H,(264 E5H)=2450H
guojinzhu 2003-10-16
  • 打赏
  • 举报
回复
你的题目不完整吧?
题目的前面应该有所交待的,你再看看
chnirly 2003-10-16
  • 打赏
  • 举报
回复
每个物理地址都有对应的唯一的数据吗?
是如何得到的?
也就是说,我怎么能从(264E5)得到2450E?

21,458

社区成员

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

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