Ich versuche jetzt einen Kreis in Assembly zu zeichnen, aber aus irgendeinem Grund funktioniert es nicht, DOSBox friert ein und ich kann nicht zu verstehen, warum. Außerdem erscheint der Kreis nicht auf dem Bildschirm. Ich habe den Großteil des Codes online gefunden und versuche, ihn zu benutzen und zu verstehen, was er tut, aber ich kann hier keine Fehler finden. HierAssembly - Zeichne einen Kreis
ist der Code:
player1disccolor db 0Eh
Player1Disc:
push 0a000h
pop es
mov dx, 20
mov di, 20
mov al, [player1disccolor]
mov bx, 30
call Player1Disc
mov ah, 0
int 10h
mov bp,0
mov si,bx
Disc1:
call Set8pixels
sub bx,bp
inc bp
sub bx,bp
jg Disc2
add bx,si
dec si
add bx,si
Disc2:
cmp si,bp
jae Disc1
ret
Set8pixels:
call Set4pixels
Set4pixels:
xchg bp,si
call Set2pixels
Set2pixels:
neg si
push di
add di,si
add di,dx
mov [es:[di+bp]],al
sub di,bp
stosb
pop di
ret
Dank an alle, die helfen.
gegeben wurden Sie mit einem Debugger durch den Code versucht haben, treten? –
Können Sie einen Link zu der Seite posten, auf der Sie diesen Code gefunden haben? –
Wenn Sie Assembler lernen wollen, wählen Sie eine moderne CPU wie Arm. Es ist viel schöner und einfacher zu programmieren. Es gibt Emulatoren und die meisten Handys und die Raspberry-Pi haben diese CPU. (und ich denke, sie verkaufen x86 um etwa 5 zu 1) –