关于MIPS中%hi()与%lo()的一点疑问
在看《See MIPS Run(2nd Edition)》的Chapter 9 Reading MIPS Assembly Language中的9.4 Addressing Modes中,碰见这样一段话:
The constructs %hi() and %lo() represent the high and low 16 bits of the address. This is not quite the straightforward division into low and high halfwords that it looks, because the 16-bit offset field of an lw is interpreted as signed. So if the addr value is such that bit 15 is a 1, then the %lo(addr) value will act as negative, and we need to increment %hi(addr) to compensate:
图片版的原文在此:
文中说:
because the 16-bit offset field of an lw is interpreted as signed. So if the addr value is such that bit 15 is a 1, then the %lo(addr) valuwill act as negative, and we need to increment %hi(addr) to compensate:
不是很懂为什么“need to increment %hi(addr) to compensate”。。。
相关阅读:
php的命名空间层级与目录层级是一致的吗
jquery对多选框做全选/全不选时遇到的问题?
c++的模板问题
YII2的RBAC怎么玩?
连接mongodb数据库失败
关于第一个参数对Object.create()结果造成的不同的一个小疑惑
关于jQuery选择器的问题
python中multiprocessing.dummy.pool 和multiprocessing.pool有什么区别
gulp-inject的使用方式
XCode中如何使用ObjC++开发Cocoa应用?
有人在BAE开发过java-tomcat应用吗?数据库老是链接失败
phzoom这个插件是否可以限制图片高度?
让网站内容延迟加载
Spring-mvc 的资源文件访问不到
谁能说说CGImageRelease和 CGImageRetain的区别?
JPA 如何使用逻辑删除
公众号第三方平台授权次数限制
有js基础和简单的php基础,但是学习nodejs还是很吃力
七牛的cdn缓存加速是怎么设置cache-control字段的?
lambda:c