我正致力于实现一个将ASCII字符串转换为相应的64位二进制补码值的函数。
像%rdi这样的寄存器将包含参数char * s,它是要转换的字符串的第一个字节的地址
该字符串将以空值终止。像%rsi这样的寄存器将包含参数long * x,这是您放置转换结果的地址。
我甚至不知道从哪里开始。如何将ASCII转换为2的补码?我一直在寻找,我发现我应该利用0x0F,我该如何使用它?我应该从哪里开始?
答案 0 :(得分:0)
要将ASCII字符转换为2的补码,您需要0x0F
带有7
的ASCII数字。
例如:您将ASCII字符%rsi
读入%rdi
。注册0x0F
保留7
。
0011 0111
相当于:0x0F
。
0000 1111
相当于:AND
。
0000 0111
两者结果导致:7
二进制为{{1}}。
希望这有帮助!