汇编语言(王爽)第二版 实验7 寻址方式在结构化数据访问中的应用

实验7

Power idea 公司从1975年成立一直到1995年的基本情况如下。
在这里插入图片描述

下面的程序中,已经定义好了这些数据:

assume cs:code

data segment
    db '1975','1976','1977','1978','1979','1980', '1981'
    db '1982', '1983','1984', '1985','1986', '1987','1988'
    db '1989','1990','1991','1992','1993','1994','1995'
    ;以上是表示21年的21个字符串
	
    dd 16,22,382,1356,2390,8000,16000,24486,50065,97479
    dd 140417,197514,345980,590827,803530,118300,1843000
    dd 2759000,3753000,4649000,5937000
    ;以上是表示21年公司总收入的21个dword型数据
	
    dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037
    dw 5635,8226,11542,14430,15257,17800
	;以上是表示21年公司雇员人数的21个word数据
data ends

table segment
  ;预留位置,用于显示数据
   db 21 dup ('year summ ne ?? ')
table ends

table段

编程,将data段中的数据按如下格式写入到table段中,并计算21年中的人均收入(取整),结果也按照下面的格式保存到table段中
在这里插入图片描述

提示

在这里插入图片描述

源代码

table segment
  ;预留位置,用于显示数据
   db 21 dup ('year summ ne ?? ')
table ends

code segment
	start:							;设置段地址
			mov ax,data
			mov es,ax
			mov ax,table
			mov ds,ax
			
			
			mov bx,0				;table 数据的偏移地址,决定从哪一行开始
			mov bp,0				;年份,收入(4字节)数据的偏移地址,每次增加4
			mov si,0				;雇员数(2字节)数据的偏移地址,每次增加2
			mov cx,21				;总共21年,循环21次
			a:						;将年份(4字节)数据复制到 year 上
				mov ax,es:[bp+0]
				mov ds:[bx+0],ax
				mov ax,es:[bp+2]
				mov ds:[bx+2],ax
				
									;将收入(4字节)数据复制到 summ 上
				mov ax,es:[bp+54H]
				mov ds:[bx+5],ax
				mov ax,es:[bp+56H]
				mov ds:[bx+7],ax
				
									;将雇员数(2字节)数据复制到 ne 上
				mov ax,es:[si+0A8H]
				mov ds:[bx+10],ax
				
									;将人均收入(2字节)数据复制到 ?? 上
				mov ax,ds:[bx+5]
				mov dx,ds:[bx+7]
				div word ptr ds:[bx+10]
				mov ds:[bx+13],ax
				
									;累加操作
				add si,2
				add bp,4
				add bx,16
			loop a
			mov ax,4C00H
			int 21H
code ends
end start

参考资料1:《汇编语言》王爽第二版
参考资料2
汇编 db,dw,dd的区别

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值