. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
主题 : :  第三章检测题中的一小题的疑问:mov ah,0 是清空还是ah置0呢?  [待解决] 回复[ 8次 ]   点击[ 524次 ]  
zwhling
[帖 主] [ 发表时间:2011-11-30 16:47 ] 
荣誉值:0
信誉值:0
注册日期:2011-11-24 15:24
能够只将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清空 
实验又发现mov ah,0  push ax   发现确实是只把al压栈,那说明mov ah,0 是将ah清空 

这个很难理解??????、
308272108
[第2楼] [ 回复时间:2011-12-26 09:17 ] 
荣誉值:2
信誉值:0
注册日期:2011-12-25 10:18
ah和al是两个分别独立的寄存器,清空的意思不是说一点数据都不存在,计算机只要运行起来,不管何时,寄存器都有数据存在,所以正如楼上所说,置零和清空是一个意思。对于这道题来讲,因为push只能压入2字节数据,只能使用16位寄存器,所以此题意思是如何将ah中的数据抹掉,只保存al中的数据不变。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved