这是怎么算出来的呢????

yangguang000 2003-03-21 06:46:32
(BX)=2000,(BS)=8000H,(82000H)=4000H,执行指令LEA BX,[BX]后[BX]=()
A 4000H
B 8000H
C 2000H
D 6000H
给个步骤好吗
...全文
40 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zharP 2003-03-25
  • 打赏
  • 举报
回复
什么题目?
我开始也是以为求 BX
hgwi 2003-03-25
  • 打赏
  • 举报
回复
完全赞同LittleStar(牛牛) 的看法~!!!!
LittleStar 2003-03-24
  • 打赏
  • 举报
回复
to: acange(acan)
[bx]和bx你分得清楚吗?
bx=2000H,按你的答案[bx]也=2000H那DS等于多少?DS=0,题目中的DS等于多少!
看清楚一点题目问的是什么?[BX]=()!!!!!!!!!!!!!!!
acange 2003-03-24
  • 打赏
  • 举报
回复
to: littleStar

我的理解是2000h,
开始(bx)是2000H。lea bx,[bx]后,物理地址和内容是[bx]=[82000H]=4000H

但lea是load Effective Address,所以他仍旧会把偏址2000给BX
LittleStar 2003-03-23
  • 打赏
  • 举报
回复
我的理解是lea就是装偏移
lea bx,[bx]前 bx=2000H是相对DS的偏移,DS=8000H,物理地址[bx]82000H的内容是4000H
lea bx,[bx]后 [bx]的偏移:2000H,所以bx=2000H,而物理地址[bx]82000H=4000H
所以选A
这里有程序自己debug一下吧.
dseg segment
db 2001H dup(1)
dseg ends
cesg segment
assume cs:cesg,ds:dseg
start:
mov ax,dseg
mov ds,ax
mov bx,2000H
mov ax,4000H
mov ds:[bx],ax
lea bx,[bx]
mov ax,[bx]
mov ah,4ch
int 21h
cesg ends
end start
atm2001 2003-03-21
  • 打赏
  • 举报
回复
bx=2000h,是书上的题呀。贴主同学,别拿家庭作业来做好吗?
LEA BX,[BX]
就是传递[BX]内容的地址BX
BX=2000h
[BX]的地址也是2000h
所以[Bx]=2000h
lk_cool 2003-03-21
  • 打赏
  • 举报
回复
采用寄存器间址方式 你题目中应该是<ds>=8000H
82000H是物理地址 你的题目不明确 是BX=2000H 还是 [BX]=2000H ?
如果BX=2000H 则[BX]=4000H
lEA 指令后 ...
我觉得应该选 C 答案 不知对不对?

请问你是学生还是工作了

21,459

社区成员

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

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