第8章 数据处理的两个基本问题

实验7 寻址方式在结构化数据访问中的应用

在这里插入图片描述
在这里插入图片描述

assume cs:codesg
data segment
	db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983'
	db '1984', '1985', '1986', '1987', '1988', '1989', '1990', '1991', '1991', '1992'
	db '1993', '1994', '1995'
//以上表示21个年份,0~53H
	dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
	dd 345980, 5907827, 803530, 1183000, 1843000, 2759000, 3753000, 4649000, 5937000
//以上表示21个年份的总收入, 54H~0A7H
	dw 3, 7, 9, 13, 28, 38, 130, 220, 476, 778, 1001, 1442, 2258, 2793, 4037, 5635, 8226
	dw 11542, 14430, 15257, 17800
//以上表示21个年份的雇员人数, 0A8H~0D1H
data ends

table segment
	db 21 dup ('year summ ne ?? ')
table ends

code segment
start:	mov ax, data
		mov ds, ax      //设置数据的段地址
		mov ax, table
		mov es, ax      //设置es为table的段地址

		mov bx, 0
		mov si, 0
		mov di, 0
		mov cx, 21       //循环次数为21

s:		mov ax, [bx]
		mov es:[di], ax
		mov ax, [bx+2]
		mov es:[di+2], ax      //存放年份

		mov ax, [bx+54H]
		mov dx, [bx+56H]
		mov es:[5H+di], ax
		mov es:[7H+di], dx       //存放年收入

		mov ax, [si+0A8H]
		mov es:[0AH+di], ax       //存放雇佣人数
		
		mov ax, [54H+bx]
		mov dx, [56H+bx]
		div word ptr es:[0AH+di]
		mov word ptr es:[0DH+di], ax      //平均工资		
		
		add bx, 4
		add si, 2
		add di, 16
		loop s
		
		mov ax, 4C00H
		int 21H

code ends
end start
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值