Вот код:Ассамблея - не может понять, что случилось
proc ChangeColumnNumber1
inc [FirstColumnArray]
mov [Player1Drawx], 25h
mov [Player1Drawy], 87h
jmp DrawPlayer1Disc
endp ChangeColumnNumber1
DrawPlayer1Loop:
mov bh,0h
mov cx,[Player1Drawx]
mov dx,[Player1Drawy]
mov al,[player1disccolor]
mov ah,0ch
int 10h
inc [Player1Drawx]
cmp cx, [Player1Drawx + 14h]
jl DrawPlayer1Loop
DrawPlayer1Disc:
mov bh, 0h
inc [Player1Drawy]
cmp dx, [Player1Drawy + 14h]
jl DrawPlayer1Loop
proc CheckPlayer2Number
mov ah, 7
int 21h
cmp al, 31h
je Player2CheckColumn1
jmp CheckPlayer2Number
endp CheckPlayer2Number
proc Player2CheckColumn1
cmp [FirstColumnArray], 0
je ChangeColumnNumber2
cmp [FirstColumnArray + 1], 0
je ChangeColumnNumber2
endp Player2CheckColumn1
proc ChangeColumnNumber2
inc [FirstColumnArray + 1]
mov [Player2Drawx], 25h
mov [Player2Drawy], 60h
jmp DrawPlayer2Disc
endp ChangeColumnNumber2
DrawPlayer2Loop:
mov bh,0h
mov cx,[Player2Drawx]
mov dx,[Player2Drawy]
mov al,[player2disccolor]
mov ah,0ch
int 10h
inc [Player2Drawx]
cmp cx, [Player2Drawx + 14h]
jl DrawPlayer2Loop
DrawPlayer2Disc:
mov bh, 0h
inc [Player2Drawy]
cmp dx, [Player2Drawy + 14h]
jl DrawPlayer2Loop
Когда я исполняю его я должен нажать «1». Когда я это делаю, он должен нарисовать квадрат, и когда я должен снова нажать «1», он не рисует второй квадрат. Я не понимаю, почему это не работает. До этого у меня была команда mov, которая перемещает значение, например, в Player1Drawx, но оно не будет работать с моим новым кодом, поэтому я удалю его.
Спасибо за любую помощь, которую я получаю.
Используйте отладчик и комментируйте свой код, особенно если вы хотите, чтобы другие помогли. Также укажите надлежащее [MCVE]. – Jester