汇编语言实验7寻址方式在结构化数据中的应用

通过寻址,将下列数据写到table
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一定要自己实现,实现并不是很复杂

程序:


assume cs:code,ds:data

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

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

code segment

start:		
		mov ax,data
		mov ds,ax 得到data的段地址
		
		mov ax,table
		mov es,ax 令es为table的段地址
		
		mov cx,21 设置循环次数
		mov bx,0  设置es的偏移地址
		mov di,0  di用来遍历存在ds段地址内存上的数据
		
		s:循环遍历table的第一列,把第一组数据写上
		push cx
		mov cx,4
		mov si,0
			s0:
			  mov al,ds:[di]
			  mov es:[bx+si],al
              inc di
			  inc si
			loop s0
        add bx,16
        pop cx
        loop s
        
		mov cx,21
		mov bx,0
		
		f:写入第二组数据
		push cx
		mov cx,4
		mov si,5
			f0:
			mov al,ds:[di]
			mov es:[bx+si],al
			inc di
			inc si
			loop f0
		add bx,16
        pop cx
		loop f
        
		mov cx,21
        mov bx,0
		
		r:写入第三组数据
		push cx
		mov cx,2
		mov si,10
			r0:
			mov al,ds:[di]
			mov es:[bx+si],al
			inc di
			inc si
			loop r0
		add bx,16
        pop cx
		loop r
		
		mov cx,21
		mov bx,0
		
		i:遍历table表上以写入的数据,进行除法操作,商被存在 ax里
		push bx
		mov dx,es:[bx+7]
		mov ax,es:[bx+5]
		mov bx,es:[bx+10]
		div bx
		pop bx
		mov es:[bx+13],ax
		add bx,16
		loop i
		
		
		mov ax,4c00H
		int 21H
		
code ends

end start

数据存到table表中
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值