首页 > 编程语言 > 详细

汇编语言学习(王爽)实验7

时间:2020-03-21 14:02:10      阅读:67      评论:0      收藏:0      [点我收藏+]

  这个实验的意义极大,总合之前的全部知识,而且难度不大,很适合拿来啊巩固所学(我从开始写到现在居然写了5天,我这个拖延症……)

 

 

 

 技术分享图片

 

 

   其实不是想想的那么难,图中标明了只有年份,按字符存储,其他直接数据就好了,所以,我们只需要成功一次,控制好迭代寄存器,就可以轻松实现

 

下面是我的代码,仅供参考:

  

assume cs:code, 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
    ;   21 个年份的字符串

    dd 16,22,382,1356,2390,8000,16000,24886,50065,97479,140417,197514           ;076C:0054
    dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
    ;   21 年公司的总收入

    dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226        ;076C:00A8
    dw 11542,14430,15257,17800
    ;   21 年公司雇员人数
data ends

table segment
    db 21 dup (year summ ne ?? )                                              ;076C:00E0
table ends  

stack segment
    dw 8 dup (0)
stack ends

code segment
start:          mov ax, stack
                mov ss, ax
                mov sp, 10H                 ;配置栈段           
               
                mov ax, data
                mov ds, ax                  ;配置数据源
                
                mov ax, table
                mov es, ax                  ;配置接受点

                mov bx, 0
                mov bp, 0
                mov si, 0
                mov cx, 15H                 ;公司个数

COPYDATA:       push ds:[bx+di]
                pop  es:[bp]
                push ds:[bx+di+2]
                pop  es:[bp+2]              ;拷贝 年份

                push ds:54H[bx+di]          
                pop es:5[bp]                
                push ds:54H[bx+di+2]          
                pop es:5[bp+2]               ;拷贝 收入

                push ds:0A8H[di]
                pop es:0AH[bp]               ;拷贝 


                mov dx, es:5[bp+2]
                mov ax, es:5[bp]
                div Word ptr ds:0A8H[di]
                mov es:0DH[bp], ax             ;人均收入
                
                add bp, 10H
                add di, 2
                add bx, 2H       
                loop COPYDATA
               
                mov ax, 4c00h
                int 21
code ends
end start

最终实现的结果的部分图片:

  技术分享图片

 

汇编语言学习(王爽)实验7

原文:https://www.cnblogs.com/daker-code/p/12538864.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!