tkt
This commit is contained in:
24
SCR2.1/ARM/TP16/printHW.s
Normal file
24
SCR2.1/ARM/TP16/printHW.s
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
Lines enclosed here are comments
|
||||
A small program: prints "Hello World!"
|
||||
*/
|
||||
// From // to the end of this line is a comment: next are directives to the assembler
|
||||
.equ SYS_EXIT, 93
|
||||
.equ SYS_WRITE, 64
|
||||
.data // tells assembler to assemble the following in the data section
|
||||
msg: .asciz "Hello World!\n" //msg retains the address of the string
|
||||
.text // tells assembler to assemble the following
|
||||
// in the text (code) section
|
||||
.globl _start // _start is there where the program starts,
|
||||
// .globl makes it visible to the linker
|
||||
_start:
|
||||
mov x0,#1 // value 1 is placed in register x0
|
||||
adr x1,msg // the address retained by label msg is placed in register x1
|
||||
mov x2,#13
|
||||
mov w8, #SYS_WRITE // svc must find the syscall number in w8
|
||||
// and the syscall arguments in x0,x1,x2
|
||||
svc #0 // invoke syscall: displays on the screen
|
||||
mov x0, #0 // in x0 put the value you want to exit with
|
||||
mov w8,#SYS_EXIT
|
||||
svc #0
|
||||
.end
|
||||
Reference in New Issue
Block a user