实验7 寻址方式在结构化数据访问中的应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验7 寻址方式在结构化数据访问中的应用相关的知识,希望对你有一定的参考价值。

题目让我们按下图要求的格式:

技术分享

直接上代码。

 1 ;实验7 殉职方式在结构话数据访问中的应用
 2 
 3 ;编程,将data段中的数据按题中给出图的格式写入到table段中,并计算21年中的人均收入(取整)
 4 ;结果也按照题中图给出的格式保存在table段中。
 5 ;程序如下
 6 
 7 assume cs:codesg
 8 
 9 data segment
10     db 1975,1976,1977,1978,1979,1980,1981,1982,1983
11     db 1984,1985,1986,1987,1988,1989,1990,1991,1992
12     db 1993,1994,1995
13     ;以上是表示21年的21个字符串
14 
15     dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
16     dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
17     ;以上是表示21年公司总收入的21个dword型数据
18 
19     dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
20     dw 11542,14430,15257,17800
21     ;以上是表示21年公司雇员人数的21个word型数据
22 data ends
23 
24 table segment
25     db 21 dup (year summ ne ?? )
26 table ends
27 
28 codesg segment
29 start:
30     mov ax,data
31     mov ds,ax
32     mov ax,table
33     mov es,ax
34     mov bx,0
35     mov si,0
36     mov cx,21
37 s0:                ;第一次循环将年份从data段传到table段
38     mov ax,[si]
39     mov es:[bx],ax
40     mov ax,[si].2
41     mov es:[bx].2,ax
42     add bx,16
43     add si,4
44     loop s0
45 
46     mov bx,0
47     mov si,0
48     mov cx,21
49 s1:                ;第二次循环将收入从data段传到table段
50     mov ax,[si].84
51     mov es:[bx].5,ax
52     mov ax,[si].86
53     mov es:[bx].7,ax
54     add bx,16
55     add si,4
56     loop s1
57 
58     mov bx,0
59     mov si,0
60     mov cx,21
61 s2:                ;第三次循环将雇员人数从data段传到table段
62     mov ax,[si].168
63     mov es:[bx].10,ax
64     add bx,16
65     add si,2
66     loop s2
67 
68     mov ax,4c00h
69     int 21h
70 codesg ends
71 
72 end start
73 
74 ;该代码用了三次循环,显然麻烦,但由于水平不足,其实也觉得嵌套循环也挺麻烦的
75 ;以后再改喽
76 ;不服咬我 : )

 

而程序中data段数据查看如下:

技术分享

程序执行后,所得结果,即table段中数据查看如下:

技术分享

 

mark一下

本人初学,水平有限,希望自己以后能够有能力改进这个代码。。。

over .0.

以上是关于实验7 寻址方式在结构化数据访问中的应用的主要内容,如果未能解决你的问题,请参考以下文章

汇编语言(第3版)王爽试验7 寻址方式在接过话数据访问中的应用(代码+注释)

汇编试验七:寻址方式在结构化数据访问中的应用

50行代码实现《汇编语言》王爽 实验七

[汇编语言]实验:应用更灵活的寻址方式来定位内存地址

51单片机可以通过指针访问寄存器吗

[汇编语言]实验:更灵活的寻址方式 -应用si和di