Wang Shuang's assembly language experiment 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','1992'
	db '1993','1994','1995'
	;以上是表示21年的21个字符串
	
	dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
	dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
	;以上是表示21年公司收入的21个dword型数据
	
	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型数据
data ends

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

codesg segment
start:mov ax,data
	  mov ds,ax
	  mov ax,table
	  mov es,ax	
	  mov di,0			;公司雇员人数的相对位置,两个数据之间相隔2个字节
	  mov si,0			;table的行相对位置,两个数据之间相距16个字节
	  mov bx,0			;年份和公司收入的相对位置,两个数据之间相距4个字节
	  mov cx,21
	  s:mov ax,0[bx]
		mov dx,2[bx]
		mov es:0[si],ax
		mov es:2[si],dx
		mov ax,84[bx]
		mov dx,86[bx]
		mov es:5[si],ax
		mov es:7[si],dx
		div word ptr 168[di]
		mov es:13[si],ax
		mov ax,168[di]
		mov es:10[si],ax
		add bx,4
		add di,2
		add si,16
		loop s
	   mov ax,4c00h
	   int 21h
codesg ends
end start

Guess you like

Origin blog.csdn.net/weixin_44223946/article/details/108814739