汇编实验(寻址方式在结构化数据访问中的应用)

这是《汇编语言(第2版)》(王爽著)中的一个实验。寻址方式在结构化数据访问中的应用

 1 assume cs:codesg

 2 data segment

 3     db '1975','1976','1977','1978','1979','1980','1981','1982','1983'

 4     db '1984','1985','1986','1987','1988','1989','1990','1991','1992'

 5     db '1993','1994','1995'

 6     ;以上是表示21年的21个字符串

 7 

 8     dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514

 9     dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

10     ;以上是表示21年公司总收入的21个dword型数据

11 

12     dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226

13     dw 11542,14430,15257,17800

14     ;以上是表示21年公司雇员人数的21个word型数据

15 data ends

16 

17 table segment

18     db 21 dup ('year summ ne ?? ')

19 table ends

20 

21 codesg segment

22 start:mov ax,data        ;初始化

23       mov ds,ax

24       mov si,0        ;雇员自增2

25       mov ax,table    ;这里因为data已被占用

26       mov es,ax

27       mov di,0        ;索引每一行,目标偏移地址自增16

28       mov bx,0        ;年份自增4

29       mov cx,21        ;21次循环

30    s: mov al,[bx]

31       mov es:[di],al

32       mov al,[bx+1]

33       mov es:[di+1],al

34       mov al,[bx+2]

35       mov es:[di+2],al

36       mov al,[bx+3]

37       mov es:[di+3],al

38       ;存放年份

39       

40       mov ax,54h[bx]

41       mov dx,56h[bx]

42       mov es:5h[di],ax

43       mov es:7h[di],dx    

44       ;存放总收入

45       

46       mov ax,0A8h[si]

47       mov es:0Ah[di],ax

48       ;存放雇员人数

49       

50       mov ax,54h[bx]

51       mov dx,56h[bx]

52       div word ptr ds:0A8h[si]        ;总收入除以雇员人数

53       mov es:0dh[di],ax        ;平均收入存放指定位置

54       

55       add bx,4        ;bx确定年份收入

56       add si,2

57       add di,16

58       loop s            ;为一次循环时存放数据做准备

59       mov ax, 4c00h 

60       int 21h

61 

62 codesg ends  

63 end  start

你可能感兴趣的:(数据)