|  | 
 
 
 楼主|
发表于 2012-2-8 19:30:17
|
显示全部楼层 
| assume cs:code,ds:data,es:table,ss:stack 
 data segment
 db '1975','1976','1977'
 ;以上表示21年中前3年的3个字符串 (总共有12个字节)
 
 dd 16,22,382
 ;以上表示21年公司总收入的前3个dword型数据(总共有12个字节)
 
 dw 3,7,9
 ;以上表示21年公司雇员人数的前3个word型数据(总共有6个字节)
 data ends
 
 table segment
 db 3 dup ('year summ ne ?? ') ;(4,1,4,1,2,1,2,1)*3
 table ends
 
 stack segment
 dw 3 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 sp,6
 mov bx,0
 mov cx,3
 mov si,0
 mov di,0
 s:
 mov ax,ds:12[si]
 add si,2
 mov dx,ds:12[si]
 sub si,2
 div word ptr ds:24[di]
 ;ax得到商
 
 push di
 push cx
 mov cx,2
 mov di,0
 YearAndSumm:
 mov dx,ds:0[si]
 mov es:[bx+0+di],dx
 mov dx,ds:12[si]
 mov es:[bx+5+di],dx
 add si,2
 add di,2
 loop YearAndSumm
 pop cx
 pop di
 ;将year和summ存入table
 
 mov dx,ds:24[di]
 mov es:[bx+10],dx
 mov es:[bx+13],ax
 
 ;将ne和??存入table
 
 add di,2
 add bx,16
 loop s
 ;循环存储
 mov ax,4c00h
 int 21h
 code ends
 end start
 | 
 |