assembly - 从有符号/无符号字符到无符号/有符号整数类型转换的 IA32 汇编代码
问题描述
这是从计算机系统,程序员的角度来看(第 2 版)
在问题 3.4 中,要求学生确定从源数据类型转换到指针所指的目标所需的汇编指令
本章后面给出的这个答案表明我们需要将源类型(左列)扩展为目标类型(中列)。
没有太多信息可以从这个问题中提取模式。扩展的类型是否总是由源类型而不是目标类型确定,如本例所示?
解决方案
答案在你的书中。
在 C 中执行同时涉及大小更改和“符号”更改的强制转换时,操作应首先更改大小。(第 2.2.6 节)。
-- CSAPP 2e,练习题 3.4
所以这两个转换是这样工作的:
char --> int --> unsigned int
unsigned char --> unsigned int --> int
推荐阅读
- swift - 从另一个项目读取 Firestore 数据
- vb.net - VB.net访问将查询插入到具有关系的表中
- angular - Angular:一个共享表组件,添加了从父组件传递的内联按钮
- python - 使用 python 通过 gmail 发送电子邮件
- html - React 'return' 没有看到模板文字(``)并且看到作为文本
- java - MyBatis - UNIQUEIDENTIFIER 和 useGeneratedKeys 未按预期工作
- css - 如何根据时间显示发送和接收的消息
- html - CSS 溢出 - 图像不会完全显示在可滚动容器中
- mongodb - macOS 大苏尔 -> 11.1?dyld:库未加载:/usr/local/opt/openssl/lib/libssl.1.0.0.dylib
- git - 如何防止 git 自动对大文件进行二进制差异?