所以,我想在游戏机上创建一个生活游戏模拟器.为此,我需要向上移动光标,以便我可以在上面重写,我可以使用\u008d来执行此操作.
我在游戏机上试了一下:
echo -e "Everyone\n\u008dHi"
这给出了我的结果:
Hieryone
这是预期的结果,并证明我的控制台接受该字符.但是,当我在NASMtry 完全相同的事情时,
global _start
segment .text
_start:
;; Print message
mov rax, 1
mov rdi, 1
mov rsi, message
mov rdx, length
syscall
;; Exit
mov rax, 60
mov rdi, 0
syscall
segment .data
message: db "Everyone", 0xa, 0x8d, "Hi"
length: equ $ - message
并像这样运行它,
nasm example.asm -f elf64 -o output.o
ld output.o -o output
./output
我明白了,
Everyone
�Hi
为什么会这样呢?有什么东西改变了我在NASM程序中解释这个字符的方式吗?我是不是在Unicode中遗漏了什么?或者,有没有其他方法可以让我将光标往回移动?任何帮助都是有用的.(我使用的是Linux btw)