Assembler maksymalnie rysuje mi 4 pixele

0

Witam.

Używam kompilatora NASM do asemblera, i próbuje narysować okrąg ale nie wychodzi mi przez to że program nie chce rysować 5-tego(w góre) pixela. Albo jak już narysuje wszystkie pixele sie rozłażą.

START:

mov ax, 13h ; AH=0 (Change video mode), AL=13h (Mode)
int 10h ; Video BIOS interrupt 

mov ax, 0A000h ; The offset to video memory
mov es, ax ; We load it to ES through AX, becouse immediate operation is not allowed on ES


mov dx,10
mov [x1], dx
mov dx,0
mov [y1], dx

mov dx,100 ;pozycja poczatkowa X
mov [x],dx


mov dx,100 ;pozycja pcozatkowa y
mov [y],dx

;rysowanie kola


mov dx,0
add dx,[y]
add dx,[y1]
mov ax,dx

mov dx,0
add dx,[x]
add dx,[x1]
mov bx,dx

mov cx,320
mul cx; multiply AX by 320 (cx value)
add ax,bx ; and add X
mov di,ax
mov dl,7
mov [es:di],dl

mov dx,0
add dx,[y]
add dx,[x1]
mov ax,dx

mov dx,0;
add dx,[x]
add dx,[y1]
mov bx,dx

mov cx,320
mul cx; multiply AX by 320 (cx value)
add ax,bx ; and add X
mov di,ax
mov dl,7
mov [es:di],dl


mov si,[x1]
imul si,-1      	
mov dx,0
add dx,si
add dx,[x]
mov ax,dx

mov dx,0;
add dx,[y]
add dx,[y1]
mov bx,dx

mov cx,320
mul cx; multiply AX by 320 (cx value)
add ax,bx ; and add X
mov di,ax
mov dl,7
mov [es:di],dl


mov si,[y1]
imul si,-1      	
mov dx,0
add dx,si
add dx,[x]
mov ax,dx

mov dx,0;
add dx,[y]
add dx,[x1]
mov bx,dx

mov cx,320
mul cx; multiply AX by 320 (cx value)
add ax,bx ; and add X
mov di,ax
mov dl,7
mov [es:di],dl



mov si,[y1]
imul si,-1      	
mov dx,0
add dx,si
add dx,[x]
mov ax,dx

mov si,[x1]
imul si,-1  
mov dx,0;
add dx,[y]
add dx,si
mov bx,dx

mov cx,320
mul cx; multiply AX by 320 (cx value)
add ax,bx ; and add X
mov di,ax
mov dl,7
mov [es:di],dl


mov ax,100
mov bx,100

mov cx,320
mul cx; multiply AX by 320 (cx value)
add ax,bx ; and add X
mov di,ax
mov dl,7
mov [es:di],dl


ret


x dw 0
y dw 0
r dw 0
x1 dw 0
y1 dw 0

dodanie znacznika <code class="asm"> - furious programming

0

Nie chce mi się analizować kodu, ale serio chcesz narysować cały okrąg bez żadnej pętl? Przecież kod będzie niemożebnie długi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1