部件。从字符串中抓取一个字符

时间:2016-10-06 08:57:06

标签: c assembly

我只需要从字符串中抓取第一个字符并保留其十进制值(根据ASCII:如果我抓住'h' - 我想保留104)。

我试图找到这个,并尝试了一切 - 对我没用。

我正在指向rdi中字符串中第一个字符的指针。结果为rax。 我试过这个

movb (%rdi), %al
ret

al - rax的字节版本。据我所知,8位用于存储char

如果在我的main.c我首先将结果放入角色然后以小数形式输出它完全有效。 但是,如果我立即将汇编代码的输出结果作为整数给出了垃圾。 如果我使用gdb检查此汇编代码,请在输出前使用i r al查看al的值,它会给我正确答案。

不仅如此,如果我多次运行程序,它总会给我不同的“垃圾”。

如何解决?

谢谢。

0 个答案:

没有答案