+ -
当前位置:首页 → 问答吧 → 栈问题..若不加入栈操作 则程序可循环..若加入 则程序自动运行到DOS出口..

栈问题..若不加入栈操作 则程序可循环..若加入 则程序自动运行到DOS出口..

时间:2011-03-20

来源:互联网

关键代码段如下..(代码太长,只把认为关键的上传).
show11: push si
  mov ax,0
   
   
  in al,60h
   
   
  cmp al,10h ;判定是否为Q键
  je quit ;是则 退出
   
  cmp al,4dh ; 判定是否为→
   
  je bus3 ;是则执行bus3
  jmp show11  
   
  quit: mov ax,4c00h
  int 21h
   
  bus3: pop si
  call bus1
  jmp show11 ;执行完后返回循环体


问题如下:
若不加如红色栈操作 则程序可按照代码所示按Q退出 
若加入红色栈操作 则程序直接..退出 无需按Q

敢问为何....


作者: angel_kong   发布时间: 2011-03-20

补充追问...

若要保存si 使在call bus1中的 si中的字符不受外界影响(每执行一次call bus1,call中的si会变化)
该如何做?

作者: angel_kong   发布时间: 2011-03-20