Próbuję napisać w Assemblerze prosty program do narysowania figury. Docelowo podaje wartości początkowe x,y lewego, górnego rogu figury od którego zacznie się rysowanie. Oraz parametry figury wysokość i szerokość.
Program jeśli wartości wpiszę z palca działa ok i rysuje. Problem pojawia się kiedy staram się stworzyć zmienne tak by wartości wpisywać tylko na początku. Chciałbym żeby reszta dodawała się i ustawiała automatycznie w kodzie bez ręcznego wpisywania wszystkich wartości.
To jest mój jeden z pierwszych programów w Assemblerze więc proszę o wyrozumiałość. W google widziałem podobne wskazówki do tego typu zastosowań ale u mnie coś dalej jest nie tak i nie mam już pomysłu.
.MODEL MEDIUM
.STACK 200H
.386
.DATA
X1 dw 10 ;wspolrzedne poczatkowe x
Y1 dw 10 ;wspolrzedne poczatkowe y
SZ1 dw 100 ;szerokosc figury
W1 dw 50 ;wysokosc figury
.CODE
Start:
mov AX,0013H
int 10H
mov AH, 0CH ;ustawienie pixela
mov AL, 15 ;kolor figury
;szerokosc calkowita (x + szerokosc figury)
add SP, [X1]
add SP, [SZ1]
;wysokosc calkowita (y + wysokosc figury)
add BP, [Y1]
add BP, [W1]
;wspolrzedne poczatkowe x
mov CX, [X1]
;wspolrzedne poczatkowe y
mov DX, [Y1]
figura1:
inc CX
int 10h
cmp CX, SP
JNE figura1
mov CX, [X1]
inc DX
cmp DX, BP
JNE figura1
END Start