目录 上一页 下一页 下一章

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

第5章 子过程和串处理

  本想开始讨论有关视频的内容,但后来又觉得还缺少一些必要的知识,因此插入了这样一章,目的是为了将有关8086/88处理机的知识补充完整,同时多学一些指令,为后面的内容作些准备工作。我们先来讨论关于子过程设计的一些问题。

5.1 子过程参数的传送
  主过程往往要给子过程传送过去一些数据,这些数据可能要由子过程处理,也可能是一些命令码控制子过程完成对应的工作;而子过程有时也要将处理结果返回给主过程。在这一节里我们将主要讨论这些信息是通过何种途径在过程间传递的。
5.1.1 通过寄存器传送数据
  这是最常用的参数传递方式,当程序通过INT 21H指令调用DOS API时,传送的参数均在寄存器中,而DOS也会将一些返回值通过寄存器送回。这种技术在编制子过程时也可应用。请看下面的程序,这个程序用于查询键盘上各个键的代码:
TESTKEY.ASM
ESCKEY
CR
LF

data

ascii
data

code

main



getkey:



equ
equ
equ

segment
assume
db
ends

segment
assume
proc
mov
mov
mov

mov
int

1bh
0dh
0ah


ds:data
'0123456789ABCDEF'



cs:code
far
ax,data
ds,ax
bx,offset ascii

ah,0
16h

;ESC键对应的ASCII码
;回车键对应的ASCII码
;换行键对应的ASCII码



;十六进制数所需的字符





;设置DS寄存器

;BX寄存器指向ASCII表

;等待键盘输入


Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章