1

我目前正在学习一些汇编代码的基础知识。我正在读一本书,其中提出了一些练习。我不明白其中一个人的答案。

以下是附有本书答案的练习。我在第 3 行和第 4 行遇到了麻烦。

在第 3 行,我们必须将char 转换为 unsigned。首先我进行转换:char --> unsigned char。位级别没有变化。然后unsigned char --> unsigned所以我使用零扩展名。这将导致指令movzbl %al, (%edx)

在第 4 行,我们必须将unsigned char 转换为 int。首先我进行转换:unsigned char --> char。位级别不变。然后char --> int我在其中进行符号扩展。这将导致指令movsbl %al, (%edx)

我做错了什么还是你认为这是书中的错误?

谢谢 !

4

0 回答 0