能够只将al中的内容压入栈的指令序列是__3___。
1、 push al
2、 pop ax
3、 mov ah,0
push ax
4、 mov ax,0
push
答案选择3,指令mov ah,0的意思是将寄存器ah置0还是清空呢?
如果是置0,那么执行压栈操作,0肯定会入栈,就不单纯把al压栈了
如果是清空,那么3正确,如果是这样的话mov ax,0到底是传送0到ax中还是将ax清空呢?
实验mov ax,0 push ax 发现是将ax中得0压栈了,说明mov ax,0是传送指令,并没有将ax清空
...


- [tomato] 对的。 12/18 21:17
- [mywiil] 对于加“0”与否,只要你回答一下如下问题,就知道本质了: mov al,dh 你能知道dh是16禁 12/08 10:28
- [zwhling] 恩,多谢,如果大于256应该就出现问题了 12/04 14:38
- [tomato] 博主总结地不错,不过有个小问题,“(3)masm中16进制数大于9fff的数字,第一位加0表示,如0 12/03 21:01
- [tomato] 第一个程序题有个细节问题,数据存放的是字节,应该用8位寄存器,如果用16位寄存器会有问题。虽然针对这 12/03 20:53
- [tomato] 都能写入,只是,显存中的内容还没显示出来别的程序已经将显存中的内容覆盖掉了。 11/30 18:43
- [tomato] 这个理论上没问题,只是跟debug环境有关系。具体也不知。 11/30 18:42
- [tomato] 这个很重要,一定要注意栈的操作顺序。 11/30 18:38
- [tomato] 做对了。 11/30 18:37
- [tomato] 可以学到中断章节再看。 11/30 18:37
- [tomato] 最近怎么不见博主学习了?问候一下,不要轻易放弃哦! 02/11 23:23
[2011-11-30 12:03] 第三章检测题中的一小题的疑问:mov ah,0 是清空还是ah置0呢?
阅读全文 |
评论次数(1) |
浏览次数(379) |
所属类型(每章疑问)
[2011-11-30 11:30] 实验2 第二题 思考?
(2)仔细观察图3.19中的实验过程,然后分析:为什么2000:0~2000:F中的内容会发生改变?
1000:003D mov sp,10
1000:0040 mov ax,3123
1000:0043 push ax
1000:0044 mov ax,3366
1000:0047 push 3366
^ Error
1000:0047 push ax
1000:0048
-e 2000:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-d 2000:0 f
2000:00...
1000:003D mov sp,10
1000:0040 mov ax,3123
1000:0043 push ax
1000:0044 mov ax,3366
1000:0047 push 3366
^ Error
1000:0047 push ax
1000:0048
-e 2000:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-d 2000:0 f
2000:00...
阅读全文 |
评论次数(1) |
浏览次数(417) |
所属类型(每章疑问)
[2011-11-29 12:21] 问题3.10 在10000H处写入2266H,debug为何自动退出?
汇编指令:
-a
0B00:0100 mov ax,1000
0B00:0103 mov ss,ax
0B00:0105 mov sp,2
0B00:0108 mov ax,2266
0B00:010B push ax
0B00:010C pop ax
0B00:010D t
^ Error
0B00:010D
-t
AX=1000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B00 ES=0B00 SS=0B00 CS=0B00 IP=0103 ...
-a
0B00:0100 mov ax,1000
0B00:0103 mov ss,ax
0B00:0105 mov sp,2
0B00:0108 mov ax,2266
0B00:010B push ax
0B00:010C pop ax
0B00:010D t
^ Error
0B00:010D
-t
AX=1000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B00 ES=0B00 SS=0B00 CS=0B00 IP=0103 ...
阅读全文 |
评论次数(5) |
浏览次数(300) |
所属类型(每章疑问)
[2011-11-27 16:05] 第二章 实验一使用debug中e命令写入指令时如何换行?
如题,输入到d8时无法输入,光标已经移动到下一行,但是没法输入信息,截图如下:...
阅读全文 |
评论次数(5) |
浏览次数(190) |
所属类型(每章疑问)
[2011-11-25 11:33] 内存单元的编号为什么是从0开始编号,而不是从1开始编号?
因为计算机是用2进制计数。不管是当初的8086还是现在的i7.他们都是常用“1010101010101010”来给内存做标记的。
“0000000000000000”===>(转换为十进制为:0)表示第一个内存单元;
“0000000000000001”===>(转换为十进制为:1)表示第二个内存单元;
“0000000000000010”===>(转换为十进制为:2)表示第三个内存单元;
“0000000000000011”===>(转换为十进制为:3)表示第四个内存单元;
。
。
。
所以第一个内存单元编号为“0”!!
CSND中一网友的回答,觉得有点...
“0000000000000000”===>(转换为十进制为:0)表示第一个内存单元;
“0000000000000001”===>(转换为十进制为:1)表示第二个内存单元;
“0000000000000010”===>(转换为十进制为:2)表示第三个内存单元;
“0000000000000011”===>(转换为十进制为:3)表示第四个内存单元;
。
。
。
所以第一个内存单元编号为“0”!!
CSND中一网友的回答,觉得有点...
阅读全文 |
评论次数(2) |
浏览次数(176) |
所属类型(每章疑问)
页码数(1):
1