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

    充满金属光泽的脑袋持有者,怎么会因为害怕而放弃挣扎。----------------------------------------------------------------------------------------------------------------------------------------------------------------------- 让暴风雨来的更猛烈些吧!猛烈到撕裂我的灵魂!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 看看吧,暴风雨...你输了!---------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    3. Longest Substring Without Repeating Characters
    2. Add Two Numbers
    1. Two Sum
    关于LSTM核心思想的部分理解
    常用正则表达式RE(慕课网_Meshare_huang)
    安装Keras出现的问题
    win系统下如何安装xgboost,开发环境是anaconda,以及这中间需要注意的问题
    Shell基础
    关机与重启命令
    压缩与解压缩命令
  • 原文地址:https://www.cnblogs.com/naraka/p/8026426.html
Copyright © 2011-2022 走看看