지금은 어셈블리에서 원을 그리려하고 있지만 어떤 이유로 작동하지 않으며 DOSBox가 멈추고 이유를 이해하지 못하는 것 같습니다. 또한 원이 화면에 나타나지 않습니다. 나는 대부분의 코드를 온라인에서 발견했으며 그것을 사용하려고 노력하고 있으며 그것이하는 일을 이해하고 있지만 여기서 실수를 발견 할 수는 없다. 도움이 사람에게조립 - 원 그리기
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
감사 : 여기
는 코드입니다. 이 마지막 명령call Player1Disc
코드와
에 의해 주어진 추락 이유를? –
이 코드를 발견 한 페이지에 대한 링크를 게시 할 수 있습니까? –
어셈블러에 대해 배우고 싶다면 팔과 같은 최신 CPU를 선택하십시오. 훨씬 더 좋고 프로그램하기 쉽습니다. 에뮬레이터와 대부분의 휴대 전화가 있으며 라스베리 파이에는이 CPU가 있습니다. (나는 x86을 약 5 대 1로 팔아 버렸다고 생각한다.) –