/* ARM assembly AARCH64 Raspberry PI 3B */ /* program nullobj64.s */ /*******************************************/ /* Constantes file */ /*******************************************/ /* for this file see task include a file in language AArch64 assembly*/ .include "../includeConstantesARM64.inc" /*******************************************/ /* Initialized data */ /*******************************************/ .data szCarriageReturn: .asciz "\n" szMessResult: .asciz "Value is null.\n" // message result qPtrObjet: .quad 0 // objet pointer /*******************************************/ /* UnInitialized data */ /*******************************************/ .bss /*******************************************/ /* code section */ /*******************************************/ .text .global main main: // entry of program ldr x0,qAdrqPtrObjet // load pointer address ldr x0,[x0] // load pointer value cbnz x0,100f // is null ? ldr x0,qAdrszMessResult // yes -> display message 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 qAdrszMessResult: .quad szMessResult qAdrszCarriageReturn: .quad szCarriageReturn qAdrqPtrObjet: .quad qPtrObjet /********************************************************/ /* File Include fonctions */ /********************************************************/ /* for this file see task include a file in language AArch64 assembly */ .include "../includeARM64.inc"