hex - 添加 0X80 + 0X80
问题描述
作为微控制器考试的准备,我有一个问题:执行字节操作 0x80 + 0x80 时,条件位是如何设置的?
我知道如何添加这两个,但我得到 256,我不知道在这种情况下设置了哪些条件位。
解决方案
首先,一个字节可以容纳的最大值是255 (0xFF)
,所以我认为结果不会是 256,而是溢出会导致结果值是0 (0x00)
。
其次,条件位取决于您的处理器,但根据一些ARM 说明,我可能有理由期望:
Z:零
如果标志设置指令的结果为零,则设置 Z 标志。
C:进位(或无符号溢出)
如果无符号运算的结果溢出 32 位结果寄存器,则设置 C 标志。例如,该位可用于实现 64 位无符号运算。
推荐阅读
- c++ - 用 grep 执行 grep: *.*: No such file or directory 错误
- dns - 如果服务器 IP 发生变化,Geolocation Route 53 和 DNS 缓存会如何表现?
- python - 当我尝试在 repl.it 上导入 termcolor 时,它只是说包操作失败
- r - R RDCOMClient 在 Word Doc 中查找和替换
- parameters - 自定义配方中的自定义项目
- .htaccess - 重写一个复杂的链接 .htaccess
- python - 由于只读属性错误,无法设置 protobuf 字段
- php - 如何正确设置用户设置膳食计划的方式?
- windows - Azure 文件共享映射驱动器对所有本地用户帐户都不可见,我们没有使用 Azure AD
- github-actions - Codecov 没有通过 Github 操作检查