Code Generation/Example 2

From Wiki**3

< Code Generation
Revision as of 09:29, 25 May 2009 by Root (talk | contribs) (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...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 function is as follows:

<asm>

--- declaring the string literal

RODATA ALIGN LABEL zum  ;; deveria ser automático STR "ola"

--- declaring the global variable "a"

DATA ALIGN LABEL a ID zum  ;; deveria ser automático

--- this is the main function (note that "s9" translates to RTS's "_main")

TEXT ALIGN GLOBL _main, FUNC LABEL _main ENTER 0 ADDRV a EXTRN prints CALL prints TRASH 4 INT 0 POP LEAVE RET </asm>