当前位置 博文首页 > HWP:解决 王爽写的汇编语言的第七个验七- 寻址方式在结构化数据

    HWP:解决 王爽写的汇编语言的第七个验七- 寻址方式在结构化数据

    作者:[db:作者] 时间:2021-07-08 21:42

    原文:

    汇编语言-(第三版) 王爽-著 (实验七) 寻址方式在结构化数据访问中的应用
    https://www.52pojie.cn/thread-1241289-1-1.html
    (出处: 吾爱破解论坛)


    是一个里程碑式的实验。数据处理,代码处理数据转存储。进行循环,以及存储被除数除以除数的数据。
    当然也有些许搞不懂的地方。留给以后学习吧!

    题目:

    g命令跳转:

    查看结果:


    代码如下:

    assume cs:codesg,ds:data,es:table
    
    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
    
    
    codesg segment
    
    start:
    	mov ax,data
    	mov ds,ax
    	mov ax,table
    	mov es,ax
    	
    	mov bx,0
    	mov si,0
    	mov di,0
    	mov cx,21
    	
    	s:
    	mov al,[bx]
    	mov es:[di],al
    	mov al,[bx+1]
    	mov es:[di+1],al
    	mov al,[bx+2]
    	mov es:[di+2],al
    	mov al,[bx+3]
    	mov es:[di+3],al;写入年份
    	
    	mov ax,54h[bx]
    	mov dx,56h[bx]
    	mov es:5h[di],ax
    	mov es:7h[di],dx
    	
    	mov ax,0a8h[si]
    	mov es:0ah[di],ax;写入雇员数
    	
    	mov ax,54h[bx]
    	div word ptr ds:0A8h[si]
    	mov es:0dh[di],ax;取整,拿出ax中的东西就足够啦!
    	
    	add bx,4;用于双字
    	add si,2;用于单个字
    	add di,16;换行
    	
    	loop s
    	
    	mov ax,4c00h
    	int 21h
    codesg ends
    end start
    	
    	
    	


    OK

    cs