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 增加装配延迟_Assembly - Fatal编程技术网

Assembly 增加装配延迟

Assembly 增加装配延迟,assembly,Assembly,我试图让计算机计数到某个高数值,以便为程序的其他部分造成延迟。但是,由于某些原因,我无法将计数值设置为非常高的值,这会给我一个“表达式超出范围”错误 代码: 如何将计数限制设置为999999(12月) 谢谢 将值加载到寄存器中,然后与该寄存器进行比较: MOV R4, #999999 ; assuming ARM syntax and support for the MOV pseudo-op delay: CMP R5, R4 BEQ loop ADD R5

我试图让计算机计数到某个高数值,以便为程序的其他部分造成延迟。但是,由于某些原因,我无法将计数值设置为非常高的值,这会给我一个“表达式超出范围”错误

代码:

如何将计数限制设置为999999(12月)


谢谢

将值加载到寄存器中,然后与该寄存器进行比较:

    MOV R4, #999999 ; assuming ARM syntax and support for the MOV pseudo-op

delay:

    CMP R5, R4
    BEQ loop
    ADD R5, R5, #1
    B delay
替换

ADD     R5, R5, #1


ARM支持8位模式,可按偶数位旋转OP正在使用
CMP
,因此问题与
ADD
不更新状态寄存器无关。问题是如何将寄存器与大常数进行比较。谢谢!它工作了,尽管为什么我不能直接将值设置到寄存器?将相同的值加载到内存或寄存器中有什么区别?
ADD     R5, R5, #1
ADDS     R5, R5, #1
    LDR R6,=999999
delay:       

    CMP     R5, R6 
    BEQ     loop
    ADD     R5, R5, #1

    B       delay