Я пытаюсь распечатать этот счет, чтобы создать игру, и счет печатается только с одной стороны (когда я увеличиваю счет, он печатает счет только с одной стороны, а другой остается нулевым. Это код, спасибо.
proc print_score
; prints the points in the middle of the screen:
; set cursor to the middle:
mov dl, 170
mov dh, 45
mov bh, 0
mov ah, 02h
int 10h
; print scores, knowing it can be 0-9 (aka one char):
mov al, [Score1]
mov bl, 0Fh
mov bh, 0
mov ah, 0eh
add al, '0'
int 10h
; score1:score2
mov al, ':'
mov bl, 0Fh
mov bh, 0
mov ah, 0Eh
int 10h
mov al, [Score2]
mov bl, 0Fh
mov bh, 0
mov ah, 0eh
add al, '0'
int 10h
ret
endp print_score
proc check_goal
pusha
;if player 1 scores to player2 inc his score
check_goal_player1:
cmp [ballX],315d
ja goal_1
jmp check_goal_player2
goal_1:
inc [score1]
call refrash
;call player_2_scored
jmp new_round
check_goal_player2:
cmp [ballX],0d
jb goal_2
jmp no_update
goal_2:
inc [score2]
call refrash
;call player_1_scored
new_round:
call restore_ball_possition
jmp no_update
no_update:
popa
ret
endp check_goal
Score1
? - person Jim Mischel   schedule 03.04.2020Score1
иScore2
? Вы уверены, что правильно сохраняете очки? Вы запускали код в отладчике, чтобы узнать, что находится в[Score1]
и[Score2]
. Маловероятно, что отображаемый вами код печати является проблемой, поэтому вам трудно помочь, если вы не ответите на наши вопросы или не предоставите нам дополнительный код для просмотра. - person Jim Mischel   schedule 04.04.2020