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

Power idea 公司从1975年成立一直到1995年的基本情况如下:
汇编语言_实验7:寻址方式在结构化数据访问中的应用
汇编语言_实验7:寻址方式在结构化数据访问中的应用
汇编语言_实验7:寻址方式在结构化数据访问中的应用
汇编语言_实验7:寻址方式在结构化数据访问中的应用
问题:怎样让1975 放在year的位置?

代码如下:

assume cs:code,ds:data,ss:stack

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个字符串 year,偏移地址84


		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数据	sum ;偏移地址:168

		dw	3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
		dw	11542,14430,15257,17800
		偏移地址:210
data ends

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

stack segment stack
	db	128 dup (0)
stack ends

code segment

	start:	mov ax,stack
		mov ss,ax
		mov sp,128   ;设置栈
		
		mov ax,data
		mov ds,ax     ;data段,
		
		mov ax,table
		mov es,ax	    ;es存放

		;设置数据的在各自段中的偏移地址
		mov si,0    ; 设置年份起始地址
		mov di,84	;设置
		mov bx,168
		mov bp,0
		
		
		mov cx,21
		;开始操作
		; 存放年份
s:		push ds:[si]
		pop es:[bp]
		push ds:[si+2]
		pop es:[bp+2]

		
		mov ax,ds:[di]
		mov dx,ds:[di+2]
		mov es:[bp+5],ax
		mov es:[bp+7],dx
		
		push ds:[bx]
		pop es:[bp + 0AH]
		
		div word ptr ds:[bx]
		
		mov es:[bp+0DH],ax

		add si,4
		add di,4
		add bx,2
		add bp,16
		loop s

		mov ax,4C00H
		int 21H
code ends
end start

上一篇:Active Directory 域服务之AD DS 概述


下一篇:经典笔试&面试题(DS&A之树)