汇编语言问题?

时间:2018.02.10 发布人:sa**3524

汇编语言问题?

已解决问题

谷歌sa**3524用户在2018.02.10提交了关于“明末边一小兵汇编语言问题?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-14T07:15:32。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,不知道说什么,送你一朵小红花吧 !

希望以下的回答,能够帮助你。

第1个回答

用户名:匿名用户  

这几道题目网上就有答案和解析,顺序不一样

来自一、能够将ax中的内容送到内存问答0000:0200h**处的指令序列是3。

1、movds,0

movbx,200h

mov[bx],ax

2、movax,200h

movds,ax

movbx,0

mov[b几思胡总型x],ax

3、mov济况虽领ax,20h

movds,ax

movbx,0

mov[bx],ax

4、movbx,20h

movds,bx

movbx,0

mov[bx],ax

解析:答案1明显错误了屋里谓,不能将立即数送入段寄存器;答案2也不对,将200送入ax,movax,ds明显将此时的地址设置为02除观义免00:0000,物理地址为2000,和0000:0200的的物理地址不一致;答案3因为题目要求将ax值送入内存,而它一开始就改变了ax的值,所以不对;答案4正确,用bx来暂存**

二、下列说法正确的是:4。

1、**段和代码段的段地址才为攻不能相同。

2、指令movax,bx执行完后bx中的值为零。

3、一个栈段的大小可以设为任意值。

4、当SP=0时,再次压栈将发生栈顶超界,但压栈操作有效。

妒下阶材局境厚空行解析:答案1错误,因为所谓台袁内历岩乎足怀粮的段,不过是人为安排的掉员达增弦评奏阶,对于计算机来说,指令和**没有任何区别,地址可以相同;答案2错误,mov指令,是不情况原寄存示研器里面的值的;答案3也不对,栈段须有一个段地址,段地址不能变,只有偏移地址可以变,这个大小是有范围的;答案4正确,SP=0时,压榨,SP=SP-2,**生了超界

三、下列指令的书写正确的是:3。

1、pushal

2、m界团模观慢定加言源ovcs:[0],ds:[10]

3、popsi

4、movds:[0],2

解析:答案1错误,压堆指令一次性操作一个字;答案2已错误,内存空间之间依逐花胶林不能互相传送;答案3正确;答案4错误,不能将立即数送入内存空间

四、能够只将al中的内容压入栈的指令序列是3。

1、pushal

2、pop今南声拿仍随ax

3、movah,0

pushax

4、movax,0

pushax

解析:答案1错误,push操作单位是字;答案2错误,题目要求的是入堆;答案3正确,先将ah清零,然后压入ax可以达到目的;答案4错误,将ax清空,然后压入,等于压入的是等0

五、若将以1000h**为段地址的整个段空间当作栈使用,那么寄存器SP的初始值最合理的设置是优1。

1、0000京须水样丰房任的哥欢还h**

2、0001h**

3、FFFFh**

杆抗承4、FFFEh**

解析:以1000h**为段地址的整个段空间,偏移地址为0-FFFFh**,当栈中存推但移将讨治京只有1个字时,偏移地址是FFFEh**,当栈为空时,SP=SP+2=FFFF+2=0000,所以选择1

六、在8086CPU系统中一个栈段的容量最大为3。

1、1KB

2、512KB

3、64KB

4、32GB

解析:由于8086CPU寄存器只有16位,而SP等寄存器最大变化范围就只能为0~FFFFh**,即64KB了…不仅仅是栈段,所有的8086CPU里面的段都不能超越64KB