我正在使用Armsim,我需要从txt文件中获取一些整数然后我要订购并在另一个txt文件中打印它们。我能怎么做?我的意思是,我设法读取数字,但我不能按顺序打印它们
这是我写的:
.equ SWI_Open, 0x66 @open a file
.equ SWI_Close,0x68 @close a file
.equ SWI_PrChr,0x00 @ Write an ASCII char to Stdout
.equ SWI_PrStr, 0x69 @ Write a null-ending string
.equ SWI_PrInt,0x6b @ Write an Integer
.equ SWI_RdInt,0x6c @ Read an Integer from a file
.equ Stdout, 1 @ Set output target to be Stdout
.equ SWI_Exit, 0x11 @ Stop execution
.data
i: .asciiz "7.2in.txt"
o: .asciiz "7.2o.txt"
.text
_main:
ldr r0, =i
mov r1, #0
swi 0x66
mov r2, r0
ldr r0, =o
mov r1, #1
swi 0x66
mov r1, r2
bl copy
swi 0x11
copy:
mov r1, r0
mov r3, r2
mov r0, r2
swi 0x6c
loop:
mov r4, r0
mov r0, r2
swi 0x6c
cmp r0, #00
beq end
cmp r4, r0
ble no_scambio
mov r2, r3
mov r3, r1
mov r1, r0
mov r0, r3
swi 0x6b
mov r0, r1
mov r1, r3
mov r3, r2
b loop
no_scambio:
mov r2, r3
mov r2, r1
mov r1, r0
mov r0, r2
swi 0x6b
mov r0, r1
mov r1, r2
mov r2, r3
b loop
end:
mov pc, lr