Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- svc 0
- mov fdr, w0
- cmp fdr, 0
- b.ge calcBufBase
- adrp x0, fmt1
- add x0, x0, :lo12:fmt1
- adrp x1, fileName
- add x1, x1, :lo12:fileName
- bl printf
- mov w0, -1
- b exit
- define(fdr, w9)
- define(nReadr, x10)
- define(bufBaser, x11)
- define(input, d25)
- fp .req x29
- lr .req x30
- .balign 4
- fmt1: .string "Error opening file n"
- filename: .string "input.bin"
- fmt2: .string "long int %ldn"
- bufSize = 8
- alloc = -(16 + bufSize) & -16
- dealloc = -alloc
- bufs = 16
- atFDCWD = -100
- .balign 4
- .global main
- main:
- stp fp, lr, [sp, alloc]!
- mov fp, sp
- openFile:
- mov w0, atFDCWD
- adrp x1, filename
- add x1, x1, :lo12:fileName
- mov w2, 0
- mov w3, 0
- mov x8, 56
- svc 0
- mov fdr, w0
- cmp fdr, 0
- b.ge calcBufBase
- adrp x0, fmt1
- add x0, x0, :lo12:fmt1
- adrp x1, filename
- add x1, x1, :lo12:fileName
- bl printf
- mov w0, -1
- b exit
- calcBufBase:
- add bufBaser, fp, bufs
- readFile:
- mov w0, fdr
- mov x1, bufBaser
- mov x8, 63
- svc 0
- mov nReadr, x0
- cmp nReadr, bufSize
- b.ne closeFile
- adrp x0, fmt2
- add x0, x0, :lo12:fmt2
- ldr d0, [bufBaser]
- bl printf
- b readFile
- closeFile:
- mov w0, fdr
- mov x8, 57
- svc 0
- mov w0, 0
- ldp fp, lr, [sp], dealloc
- mainContin:
- fmov d0, input
- ...
- exit:
- mov w0, 0
- ldp fp, lr, [sp], dealloc
- ret
Add Comment
Please, Sign In to add comment