Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,102 @@
|
|||
/* ARM assembly AARCH64 Raspberry PI 3B */
|
||||
/* program createXml64.s */
|
||||
/* install package libxml++2.6-dev */
|
||||
/* link with gcc option -I/usr/include/libxml2 -lxml2 */
|
||||
|
||||
/*******************************************/
|
||||
/* Constantes file */
|
||||
/*******************************************/
|
||||
/* for this file see task include a file in language AArch64 assembly*/
|
||||
.include "../includeConstantesARM64.inc"
|
||||
|
||||
/*********************************/
|
||||
/* Initialized data */
|
||||
/*********************************/
|
||||
.data
|
||||
szMessEndpgm: .asciz "Normal end of program.\n"
|
||||
szFileName: .asciz "file1.xml"
|
||||
szFileMode: .asciz "w"
|
||||
szMessError: .asciz "Error detected !!!!. \n"
|
||||
|
||||
szVersDoc: .asciz "1.0"
|
||||
szLibRoot: .asciz "root"
|
||||
szLibElement: .asciz "element"
|
||||
szText: .asciz "some text here"
|
||||
szCarriageReturn: .asciz "\n"
|
||||
/*********************************/
|
||||
/* UnInitialized data */
|
||||
/*********************************/
|
||||
.bss
|
||||
.align 4
|
||||
|
||||
/*********************************/
|
||||
/* code section */
|
||||
/*********************************/
|
||||
.text
|
||||
.global main
|
||||
main: // entry of program
|
||||
ldr x0,qAdrszVersDoc
|
||||
bl xmlNewDoc // create doc
|
||||
mov x19,x0 // doc address
|
||||
mov x0,#0
|
||||
ldr x1,qAdrszLibRoot
|
||||
bl xmlNewNode // create root node
|
||||
cbz x0,99f
|
||||
mov x20,x0 // node root address
|
||||
mov x0,x19
|
||||
mov x1,x20
|
||||
bl xmlDocSetRootElement
|
||||
mov x0,#0
|
||||
ldr x1,qAdrszLibElement
|
||||
bl xmlNewNode // create element node
|
||||
mov x21,x0 // node element address
|
||||
ldr x0,qAdrszText
|
||||
bl xmlNewText // create text
|
||||
mov x22,x0 // text address
|
||||
mov x0,x21 // node element address
|
||||
mov x1,x22 // text address
|
||||
bl xmlAddChild // add text to element node
|
||||
mov x0,x20 // node root address
|
||||
mov x1,x21 // node element address
|
||||
bl xmlAddChild // add node elemeny to root node
|
||||
ldr x0,qAdrszFileName
|
||||
ldr x1,qAdrszFileMode
|
||||
bl fopen // file open
|
||||
cmp x0,#0
|
||||
blt 99f
|
||||
mov x23,x0 // File descriptor
|
||||
mov x1,x19 // doc
|
||||
mov x2,x20 // root
|
||||
bl xmlElemDump // write xml file
|
||||
cmp x0,#0
|
||||
blt 99f
|
||||
mov x0,x23
|
||||
bl fclose // file close
|
||||
mov x0,x19
|
||||
bl xmlFreeDoc
|
||||
bl xmlCleanupParser
|
||||
ldr x0,qAdrszMessEndpgm
|
||||
bl affichageMess
|
||||
b 100f
|
||||
99: // error
|
||||
ldr x0,qAdrszMessError
|
||||
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
|
||||
|
||||
qAdrszMessError: .quad szMessError
|
||||
qAdrszMessEndpgm: .quad szMessEndpgm
|
||||
qAdrszVersDoc: .quad szVersDoc
|
||||
qAdrszLibRoot: .quad szLibRoot
|
||||
qAdrszLibElement: .quad szLibElement
|
||||
qAdrszText: .quad szText
|
||||
qAdrszFileName: .quad szFileName
|
||||
qAdrszFileMode: .quad szFileMode
|
||||
qAdrszCarriageReturn: .quad szCarriageReturn
|
||||
/********************************************************/
|
||||
/* 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