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

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

0x00 为什么没有实验6?

​ 因为实验6让把第七章内容都认真思考并动手写一遍,在《汇编语言笔记7》中已经完成了。

0x01 任务一

QQ截图20200531164438

QQ截图20200531164457

QQ截图20200531164515

​ 上代码!(为了节省时间 我简化成8年的数据,思路是一样的)

assume cs:code,ds:code,ss:stack
data segment
	db '1975','1976','1977','1978','1979','1980','1981','1982'
	dd 16,22,382,1356,2390,8000,16000,24486
	dw 3,7,9,13,28,38,130,220
data ends
table segment
	db 8 dup ('year summ ne ?? ')
table ends
stack segment
	db 16 dup (0)
stack ends
code segment
start:		mov ax,data
		mov ds,ax
		mov ax,table
		mov es,ax
		mov ax,stack
		mov ss,ax
		mov bx,0
		mov bp,0
		mov cx,8
s: 		mov ss:[0],cx
		mov si,0
		mov cx,2
s0:		mov ax,ds:[bp+0+si]
		mov es:[bx+0+si],ax
		add si,2
		loop s0
		mov byte ptr es:[bx+4],0
		mov cx,2
		mov si,0
s1:		mov ax,ds:[bp+32+si]
		mov es:[bx+5+si],ax
		add si,2
		loop s1
		mov byte ptr es:[bx+9],0
		add bx,16
		add bp,4
		mov cx,ss:[0]
		loop s
		mov bx,0
		mov bp,0
		mov cx,8
s3:		mov ax,ds:[bp+64]
		mov es:[bx+0ah],ax
		mov byte ptr es:[bx+0ch],0
		mov ax,es:[bx+5]
		mov dx,es:[bx+7]
		div word ptr es:[bx+0ah]
		mov es:[bx+0dh],ax
		mov byte ptr es:[bx+0fh],0
		add bx,16
		add bp,2
		loop s3
		mov ax,4c00h
		int 21h
code ends
end start

QQ截图20200531180720

​ 这个题确实难度很大 主要是嵌套循环和数组的位置,建议先流程图,最终还是做出来了 可喜可贺!