zoukankan      html  css  js  c++  java
  • 汇编试验七:寻址方式在结构化数据访问中的应用

    预备知识:

    (1)寻址方式 《汇编语言》P169

    (2)div指令

    被除数 dx + ax,除数 bx ,商 ax,dx 余数;

    (3)dd :双字数据

     (4)dup :重复赋值指令

    实验任务:结构化存储

    Source Code:

    assume cs:codesg, ds:data, es:table, ss:stack
    
    data segment
        ;21 year
        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
        dw 8226,11542,14430,15257,17800
    data ends
    
    table segment
        db 21 dup('year summ ne ?? ')
    table ends
    
    stack segment
        db 16 dup(0)
    stack ends
    
    codesg segment
    
    start:
        mov ax,data ;数据源
        mov ds,ax
        mov bx,0
        mov si,84
        mov di,168
    
        mov ax,table ;目标地址
        mov es,ax
        mov bp,0
    
        mov ax,stack    ;栈段
        mov ss,ax
        mov sp,16
    
        mov cx,21
        s:
            mov ax,[bx+0]
            mov es:[bp+0],ax
            mov ax,[bx+2]
            mov es:[bp+2],ax        ;年份
            mov byte ptr es:[bp+4],20h
    
            mov ax,[si]
            mov es:[bp+5],ax
            mov ax,[si+2]
            mov es:[bp+7],ax        ;收入
            mov byte ptr es:[bp+9],20h
    
            mov ax,[di]
            mov es:[bp+10],ax
            mov byte ptr es:[bp+12],20h ;员工人数
    
            mov ax,[si]
            mov dx,[si+2]
            div word ptr [di]
            mov es:[bp+13],ax
            mov byte ptr es:[bp+15],20h
    
            add bx,4
            add si,4
            add di,2
            add bp,16
    
            loop s
        mov ax,4c00H
        int 21H
    
    codesg ends
    end start
    View Code

    原始数据:

    运行结果:

    但是你会发现,收入,人数,人均收入都显示不了,是因为,收入是4个字节,分开了,在数据段中就有体现;

     

  • 相关阅读:
    二:虚拟游戏摇杆
    一:AndEngine的小例子
    打造属于自己的安卓Metro界面
    linux设备驱动第四篇:驱动调试方法
    C# 二叉查找树实现
    初识 Angular 体会
    C# 霍夫曼二叉树压缩算法实现
    TypeScript笔记[5]泛型+Dictionary 转
    Axiom3D学习日记 5.Frame Listeners, and Input Handling
    Axiom3D学习日记 4.地形,天空,雾
  • 原文地址:https://www.cnblogs.com/TreeDream/p/6925926.html
Copyright © 2011-2022 走看看