Microsoft (R) Macro Assembler Version 6.11		    04/02/12 19:05:11
tempfile.asm						     Page 1 - 1


				;用四种颜色各显示一个矩形块的程序
				;在Windows 7操作系统下必须设置【兼容Winodws xp模式】才能正常运行 
 0000				DATA   SEGMENT
 0000 0032			LINE   DW   50                     ;矩形块左上角的行
 0002 0032			ROW    DW   50                     ;矩形块左上角的列
 0004 01			PIX    DB   1                    ;矩形块的颜色,可以将1，分别修改成2,3试一试
 0005				DATA   ENDS
 0000				CODE         SEGMENT
				             ASSUME  CS:CODE,DS:DATA
 0000				START:                               ;主程序
 0000  B8 ---- R		             MOV AX , DATA
 0003  8E D8			             MOV DS , AX
 0005  B4 00			             MOV AH , 0
 0007  B0 04			             MOV AL , 4
 0009  CD 10			             INT 10H                 ;设置320×200彩色图形方式
				             
 000B  B4 0B			             mov ah,0bh
 000D  B7 01			             mov bh,01
 000F  B3 00			             mov bl,0
 0011  CD 10			             int 10h
 0013  B9 0004			             MOV CX, 4
 0016				L1:
 0016  E8 0012			             CALL DISP_RECT
 0019  E8 0037			             call delay
 001C  FE 06 0004 R		             inc PIX                 ;每循环一次，点的颜色加1
 0020  83 06 0002 R 1E		             ADD ROW , 30            ;改变下一个方块的显示位置
 0025  E2 EF			             LOOP L1
 0027  B4 4C			             MOV AH , 4CH
 0029  CD 21			             INT 21H                 ;返回DOS
				;显示矩形块的子程序，矩形块的显示位置由DATA段中的LINE、ROW变量指定，
				;颜色由PIX变量指定，矩形块的大小是固定的，为10个点宽，100个点高。
 002B				DISP_RECT    PROC  near
 002B  50			             PUSH AX
 002C  51			             PUSH CX
 002D  52			             PUSH DX
 002E  56			             PUSH SI
 002F  57			             PUSH DI
 0030  B4 0C			             MOV AH , 0CH       ;指明写点调用
 0032  A0 0004 R		             MOV AL , PIX       ;取点的颜色
 0035  BF 0064			             MOV DI , 100       ;用于控制行显示循环
 0038  8B 16 0000 R		             MOV DX , LINE      ;取点的行坐标
 003C				DISP_2: 
 003C  BE 0064			             MOV SI , 100        ;控制列显示循环
 003F  8B 0E 0002 R		             MOV CX , ROW       ;取显示点的列坐标
 0043				DISP_1: 
 0043  CD 10			             INT 10H            ;完成点的显示
 0045  41			             INC CX             ;列坐标加1（行不变）
 0046  4E			             DEC SI
 0047  75 FA			             JNZ DISP_1         ;循环显示完一行的10个点
 0049  42			             INC DX             ;行坐标加1
 004A  4F			             DEC DI
 004B  75 EF			             JNZ DISP_2         ;循环显示完100行
 004D  5F			             POP DI
 004E  5E			             POP SI
 004F  5A			             POP DX
 0050  59			             POP CX
 0051  58			             POP AX
 0052  C3			             RET
 0053				DISP_RECT    ENDP
 0053				delay        proc near       
 0053  51			             push cx
 0054  52			             push dx
 0055  BA 1388			             mov dx,5000
 0058  B9 61A8			d11:         mov cx,25000  
 005B  E2 FE			d12:         loop d12
 005D  4A			             dec   dx
 005E  75 F8			             jnz   d11
 0060  5A			             pop   dx
 0061  59			             pop   cx
 0062  C3			             ret
 0063				delay        endp
 0063				CODE         ENDS
				             END  START


Microsoft (R) Macro Assembler Version 6.11		    04/02/12 19:05:11
tempfile.asm						     Symbols 2 - 1




Segments and Groups:

                N a m e                 Size     Length   Align   Combine Class

CODE . . . . . . . . . . . . . .	16 Bit	 0063	  Para	  Private 
DATA . . . . . . . . . . . . . .	16 Bit	 0005	  Para	  Private 


Procedures,  parameters and locals:

                N a m e                 Type     Value    Attr

DISP_RECT  . . . . . . . . . . .	P Near	 002B	  CODE	Length= 0028 Public
  DISP_2 . . . . . . . . . . . .	L Near	 003C	  CODE	
  DISP_1 . . . . . . . . . . . .	L Near	 0043	  CODE	
delay  . . . . . . . . . . . . .	P Near	 0053	  CODE	Length= 0010 Public
  d11  . . . . . . . . . . . . .	L Near	 0058	  CODE	
  d12  . . . . . . . . . . . . .	L Near	 005B	  CODE	


Symbols:

                N a m e                 Type     Value    Attr

L1 . . . . . . . . . . . . . . .	L Near	 0016	  CODE	
LINE . . . . . . . . . . . . . .	Word	 0000	  DATA	
PIX  . . . . . . . . . . . . . .	Byte	 0004	  DATA	
ROW  . . . . . . . . . . . . . .	Word	 0002	  DATA	
START  . . . . . . . . . . . . .	L Near	 0000	  CODE	

	   0 Warnings
	   0 Errors
