|
94:Re: キーコード変換 hideyosi 10/19 03:32 上の状態だと、カーソルが最下行に行っちゃうと、固まったようになって画面が動かなくなっちゃう。 で、こんなコードに変更。 ---------------------------------------- ENTERPRINT: ;現在のカーソルの位置を取得(Y座標のみ) MOV BH,0x0 MOV AH,0x03 INT 0x10 INC DH ;上で取得した行位置+1 CMP DH,0x19 ;もし、最下行だったらロールアップ JE ENTERPRINTLUP ;そうじゃなかったら、普通にカーソル移動 JMP ENTERPRINTNML ENTERPRINTLUP: ;ロールアップ。まず、ロールアップをする MOV AL,0x01 MOV BH,0x0F MOV CH,0x01 MOV CL,0x0 MOV DH,0x18 MOV DL,0x4F MOV AH,0x06 INT 0x10 ;カーソルを最下行にセット MOV DH,0x18 JMP ENTERPRINTNML ENTERPRINTNML ;BIOSでカーソル位置を設定 MOV AH,0x02 MOV BH,0x0 MOV DL,0 INT 0x10 JMP INTEND -------------------------------------------------- おーー! まるでエディタの如く、最下行でロールアップするぞ!? |