求8086汇编常用小程序段(好的再追加100分)

求8086汇编常用小程序段(好的再追加100分),第1张

首先我要帮你解释这段程序

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8231155.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存