王爽《汇编语言》实验7
2016-06-12 20:46
288 查看
;王爽汇编语言实验七 assume cs:code,ds:data,es:table 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年的字符串 4 * 21 = 84 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;以上是表示21年公司总收入的dword型数据 4 * 21 = 84 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,15257,17800 ;以上是表示21年公司雇员人数的21个word型数据 2 * 21 = 42 data ends table segment db 21 dup ('year summ ne ?? ') ; 'year summ ne ?? ' 刚好16个字节 table ends code segment start: ;data数据 放在ds mov ax,data mov ds,ax ;table数据 放在 es mov ax,table mov es,ax ;三个寄存器初始化 mov bx,0 ;data中数据定位(和idata结合,用于年份和收入) mov si,0 ;table中定位(和idata给合用于定位存放数据的相对位置) mov di,0 ;data中用于得到员工数 ;cx循环次数 mov cx,21 ;循环内容 s: ;年 ;将年从data 到 table 分为高16位和低16位 mov ax,[bx] mov es:[si],ax mov ax,[bx+2] mov es:[si+2],ax ;空格 ;table 增加空格 mov byte ptr es:[si+4],20h ; mov BYTE PTR [DI],0就是把[DI]处的一个字节填为空格 ;收入 ;将收入从data 到 table 分为高16位和低16位 mov ax,[bx+84] mov es:[si+5],ax mov ax,[bx+86] mov es:[si+7],ax ;空格 ;table 增加空格 mov byte ptr es:[si+ 9],20h ;雇员数 ;将雇员数从data 到 table mov ax,[di + 168] mov es:[si + 10],ax ;空格 ;table 增加空格 mov byte ptr es:[si+12],20h ;计算工资 ;取ds处工资,32位 mov ax,[bx + 84] mov dx,[bx + 86] ;计算人均收入 div word ptr ds:[di + 168] ;将结果存入table处 mov es:[si+13],ax ;空格 ;table 增加空格 mov byte ptr es:[si + 0fh],20h ;改变三个寄存器值 add si,16 add di,2 add bx,4 loop s mov ax,4ch int 21h code ends end start
相关文章推荐
- 汇编语言无效指令错误概述
- 汇编语言超浓缩教程
- C 语言内嵌汇编栈指针问题
- 初学汇编语言的几个练习题
- 算法效率分析
- 下资源网站”逆向工程,软件破解学习资料汇总
- 怨念。怎么就一直待审核呢
- 汇编语言Day_01:汇编中常用的寄存器简单介绍
- 汇编语言的Hello world程序
- X86编译学习
- 《汇编语言》-王爽-第三版-读书笔记-前言
- 麻省理工大学XV6操作系统赏析(用户态的实用工具)
- Hello World 汇编语言版
- 汇编语言 之 除法溢出问题
- 汇编语言王爽 实验10.1
- 汇编语言 课程设计2 之时间设置改进篇
- C语言综合研究与高强度程序设计训练 2
- 汇编语言寻址方式在结构化数据访问中的应用
- 学习汇编语言时DOS环境的搭建
- 王爽《汇编语言》(第3版) 实验七