zoukankan      html  css  js  c++  java
  • 数据处理的两个基本问题05 零基础入门学习汇编语言42

    第八章:数据处理的两个基本问题05

     

    让编程改变世界

    Change the world by program


     

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

      这个程序是到目前为止我们遇到的最复杂的程序,它几乎用到了我们之前学过的所有知识和编程技巧。 这个程序是对我们目前能力的一个考验,请一定要认真完成,务必弄明白才继续往下学习。  

    源数据在哪里?

    年份(0-53H)、收入(54H-0A7H)、雇员(0A8H-0D1H)的存放位置  

    目标存放位用什么来表示?

    年份、收入、雇员、平均收入的存放位置  

    观察数据类型和如何利用偏移寻址?

    初始化阶段

    mov ax,data

    mov ds,ax

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

    mov es,ax

    mov bx,0

    mov si,0

    mov di,0

    mov cx,21         ;二十一次循环,大家可想而知

      每次循环要执行的任务
    • 存放年份
    • 存放公司总收入
    • 存放公司人数
    • 计算人均收入并存放
      存放年份

    mov al,[bx]

    mov es:[di], al

    mov al,[bx+1]

    mov es:[di+1], al

    mov al,[bx+2]

    mov es:[di+2], al

    mov al,[bx+3]

    mov es:[di+3], al

      存放公司总收入

    mov ax,54h[bx]    ;第一个'年收入'的段基                                      ;址为54H

    mov dx,56h[bx]

    mov es:5h[di],ax

    mov es:7h[di],dx

      存放公司人数

    mov ax,0A8h[si]       ;第一个'人数'的段基址                                           ;为0A8H mov es:0Ah[di],ax

      计算人均收入并存放 mov ax,54h[bx] mov dx,56h[bx]                    ;这两句是初始化被除数 div word ptr ds:0A8h[si]   ;除以人数 mov es:0dh[di],ax                ;将商放入指定位置   为下一次循环时存放数据做准备

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

    add si,2    ;si确定人数

    add di,16 ;di确定的是每行的列数

    [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LRYEJBCTSHOJ']视频下载[/Downlink]
  • 相关阅读:
    设置多台机器linux服务器ssh相互无密码访问
    linux环境下 卸载 Oracle11G
    树型结构递归 实体递归 JSON格式
    Fiddler工具非常强大好用
    SQL 分页 SQL SERVER 2008
    Html table 细边框
    Oracle用户密码过期的处理方法
    将目录下面所有的 .cs 文件合并到一个 code.cs 文件中,写著作权复制代码时的必备良药
    微软帮你做了枚举的位运算
    根据身份证算出生日期和性别
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846029.html
Copyright © 2011-2022 走看看