Code Generation/Example 2

From Wiki**3

Revision as of 07: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 printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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>