我只需要从字符串中抓取第一个字符并保留其十进制值(根据ASCII:如果我抓住'h'
- 我想保留104
)。
我试图找到这个,并尝试了一切 - 对我没用。
我正在指向rdi
中字符串中第一个字符的指针。结果为rax
。
我试过这个
movb (%rdi), %al
ret
al
- rax
的字节版本。据我所知,8位用于存储char
。
如果在我的main.c
我首先将结果放入角色然后以小数形式输出它完全有效。
但是,如果我立即将汇编代码的输出结果作为整数给出了垃圾。
如果我使用gdb
检查此汇编代码,请在输出前使用i r al
查看al
的值,它会给我正确答案。
不仅如此,如果我多次运行程序,它总会给我不同的“垃圾”。
如何解决?
谢谢。