美文网首页
汇编语言8 数据处理:不同寻址方式在结构化数据访问中的应用

汇编语言8 数据处理:不同寻址方式在结构化数据访问中的应用

作者: 官总哦 | 来源:发表于2019-04-22 13:22 被阅读0次

    程序说明:编写程序将data段的数据按照以下格式保存在table段中

    122.png

    实验代码如下:

    assume cs:code,ds:data,ss:stack
    
    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
    
    stack segment
        dw 0,0,0,0,0,0,0,0
    stack ends
    
    table segment
        db 21 dup ('year summ ne ?? ')
    table ends
    
    code segment
    start:  mov ax,data
            mov ds,ax
            mov ax,stack
            mov ss,ax
            mov sp,10H
            mov ax,table
            mov es,ax
    
            mov bx,0 ;数据段第一、二段数组下标
            mov si,0 ;数据段第三段数组下标
            mov bp,0 ;table段行标
            mov cx,21
    S:      push cx
            mov di,0 ;table段成员内引用下标
            mov cx,4
    
    S1:     mov al,ds:0[bx]
            mov es:[bp].0[di],al
            mov al,ds:84[bx]
            mov es:[bp].5[di],al
            inc bx
            inc di
            loop S1
    
            mov cx,2
            mov di,0
    S2:     mov al,ds:168[si]
            mov es:[bp].10[di],al
            inc si
            inc di
            loop S2
    
            mov dx,es:7[bp]
            mov ax,es:5[bp]
            div word ptr es:10[bp]
            mov es:13[bp],ax
    
            add bp,10H
            pop cx
            loop S
    
            mov ax,4c00H
            int 21H
        
    code ends
    end start
    

    在DOS的debug模式下,程序执行完毕后table段的值:


    结果.PNG

    相关文章

      网友评论

          本文标题:汇编语言8 数据处理:不同寻址方式在结构化数据访问中的应用

          本文链接:https://www.haomeiwen.com/subject/pujygqtx.html