| /* 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" |