RosettaCodeData/Task/Function-definition/AArch64-Assembly/function-definition.aarch64

56 lines
1.9 KiB
Plaintext

/* ARM assembly AARCH64 Raspberry PI 3B */
/* program functMul64.s */
/*******************************************/
/* Constantes file */
/*******************************************/
/* for this file see task include a file in language AArch64 assembly*/
.include "../includeConstantesARM64.inc"
/***********************/
/* Initialized data */
/***********************/
.data
szRetourLigne: .asciz "\n"
szMessResult: .asciz "Resultat : @ \n" // message result
/***********************
/* No Initialized data */
/***********************/
.bss
sZoneConv: .skip 24
.text
.global main
main:
// function multiply
mov x0,8
mov x1,50
bl multiply // call function
ldr x1,qAdrsZoneConv
bl conversion10S // call function with 2 parameter (x0,x1)
ldr x0,qAdrszMessResult
ldr x1,qAdrsZoneConv
bl strInsertAtCharInc // insert result at @ character
bl affichageMess // display message
mov x0,0 // return code
100: // end of program
mov x8,EXIT // request to exit program
svc 0 // perform the system call
qAdrsZoneConv: .quad sZoneConv
qAdrszMessResult: .quad szMessResult
/******************************************************************/
/* Function multiply */
/******************************************************************/
/* x0 contains value 1 */
/* x1 contains value 2 */
/* x0 return résult */
multiply:
mul x0,x1,x0
ret // return function
/********************************************************/
/* File Include fonctions */
/********************************************************/
/* for this file see task include a file in language AArch64 assembly */
.include "../includeARM64.inc"