目录 上一页 下一页 附录A

-294- PC机汇编语言实战精解

main

dispchr



loop1:






return:



dispchr
code

endp

proc
push
push
mov

lodsb
or
jz
mov
int
jmp

pop
pop
ret
endp
ends
end


near
ax
dx
ah,02h


al,al
return
dl,al
21h
loop1

dx
ax



main


;显示字符串的子程序
;保存寄存器

;选择DOS API的02H功能

;取得一个字符
;这个字节是0吗?
;若这个字节是0,返回主过程
;将这个字符送入DL寄存器
;并显示输出
;转LOOP1继续显示下一个字符

;恢复寄存器

;返回主程序



  在笔者的机器上运行这个程序可以有以下的输出结果:
  DOS每次调入一个程序就要复制一组环境信息,当一个程序驻留在内存中时,这个程序对应的环境信息块也同时驻留于内存中,所以我们会观察到驻留内存看程序占用的空间比其实际长度要大。
  解决了程序的驻留问题,下一步就是要研究怎样让CPU按我们的意愿来适时地执行这个程序。要知道一个程序如果驻留在内存中之后就再也不被执行了,那么这个程序是毫无意义的。驻留内存的程序怎样才能被执行呢?

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 附录A