(New page: == The Original Code == Consider the following S9 function: <c> string a = "ola"; int s9() -> 0 { a! } </c> == Postfix Code == The Postfix code for the above func...) |
|||
Line 18: | Line 18: | ||
RODATA | RODATA | ||
ALIGN | ALIGN | ||
− | LABEL | + | LABEL _L123 ;; automatic label |
STR "ola" | STR "ola" | ||
;--- declaring the global variable "a" | ;--- declaring the global variable "a" | ||
Line 32: | Line 32: | ||
LABEL _main | LABEL _main | ||
ENTER 0 | ENTER 0 | ||
− | ADDRV a | + | |
+ | ADDRV a ;; ADDRV = ADDR+LOAD | ||
EXTRN prints | EXTRN prints | ||
CALL prints | CALL prints | ||
TRASH 4 | TRASH 4 | ||
+ | |||
INT 0 | INT 0 | ||
POP | POP |
Consider the following S9 function:
<c> string a = "ola"; int s9() -> 0 {
a!
} </c>
The Postfix code for the above function is as follows:
<asm>
RODATA ALIGN LABEL _L123 ;; automatic label STR "ola"
DATA ALIGN LABEL a ID zum ;; deveria ser automático
TEXT ALIGN GLOBL _main, FUNC LABEL _main ENTER 0
ADDRV a ;; ADDRV = ADDR+LOAD EXTRN prints CALL prints TRASH 4
INT 0 POP LEAVE RET </asm>