FreescaleMC9S12C32プロセッサ用のHC12Assemblyのクラスのプログラムを作成しています。シリアル(-over-USB)を介してデバイスに接続されている端末としてPuTTyを使用しています。この割り当てでは、VT100 / ANSIエスケープシーケンスを使用してカーソルを任意の場所に移動し、現在の時刻を書き込んでからそれを返すことを想定しています。これにより、ユーザーは入力して入力をエコーバックできます。
以下のシーケンスを使用して、カーソルを保存し、移動して、戻します。しかし、何らかの理由で、PuTTyはカーソルを左上に置くだけで、カーソルを返すことができません。
ESC EQU $1B ; ASCII ESC
SAVECUR EQU $37 ; ASCII 7
RESTCUR EQU $38 ; ASCII 8
SaveCursor PSHA
LDAA #ESC ; Use Escape Sequence
JSR putchar
LDAA #'['
JSR putchar
LDAA #SAVECUR ; To save cursor location
JSR putchar
PULA
RTS
GotoClkPos PSHA
LDAA #ESC ; Move Cursor
JSR putchar
LDAA #'['
JSR putchar
LDAA #$05 ; To Row 5
JSR putchar
LDAA #';'
JSR putchar
LDAA #$05 ; Column 5
JSR putchar
LDAA #'H'
JSR putchar
PULA
RTS
RestCursor PSHA
LDAA #ESC ; Use Escape Sequence
JSR putchar
LDAA #'['
JSR putchar
LDAA #RESTCUR ; To Restore Cursor
JSR putchar
PULA
RTS
エスケープシーケンスを間違ってコーディングしていますか、それともPuTTyは期待どおりにエスケープシーケンスを処理しませんか?