当使用十六进制立即值时,是否有关于如何在汇编中解释addi
指令(和其他)的标准或建议?
示例:
addi $t0, $zero, 0xffff
我希望这与addi $t0, $zero, -1
的意思相同,0xffff
将0xffffffff
符号扩展为addi $t0, $zero, 0x0000ffff
,就像处理器所做的那样,但是对汇编程序的事实感到惊讶Mars模拟器将十六进制解释为32位无符号数,并尝试将Rx.Observable
.interval(1000)
.flatMap(_ => { // JSONP request
return Rx.Observable.create(observer => {
window.eqfeed_callback = res => {
observer.next(res);
observer.complete();
};
loadJSONP(QUAKE_URL);
}).retry(3);
})
.flatMap(res => Rx.Observable.from(res.features))
.map(quake => {
return {
lat: quake.geometry.coordinates[1],
lng: quake.geometry.coordinates[0],
size: quake.properties.mag * 10000,
code: quake.properties.code
};
})
.do(logToConsole) // DEBUG: all objects are logged to the console
.distinct(quake => quake.code) // it only log the first object !
.subscribe(logToConsole);
作为伪指令(如果启用了伪指令)。 SPIM模拟器似乎有类似的解释,只是因错误而中止。
我想知道的是汇编程序是否总是以这种方式解释,如果有一个地方写这个或者解释,我找不到任何东西。