我正在为飞思卡尔 MC9S12C32 处理器的 HC12 汇编中的一个类编写程序。我使用 PuTTy 作为通过串行(-over-USB)连接到设备的终端。对于这个分配,我们应该使用 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 没有按我的预期处理它们?