Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 编写ARMv7指令_Assembly_Arm - Fatal编程技术网

Assembly 编写ARMv7指令

Assembly 编写ARMv7指令,assembly,arm,Assembly,Arm,我一直在研究这个问题,运气不好 一个单精度IEEE 754数字存储在地址X的内存中 ARM指令序列,用于将X处的数字乘以16并存储结果 您必须在不使用任何浮点指令的情况下完成此操作(您可以 忽略溢出或下溢) 这就是我目前所拥有的 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,r

我一直在研究这个问题,运气不好

一个单精度IEEE 754数字存储在地址X的内存中 ARM指令序列,用于将X处的数字乘以16并存储结果 您必须在不使用任何浮点指令的情况下完成此操作(您可以 忽略溢出或下溢)

这就是我目前所拥有的

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崩溃。

ARMSIM是arm7不是armv7正确?但是您的代码非常通用,如果您尝试一个只执行svc退出或无限循环之类的简单程序会怎么样。你尝试过什么可以工作?ARMSim基于ARM7TDMI处理器。ARM7TDMI使用ARMv4T体系结构的实现。您是否能够在没有mov和mul指令的情况下成功加载简单程序?armsim是arm7而不是armv7?但是您的代码非常通用,如果您尝试一个只执行svc退出或无限循环之类的简单程序会怎么样。你尝试过什么可以工作?ARMSim基于ARM7TDMI处理器。ARM7TDMI使用ARMv4T架构的实现。您是否能够在没有mov和mul指令的情况下成功加载简单的程序?