如何将矢量排序为txt文件

时间:2017-02-01 16:59:35

标签: sorting assembly arm

我正在使用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

0 个答案:

没有答案