BIOS ビデオ割り込みを使用して、最終的に画面上でカーソルを移動できますが、画面の端に達するとカーソルが消えます。反対側に表示する必要があります。つまり、ライド側にまっすぐ進むと、画面の左側に出てきます。誰かがこれを行う方法を教えてもらえますか?
.MODEL SMALL
.STACK 1000h
.DATA
ROW DB 12 ; initial cursor position
COL DB 40
.CODE
.STARTUP
START :
MOV AH, 0 ; set video mode
MOV AL, 3 ; 80x25 color
INT 10H ; video BIOS call
MOV AH, 2 ; set cursor position
MOV BH, 0 ; display page number
MOV DH, 24 ; set bottom row number
MOV DL, 7 ; column number
INT 10H ; video BIOS call
MOV AH,2 ;set cursor position
MOV BH,0 ;display page number
MOV DH,ROW ;row number
MOV DL,COL ;column number
INT 10H ;video BIOS call
MOV BL, 15
INT 10H ;video BIOS call
READ :
MOV AH, 0 ;read keyboard
INT 16h ;BIOS call
CMP AL,0
JZ CSC
CMP AL,'q'
JMP EXIT
CSC :
CMP AH,72
JZ UP
CMP AH,80
JZ DOWN
CMP AH,75
JZ LEFT
CMP AH,77
JZ RIGHT
UP:
SUB ROW, 1
MOV AH,2 ;set cursor position
MOV BH,0 ;display page number
MOV DH,ROW ;row number
MOV DL,COL ;column number
INT 10H ;video BIOS call
JMP READ
DOWN:
ADD ROW, 1
MOV AH,2 ;set cursor position
MOV BH,0 ;display page number
MOV DH,ROW ;row number
MOV DL,COL ;column number
INT 10H ;video BIOS call
JMP READ
RIGHT:
ADD COL, 1
MOV AH,2 ;set cursor position
MOV BH,0 ;display page number
MOV DH,ROW ;row number
MOV DL,COL ;column number
INT 10H ;video BIOS call
JMP READ
LEFT:
SUB COL, 1
MOV AH,2 ;set cursor position
MOV BH,0 ;display page number
MOV DH,ROW ;row number
MOV DL,COL ;column number
INT 10H ;video BIOS call
JMP READ
EXIT : .EXIT
END