INT 21 是dos系统提供的功能
dos的每一个功能都有一个编号,假如我们要使用这个功能
我们只需要 将功能号 放到AH里面 然后 调用 int 21h
就像这样
MOV AH, 1
INT 21H
作用:输入一个字符,相缓歼当c中的scanf
然而有些功能需要某些参数,调用完有返回值,
怎么使用这些功游颂能呢,下面这个网站有每一个功能的具扰磨冲体说明 ,有什么不明白的再说
http://www.cnsharenet.com/DOS/f/int/int21.htm
assume cs:codesg,ds:data,es:table,ss:stacks
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db 模颤'1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
以上是表示21年的21个字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
以上是表示21年公司总收的21个dword型数据
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,45257,17800
以上是表示21年公司雇员人数的21个word型数据
data ends
table segment
db 21 dup('year summ ne ?? ')
table ends
stacks segment
db 0,0,0,0
stacks ends 郑搭 旦丛败
codesg segment
mov ax,data
mov ds,ax
mov ax,stacks
mov ss,ax
mov sp,8
mov bx,0
mov ax,table
mov es,ax
mov cx,21
mov si,0
mov di,0
mov dx,0
s:
以下传递年份
mov ax,ds:[si]
mov es:[di],ax
mov ax,ds:[si+2]
mov es:[di+2],ax
以下传递收入
mov ax,ds:[si+84]
mov es:[di+5],ax ax是低八位
mov dx,ds:[si+86]
mov es:[di+7],dx dx是高八位
push cx
以下传递雇员数
mov cx,ds:[bx+168]
mov es:[di+0ah],cx
mov cx,es:[di+0ah]
div cx 计算人均收入
mov es:[di+0dh],ax
add di,10h
add bx,2
add si,4
pop cx
loop s
mov ax,4c00h
int 21h
codesg ends
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)