我一直在努力解决这个问题。
单精度IEEE 754号存储在地址X的存储器中。写一个 ARM指令序列,将X处的数字乘以16并将结果存回 在X.您必须在不使用任何浮点指令的情况下完成此操作(您可以 忽略溢出或下溢)。
这是我到目前为止所拥有的。
ENTRY ;The first instruction from where execution begins
start
MOV r0,754 ;stores 754 in r0 register
MOV r1,16 ;store 16 in r1
MUL r0,r0,r1 ;r0=r0+r1
stop
MOV r0, #0x18 ; report exception mechanism
LDR r1, =0x20026 ; ApplicationExit
SVC #0x123456 ; SWI
END ; Mark end of file.
我应该在使用ARMv7的ARMSIM中测试此代码。不幸的是,这段代码不会在其中运行。
我是汇编语言的新手,所以我不知道我做错了什么。当我尝试加载代码时,ARMSIM就崩溃了。