Assembly 从ARMSim中的标准输入读取#
我在ARMSim做手臂ASM。我想从STDIN和process中获取一个整数作为输入。我可以为一个文件做这件事,但从STDIN来看它不起作用。 阅读片段Assembly 从ARMSim中的标准输入读取#,assembly,arm,Assembly,Arm,我在ARMSim做手臂ASM。我想从STDIN和process中获取一个整数作为输入。我可以为一个文件做这件事,但从STDIN来看它不起作用。 阅读片段 myFile: .asciz "sss.txt" InFileError: .asciz "Unable to open input file\n" InputFileHandle:.word 0 @ ========= Open file for reading ============================= ldr R0,=
myFile: .asciz "sss.txt"
InFileError: .asciz "Unable to open input file\n"
InputFileHandle:.word 0
@ ========= Open file for reading =============================
ldr R0,=myFile
mov R1,#0
swi SWI_Open @ open file
bcs InFileError @ if cannot open file branch to InFileError
ldr R1,=InputFileHandle
str R0,[R1]
ldr R0,=InputFileHandle
ldr R0,[R0]
swi SWI_ReadInt
如果我用#0而不是输入文件加载R0,那么代码就不起作用,输入文件应该是STDIN的文件描述符。请帮助你是说你做了
movr0,#0;swi swi_ReadInt
,对吗?我做了mov R0,#0;swi swi_ReadInt是的,看起来不错。实际上,它在这里似乎也不起作用。作为一种解决方法,也许您可以使用swi0x7
读取整数,尽管对我来说这也不起作用。