要求:在屏幕中央画一个逐渐膨胀的实心圆。
已经改好的,留给未来的童鞋们参考哈
MOV AX,12H
INT 10H
MOV AX,0BH
MOV BX,0
INT 10H
ENDM
;------------------------------------------
COMPUTE MACRO
MOV AX,[SI]
MUL RR
DIV KK
MOV Y_COORD,AX
MOV AX,[DI]
MUL RR
DIV KK
MOV X_COORD,AX
ENDM
;------------------------------------------
L MACRO
MOV AX,X_COORD
MOV CX,Y_COORD
MOV X_COORD1,AX
MOV Y_COORD1,CX
ADD Y_COORD1,OY
ADD X_COORD1,OX
MOV AH,0CH
MOV AL,COLOR
MOV BH,0
MOV CX,X_COORD1
MOV DX,Y_COORD1
INT 10H
ENDM
WRITE MACRO
L
NEG X_COORD
L
NEG Y_COORD
L
NEG X_COORD
L
ENDM
;--------------------------------------------
DATA SEGMENT
SINE DW 00,02,03,05,07,09,11,12,14,16
DW 17,19,21,23,24,26,28,29,31,33
DW 34,36,37,39,41,42,44,45,47,49
DW 50,52,53,54,56,57,59,60,62,63
DW 64,66,67,68,69,71,72,73,74,75
DW 77,78,79,80,81,82,83,84,85,86
DW 87,87,88,89,90,91,91,92,93,93
DW 94,95,95,96,96,97,97,97,98,98
DW 99,99,99,99,99,100,100,100,100
DW 100,100
Y_COORD DW ?
X_COORD DW ?
Y_COORD1 DW ?
X_COORD1 DW ?
OY EQU 240
OX EQU 320
RR DW 0
COLOR DB 100
KK DW 100
COUNT DB 90
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEG:
MOV AX,DATA
MOV DS,AX
SCREEN
AGA1: MOV DI,OFFSET SINE+90*2
MOV SI,OFFSET SINE
INC RR
MOV COUNT,90
AGA:
COMPUTE
WRITE
ADD SI,2
SUB DI,2
DEC COUNT
JZ L8
JMP AGA
L8: CMP RR,199
JA WAIT_IN
JMP AGA1
WAIT_IN:
MOV AH,1
INT 21H
MOV AX,2
INT 10H
MOV AH,4CH
INT 21H
CODE ENDS
END BEG