汇编语言学习(六)寻址方式在结构化数据访问中的应用

书中实验(六)略

程序一:四个循环

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 11452,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 ss,ax 
        mov bx,0 
        mov si,0 
        mov bp,0 
        
        mov cx,21 
s0:mov ax,[bx+si] 
   mov [bp+0],ax 
   add si,2 
   mov ax,[bx+si] 
   mov [bp+2],ax 
   add si,2 
   add bp,10h 
   loop s0 
   
   mov cx,21 
   mov bp,0 
   mov si,0 
s1:mov ax,[bx+si+84] 
   mov [bp+5],ax 
   add si,2 
   mov ax,[bx+si+84] 
   mov [bp+7],ax 
   add si,2 
   add bp,10h 
   loop s1 

   mov cx,21 
   mov bp,0 
   mov si,0 
s2:mov ax,[bx+si+168] 
   mov [bp+10],ax 
   add si,2 
   add bp,10h 
   loop s2 

   mov cx,21 
   mov bp,0 
s3:mov ax,[bp+5] 
   mov dx,[bp+7] 
   div word ptr [bp+10] 
   mov [bp+13],ax 
   add bp,10h 
   loop s3  
   
   mov ax,4c00h
   int 21h

codesg ends
end start

程序二:一个循环

assume cs:code,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 11452,14430,15257,17800

data ends

table segment

    db 21 dup ('year summ ne ?? ')

table ends

code 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 ax,[bx]

        mov es:[si],ax

        mov ax,[bx].2

        mov es:[si].2,ax

 

        mov ax,[bx].84

        mov es:[si].5,ax

        mov dx,[bx].86

        mov es:[si].7,dx

 

        div word ptr ds:[di].168

        mov es:[si].13,ax

        

        mov ax,[di].168

        mov es:[si].10,ax

 

        add di,2

        add bx,4

        add si,16

        loop s 

 

        mov ax,4c00h 

        int 21h 

code ends 

end start 
发布了21 篇原创文章 · 获赞 1 · 访问量 1559

猜你喜欢

转载自blog.csdn.net/qq_33566628/article/details/104224622