王爽《汇编语言》实验七

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,140417,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 summ ne ?? ')
table ends

codesg segment
start:mov ax,data 
      mov ss,ax        ;将data段定义为栈
      mov ax,table
      mov es,ax
      mov cx,21
      mov bx,0
      mov di,0

    s:mov sp,bx         ;将年份出栈
      add sp,0
      pop es:[di]
      pop es:[di+2]

      mov sp,bx         ;将收入出栈
      add sp,84
      pop es:[5+di]
      pop es:[7+di]

      mov sp,si         ;将人数出栈
      add sp,168
      pop es:[10+di]

      mov ax,es:[di+5]          ;计算人均收入
      mov dx,es:[di+7]
      div word ptr es:[di+10]
      mov es:[di+13],ax

      add si,2
      add bx,4
      add di,16
      loop s

      mov ax,4c00h
      int 21h
codesg ends
end start

阅读更多

没有更多推荐了,返回首页