.section .start,"ax",%progbits .align 0 .global start start: adr r0, .Lffuart_txdata ldr r0, [r0] adr r1, .Lffuart_txbusy ldr r1, [r1] adr r2, .Lffuart_txintr ldr r2, [r2] adr r3, .Lbanner .Lputstr: ldrb r4, [r3], #1 cmp r4, #0 beq .Linfinityloop .Lbusyloop: ldr r5, [r1] tst r5, #0x20 beq .Lbusyloop str r4, [r0] ldr r5, [r2] b .Lputstr .Linfinityloop: b .Linfinityloop .Lffuart_txdata: .word 0x40100000 .Lffuart_txbusy: .word 0x40100014 .Lffuart_txintr: .word 0x40100018 .Lbanner: .asciz "hello minikernel." .data .align 2 .global dummy_data dummy_data: .word 0 .bss dummy_bss: .lcomm buff, 32