Wang Shuang assembly language Experiment 7

assume cs:codesg
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'

    dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,1340417,197514
    dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
    
    dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
    dw  11542,14430,15257,17800
data ends

table segment
    db 21 dup 'year sumn ne    '
table ends

codesg segment

start:  mov ax,data
        mov ds,ax
        mov bx,0
        mov si,0

        mov ax,table
        mov es,ax
        mov sp,0
        mov di,0

        ;放入年份
        mov cx,21
        s0: mov dword ptr es:[bp+di],[bx]
            add bp,10H
            add bx,4
            loop s0

        ;放入收入
        mov cx,21
        mov di,5
        mov bp,0H
        s1: mov dword ptr es:[bp+di],[bx]
            add bp,10H
            add bx,4
            loop s1

        ;放入雇员
        mov cx,21
        mov di,10
        mov bp,0H
        s2: mov word ptr es:[bp+di],[bx]    
            add bp,10H
            add bx,2
            loop s2
        
        ;算出人均收入
        mov bp,0H
        mov di,13
        mov cx,21
        s3: mov si,5 
            mov ax,es:[bp+si]

            mov si,7
            mov dx,es:[bp+si]

            mov si,10
            div word ptr  es:[bp+si]
            mov word ptr  es:[bp+di],ax

            add bp,10H
            loop s3

        mov ax,4c00H
        int 21H
codesg ends

end start

Guess you like

Origin www.cnblogs.com/kreamyu/p/12590920.html