Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
62
Task/Copy-a-string/AArch64-Assembly/copy-a-string.aarch64
Normal file
62
Task/Copy-a-string/AArch64-Assembly/copy-a-string.aarch64
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
/* ARM assembly AARCH64 Raspberry PI 3B */
|
||||
/* program copystr64.s */
|
||||
|
||||
/*******************************************/
|
||||
/* Constantes file */
|
||||
/*******************************************/
|
||||
/* for this file see task include a file in language AArch64 assembly*/
|
||||
.include "../includeConstantesARM64.inc"
|
||||
/*******************************************/
|
||||
/* Initialized data */
|
||||
/*******************************************/
|
||||
.data
|
||||
szString: .asciz "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n"
|
||||
/*******************************************/
|
||||
/* UnInitialized data */
|
||||
/*******************************************/
|
||||
.bss
|
||||
.align 4
|
||||
qPtString: .skip 8
|
||||
szString1: .skip 80
|
||||
/*******************************************/
|
||||
/* code section */
|
||||
/*******************************************/
|
||||
.text
|
||||
.global main
|
||||
main: // entry of program
|
||||
|
||||
// display start string
|
||||
ldr x0,qAdrszString
|
||||
bl affichageMess
|
||||
// copy pointer string
|
||||
ldr x0,qAdrszString
|
||||
ldr x1,qAdriPtString
|
||||
str x0,[x1]
|
||||
// control
|
||||
ldr x1,qAdriPtString
|
||||
ldr x0,[x1]
|
||||
bl affichageMess
|
||||
// copy string
|
||||
ldr x0,qAdrszString
|
||||
ldr x1,qAdrszString1
|
||||
1:
|
||||
ldrb w2,[x0],1 // read one byte and increment pointer one byte
|
||||
strb w2,[x1],1 // store one byte and increment pointer one byte
|
||||
cmp x2,#0 // end of string ?
|
||||
bne 1b // no -> loop
|
||||
// control
|
||||
ldr x0,qAdrszString1
|
||||
bl affichageMess
|
||||
|
||||
100: // standard end of the program */
|
||||
mov x0,0 // return code
|
||||
mov x8,EXIT // request to exit program
|
||||
svc 0 // perform the system call
|
||||
qAdrszString: .quad szString
|
||||
qAdriPtString: .quad qPtString
|
||||
qAdrszString1: .quad szString1
|
||||
/********************************************************/
|
||||
/* File Include fonctions */
|
||||
/********************************************************/
|
||||
/* for this file see task include a file in language AArch64 assembly */
|
||||
.include "../includeARM64.inc"
|
||||
Loading…
Add table
Add a link
Reference in a new issue