zoukankan      html  css  js  c++  java
  • 【汇编】基础试验7

    assume cs:code,ss:stack,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'
    ;year
    dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
    dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
    ;summ
    dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
    dw 11542,14430,15257,17800
    ;ne
    data ends

    table segment
    ;0123456789ABCDEF
    db 21 dup ('year summ ne ?? ') ;处理后放数据的地方
    table ends

    stack segment stack
    db 128 dup (0) ;预留栈空间
    stack ends

    code segment
    ;栈的设置
    start: mov ax,stack ;让ss的指针对准栈空间
    mov ss,ax
    mov sp,128 ;设定栈空间大小
    ;原始数据的设置
    mov ax,data ;让ds的指针对准原始数据空间
    mov ds,ax
    mov bx,0 ;让偏移地址指针对准第一个字符
    ;处理后的数据的设置
    mov ax,table
    mov es,ax ;让es的指针对准处理后的数据的空间
    ;数据的移动
    ;循环开始 设置循环参数
    mov cx,21 ;大循环次数
    mov si,0 ;数据里的指针
    mov di,0 ;处理后空间偏移指针
    mov si,0

    yeardxh: push cx ;把21次循环弄进去
    push bx ;重置bx
    mov cx,2 ;小循环,循环次数4

    yearxxh: mov ax,ds:[bx+si] ;第bx个字符移动
    mov es:[bx+di],ax
    add bx,2

    loop yearxxh

    pop bx
    pop cx ;让循环次数减1
    add di,16
    add si,4

    loop yeardxh

    ;工资的移动
    mov cx,21 ;初始化
    mov bx,0
    mov si,0
    mov di,0


    gongzidxh:

    mov bx,0
    ;数据处理,从何而来,去何地方
    mov ax,ds:[bx+si+84]
    mov es:[bx+di+5],ax
    mov ax,ds:[bx+si+2+84]
    mov es:[bx+di+2+5],ax

    add si,4
    add di,16


    loop gongzidxh


    ;;;员工人数

    mov cx,21 ;初始化
    mov bx,0
    mov si,0
    mov di,0


    yuangongdxh:

    mov bx,0
    ;数据处理,从何而来,去何地方
    mov ax,ds:[bx+si+168]
    mov es:[bx+di+10],ax

    add si,2
    add di,16

    loop yuangongdxh

    ;;;;平均工资
    mov cx,21 ;初始化
    mov bx,0
    mov si,0
    mov di,0

    pingjundxh:

    mov bx,0
    ;数据处理,从何而来,去何地方
    mov ax,es:[bx+5+di]
    mov dx,es:[bx+7+di]
    div word ptr es:[bx+10+di]
    mov es:[bx+13+di],ax

    add di,16

    loop pingjundxh

    mov ax,4c00H
    int 21

    code ends

    end start

    充满金属光泽的脑袋持有者,怎么会因为害怕而放弃挣扎。----------------------------------------------------------------------------------------------------------------------------------------------------------------------- 让暴风雨来的更猛烈些吧!猛烈到撕裂我的灵魂!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 看看吧,暴风雨...你输了!---------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    分布式系列
    mybatis-generator自动生成代码工具
    mybatis的jdbcType和javaType、oracle,MySQL的对应类型
    spring的@Transactional注解详细用法
    Unity火爆插件Behavior Designer行为树插件学习
    Unity内存优化之视频讲解
    Unity 2018 Game Development in 24 Hours Sams Teach Yourself 3rd Edition
    8 Ball Pool
    Unity设计模式+Java设计模式,讲解+案例+PPT,一次性学会设计模式,拥抱高薪!
    Unity接入微信登录 微信分享 微信支付 支付宝SDK
  • 原文地址:https://www.cnblogs.com/naraka/p/8026426.html
Copyright © 2011-2022 走看看