Con*_*nor 1 assembly arm exitstatus armv7
据我所知,返回的退出代码r0仅使用该寄存器的最低8位。如何返回高于8位的值?
这是ARMv7代码:
@ looping.s
@ calculates sum of integers from 1 to 100
.text
.balign 4
.global main
main:
MOV r1, #0 @ r1 = 0 as sum
MOV r2, #0 @ r2 = 0 as counter
loop:
ADD r2, r2, #1 @ counter = counter + 1
ADD r1, r1, r2 @ sum = sum + counter
CMP r2, #100 @ counter - 100
BLT loop @ if counter < 100 go to start of loop
MOV r0, r1 @ Store sum in r0
BX lr @ Return summation result to OS
Run Code Online (Sandbox Code Playgroud)
进程的退出状态为8位。通过常规方法不可能返回更大的退出状态。如果要输出大于255的数字,则可以例如通过write系统调用将其打印到stdout(文件描述符1)。
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |