trump 发表于 2014-6-28 03:32:34

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

Power idea公司从1975年成立一支到1995年的基本情况如下。编程,将data段中的数据按如下格式写入到table段中,并计算21年中的人均收入(取整),结果也按照下面的格式保存在table段中。

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'
        ;以上是表示21年的21个字符串,共84个字节

        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型数据,共84个字节
       
        dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
        dw 11542,14430,15257,17800
        ;以上是表示21年公司雇员人数的21个word型数据,共42个字节
data ends

table segment
        db 21 dup ('year summ ne ?? ')
table ends

codesg segment
start:
        mov ax,data
        mov ds,ax

        mov ax,table
        mov es,ax
       
        mov cx,21
        mov bx,0
        mov si,0                        ;雇员人数偏移量
        mov di,0                        ;21年年份和21年总收入偏移量

s0:
        mov ax,ds:
        mov es:,ax
       
        mov ax,ds:
        mov es:,ax        ;以上是写入年份

        mov ax,ds:
        mov es:,ax
       
        mov ax,ds:
        mov es:,ax        ;以上是写入总收入
       
        mov ax,ds:
        mov es:,ax        ;以上是写入雇员人数

        mov dx,es:
        mov ax,es:
        div word ptr es:
        mov es:,ax        ;以上是写入人均收入
       
        add si,2
        add di,4
       
        mov ax,es
        inc ax
        mov es,ax                        ;以上是inc es
       
        loop s0

        mov ax,4c00h
        int 21h

codesg ends

end start


页: [1]
查看完整版本: 实验7 寻址方式在结构化数据访问中的应用