[ASM 13H] Warum Screen zweimal zeichnen?

vgAbEgInnEr

Grünschnabel
Ich hab ne Frage zu einem Beispielprogramm von Denthor (ja, ich glaube, es war was von Denthor). Jedefalls heißt es FIRE!.
Es werden zwei Konstanten definiert und ein Buffer angelegt:

Code:
BUFFERX EQU 320
BUFFERY EQU 100 ; <- nicht 200!

BUFFER DB BUFFERX * BUFFERY DUP(0)

Später wird der Buffer gefüllt (Prozedur AveragePixels). Dann wird die untere Bildschirmreihe gezeichnet und die Prozedur DrawScreen aufgerufen:

Code:
LEA SI,BUFFER
MOV BX,BUFFERY

ROW:
MOV CX,BUFFERX SHR 1
REPT MOVSW
SUB SI,320
MOV CX,BUFFERX SHR 1
REPT MOVSW
INC SI
DEC BX
JNZ ROW
RET

OK, nun meine Frage: Warum wurde BUFFERY nicht gleich als 200 deklariert? Dann sprt man sich doch ein weiteres REPT MOVSW, oder sehe ich da was falsch?

Ich danke schon mal im Voraus.
 

Neue Beiträge

Zurück