zoukankan      html  css  js  c++  java
  • 记录王爽汇编实验7推导过程

    assume cs:code,ds:data
    data  segment
      DB '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982'
      DB '1983', '1984', '1985', '1986', '1987', '1988', '1989', '1990'
      DB '1991', '1992', '1993', '1994', '1995'
    
      DD 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
      DD 345980, 590827, 803530, 118300, 184300, 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
    
    table  segment
        DB 21 dup ('year summ ne ?? ')
    table  ends
    
    code segment
    start:         
    comment*                            
                si            si+4            si+8    
    si        年份1     年份2         年份3 ...
                si+84        si+84+4        si+84+8
                收入1     收入2         收入3 ...
                si+168    si+168+2    si+168+4
                人数1     人数2         人数3 ...
                        
                di            di+4            di+5            di+9            di+10             di+12            di+13         di+15 
    di        年份1     空格            收入1       空格            人数1          空格            人均1         空格
                di+16     di+16+4        di+16+5        di+16+9        di+16+10    di+16+12    di+16+13    di+16+15
                年份2        空格             收入2       空格            人数2          空格            人均2         空格
                di+32        di+32+4        di+32+5        di+32+9        di+32+10     di+32+12    di+32+13    di+32+15
                年份3     空格             收入3       空格            人数3          空格            人均3         空格
                ...    
                                            
                                                                            
        第一次循环
                年份    si                         ->         di                            
                收入    si+84                    ->         di+5                        
                人数    si+168                ->         di+10                    
        第二次循环
                年份    si+4                    ->         di+16                
                收入    si+84+4                ->         di+16+5            
                人数    si+168+2            ->         di+16+10            
        第三次循环
                年份    si+8                    ->         di+32
                收入  si+84+8                ->         di+32+5
                人数    si+168+4            ->         di+32+10                        
                            ...
                            
    注意: 【年份】和【收入】占4个字节,每次加4,【人数】占两个字节, 每次加2.                            
    *comment
            
            mov ax, data
            mov ds, ax        
            mov ax, table
            mov es, ax
            
            mov ax, 0
            mov bx, 0
            mov di, 0
            mov si, 0
            mov bp, 0
            
            mov cx, 21
        begin_copy:
            mov ax, [si]
            mov es:[di], ax
            mov ax, [si+2]
            mov es:[di+2], ax
            mov byte ptr es:[di+4], 20h    ;空格
            mov ax, [si+84]
            mov es:[di+5], ax
            mov ax, [si+86]
            mov es:[di+7], ax
            mov byte ptr es:[di+9], 20h    ;空格
            mov ax, ds:[bp+168]    ; !!!使用bp, 必须指定寄存器 !!!
            mov es:[di+0Ah], ax
            mov byte ptr es:[di+0Ch], 20h    ;空格
            mov ax, [si+84]
            mov dx, [si+86]
            mov bx, es:[di+0Ah]
            div bx
            mov word ptr es:[di+0Dh], ax
            mov byte ptr es:[di+0Fh], 20h    ;空格        
            
            add di, 16
            add si, 4
            add bp, 2
            loop begin_copy
                    
            mov ax, 4c00h
            int 21h
    code ends
    
    end start
  • 相关阅读:
    数据挖掘:基本概念理解
    Linux:数据库服务(Mysql安装及链接、远程链接、genelog)
    Linux:WebServer(Nginx 虚拟主机配置与伪静态实现)
    Linux:WebServer(Apacge)
    单例和多线程
    Redis注册成服务
    Redis基础学习
    sqlserver查询使用with(nolock)详解
    JAVA设计模式-策略模式
    JAVA设计模式-代理模式
  • 原文地址:https://www.cnblogs.com/Jiaojiawang/p/14375993.html
Copyright © 2011-2022 走看看