实验7

assume cs:code

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

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

stack segment
	dw 8 dup(0)
stack ends

code segment	
start:

	mov ax,stack
	mov ss,ax
	mov sp,16

	mov ax,data
	mov ds,ax
	
	mov ax,table
	mov es,ax
	
	mov cx,21
	
	mov bx,0
	mov bp,0
	
s0:	push cx

	mov cx,4
	mov si,0
s:	mov al,[bx+si]
	mov es:[bp+si],al
	
	mov al,84[bx+si]
	mov es:5[bp+si],al
	inc si
	loop s
	
	add bx,4

	push cx
	mov cx,2
	mov si,0
s1: mov al,168[bx+si]	
	mov es:10[bp+si],al
	inc si
	loop s1
	pop cx
	
	
	add bp,16
	pop cx
	loop s0
	
	mov ax,4c00H
	int 21H

code ends

end start

;truct cmpany{
;	char cn[3];
;	char hn[9];
;	int  pm;
;	int  sr;
;	char cp[3]
;};


;loop指令步骤:
;1. (cx)=(cx)-1
;2. if cx!=0 就执行循环体 else 跳出循环体

;push x指令步骤:
;1. SP=SP-2
;2. [SS:SP]=x

;pop指令步骤
;1.SS:SP指向的字单元中读取数据
;2. SP=SP+2



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值