当前位置: 代码迷 >> 汇编语言 >> 问几个基础有关问题,不是很懂
  详细解决方案

问几个基础有关问题,不是很懂

热度:1836   发布时间:2013-02-26 00:00:00.0
问几个基础问题,不是很懂?
C/C++ code
1.下列指令的书写正确的是:____3  1、  push al  2、  mov cs:[0],ds:[10]  3、  pop si  4、  mov ds:[0],2 2.能够只将al中的内容压入栈的指令序列是_____。1  1、  push al  2、  pop ax  3、  mov ah,0      push ax  4、  mov ax,0      push ax 3.下列说法正确的是:3____  1、  数据段和代码段的段地址不能相同。  2、  指令mov ax,bx执行完后bx中的值为零。  3、  一个栈段的大小可以设为任意值。  4、  当SP=0时,再次压栈将发生栈顶超界,但压栈操作有效。 

上面是我选的答案,他们选什么呢?给个解析?
例如:push一定是16位吗?

------解决方案--------------------------------------------------------
1. pop si 是正确的吧。
2. 既然认为 1. 里答案 3 才是对的,这里怎么又选答案 1 了呢?
3. 这个题目有些模糊了。答案 3 说是任意值,在段大小的限制之内也应该对齐到 word 吧。答案 4 栈顶超界,应该是回绕吧。

push 必须是 16 位的。当然了,这是指在 dos16 环境下说的。
------解决方案--------------------------------------------------------
A,B,C,D代表1,2,3,4.
1.对
2.你第一题都没有选A,第二题怎么选了A了呢,C才是对的
3.c明显错的,当你给了栈段的地址后,它的偏移量就有一个范围,不是任意值,在DOS环境下是0-ffff.
选D。
------解决方案--------------------------------------------------------
1. 3 
2. 3
3. 4

------解决方案--------------------------------------------------------
1.3 2.3 3.4
  相关解决方案