您的位置:首页 > 其它

MASM汇编,求指导

2011-11-24 12:38 169 查看
下面这个使用MASM编写的一个程序,要求是在屏幕中央画一个逐渐增大的实心圆,出了点错,求各位大虾帮把手,叩拜!!!

SCREEN MACRO

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 19

KK DW 100

XX DB ?

COUNT DB 90

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

BEG:

MOV AX,DATA

MOV DS,AX

SCREEN

MOV SI,OFFSET SINE+89*2

MOV DI,OFFSET SINE

AGA1: INC RR

mov count,90

AGA:

COMPUTE

WRITE

SUB SI,2

ADD 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: