/* ARM assembly AARCH64 Raspberry PI 3B */ /* program 100doors64_1.s */ /*******************************************/ /* Constantes file */ /*******************************************/ /* for this file see task include a file in language AArch64 assembly*/ .include "../includeConstantesARM64.inc" .equ NBDOORS, 100 /*********************************/ /* Initialized data */ /*********************************/ .data sMessResult: .asciz "The door @ is open.\n" /*********************************/ /* UnInitialized data */ /*********************************/ .bss sZoneConv: .skip 24 /*********************************/ /* code section */ /*********************************/ .text .global main main: // entry of program mov x5,3 mov x4,1 1: mov x0,x4 ldr x1,qAdrsZoneConv // display value index bl conversion10 // call function ldr x0,qAdrsMessResult ldr x1,qAdrsZoneConv bl strInsertAtCharInc // insert result at first @ character bl affichageMess // display message add x4,x4,x5 add x5,x5,2 cmp x4,NBDOORS ble 1b // loop 100: // standard end of the program mov x0,0 // return code mov x8,EXIT // request to exit program svc 0 // perform the system call qAdrsMessResult: .quad sMessResult qAdrsZoneConv: .quad sZoneConv /***********************************************/ /* File Include fonctions */ /********************************************************/ /* for this file see task include a file in language AArch64 assembly */ .include "../includeARM64.inc"