Dataflow Runtime API  4.0.1.0
Macros
osx_asm.h File Reference

Macros

#define MACH_KDB   0
 
#define FALIGN   ALIGN
 
#define LB(x, n)   n
 
#define LCL(x)   Lx
 
#define EXT(x)   _x
 
#define LEXT(x)   _x:
 
#define LBc(x, n)   n:
 
#define LBb(x, n)   nb
 
#define LBf(x, n)   nf
 
#define SVC   .byte 0x9a; .long 0; .word 0x7
 
#define RPC_SVC   .byte 0x9a; .long 0; .word 0xf
 
#define String   .asciz
 
#define Value   .word
 
#define Times(a, b)   (a*b)
 
#define Divide(a, b)   (a/b)
 
#define INB   inb %dx, %al
 
#define OUTB   outb %al, %dx
 
#define INL   inl %dx, %eax
 
#define OUTL   outl %eax, %dx
 
#define data16   .byte 0x66
 
#define addr16   .byte 0x67
 
#define MCOUNT
 
#define ELF_FUNC(x)
 
#define ELF_DATA(x)
 
#define ELF_SIZE(x, s)
 
#define Entry(x)   .globl EXT(x); ELF_FUNC(EXT(x)); .align FALIGN; LEXT(x)
 
#define ENTRY(x)   Entry(x) MCOUNT
 
#define ENTRY2(x, y)
 
#define ASENTRY(x)   .globl x; .align FALIGN; x: ELF_FUNC(x) MCOUNT
 
#define DATA(x)   .globl EXT(x); ELF_DATA(EXT(x)); .align ALIGN; LEXT(x)
 
#define End(x)   ELF_SIZE(x,.-x)
 
#define END(x)   End(EXT(x))
 
#define ENDDATA(x)   END(x)
 
#define Enddata(x)   End(x)
 
#define Gpush
 
#define Gpop
 
#define Gload
 
#define Gcall(func)   call func
 
#define Gotoff(lab)   lab
 
#define Gotoff2(l, r)   l(r)
 
#define Gotoff3(l, r, s)   l(,r,s)
 
#define Gaddr(to, lab)   movl $lab,to
 
#define Gcmp(lab, reg)   cmpl $lab,reg
 
#define Gmemload(lab, reg)   movl lab,reg
 
#define Gmemstore(reg, lab, tmp)   movl reg,lab
 
#define Gstack   0
 
#define Egcall(func)   Gcall(EXT(func))
 
#define Egaddr(to, lab)   Gaddr(to,EXT(lab))
 
#define Egcmp(lab, reg)   Gcmp(EXT(lab),reg)
 
#define Egmemload(lab, reg)   Gmemload(EXT(lab),reg)
 
#define Egmemstore(reg, lab, tmp)   Gmemstore(reg,EXT(lab),tmp)
 
#define Lgotoff(lab)   Gotoff(LCL(lab))
 
#define Lgotoff2(l, r)   Gotoff2(LCL(l),r)
 
#define Lgotoff3(l, r, s)   Gotoff3(LCL(l),r,s)
 
#define Lgcmp(lab, reg)   Gcmp(LCL(lab),reg)
 
#define Lgmemload(lab, reg)   movl Lgotoff(lab),reg
 
#define Lgmemstore(reg, lab, tmp)   movl reg,Lgotoff(lab)
 
#define CC_SYM_PREFIX   "_"
 

Macro Definition Documentation

◆ addr16

#define addr16   .byte 0x67

◆ ASENTRY

#define ASENTRY (   x)    .globl x; .align FALIGN; x: ELF_FUNC(x) MCOUNT

◆ CC_SYM_PREFIX

#define CC_SYM_PREFIX   "_"

◆ DATA

#define DATA (   x)    .globl EXT(x); ELF_DATA(EXT(x)); .align ALIGN; LEXT(x)

◆ data16

#define data16   .byte 0x66

◆ Divide

#define Divide (   a,
 
)    (a/b)

◆ Egaddr

#define Egaddr (   to,
  lab 
)    Gaddr(to,EXT(lab))

◆ Egcall

#define Egcall (   func)    Gcall(EXT(func))

◆ Egcmp

#define Egcmp (   lab,
  reg 
)    Gcmp(EXT(lab),reg)

◆ Egmemload

#define Egmemload (   lab,
  reg 
)    Gmemload(EXT(lab),reg)

◆ Egmemstore

#define Egmemstore (   reg,
  lab,
  tmp 
)    Gmemstore(reg,EXT(lab),tmp)

◆ ELF_DATA

#define ELF_DATA (   x)

◆ ELF_FUNC

#define ELF_FUNC (   x)

◆ ELF_SIZE

#define ELF_SIZE (   x,
 
)

◆ End

#define End (   x)    ELF_SIZE(x,.-x)

◆ END

#define END (   x)    End(EXT(x))

◆ ENDDATA

#define ENDDATA (   x)    END(x)

◆ Enddata

#define Enddata (   x)    End(x)

◆ Entry

#define Entry (   x)    .globl EXT(x); ELF_FUNC(EXT(x)); .align FALIGN; LEXT(x)

◆ ENTRY

#define ENTRY (   x)    Entry(x) MCOUNT

◆ ENTRY2

#define ENTRY2 (   x,
 
)
Value:
.globl EXT(x); .globl EXT(y); \
ELF_FUNC(EXT(x)); ELF_FUNC(EXT(y)); \
.align FALIGN; LEXT(x); LEXT(y) \
MCOUNT
#define FALIGN
Definition: osx_asm.h:114
#define EXT(x)
Definition: osx_asm.h:134
#define ELF_FUNC(x)
Definition: osx_asm.h:187
#define LEXT(x)
Definition: osx_asm.h:135

◆ EXT

#define EXT (   x)    _x

◆ FALIGN

#define FALIGN   ALIGN

◆ Gaddr

#define Gaddr (   to,
  lab 
)    movl $lab,to

◆ Gcall

#define Gcall (   func)    call func

◆ Gcmp

#define Gcmp (   lab,
  reg 
)    cmpl $lab,reg

◆ Gload

#define Gload

◆ Gmemload

#define Gmemload (   lab,
  reg 
)    movl lab,reg

◆ Gmemstore

#define Gmemstore (   reg,
  lab,
  tmp 
)    movl reg,lab

◆ Gotoff

#define Gotoff (   lab)    lab

◆ Gotoff2

#define Gotoff2 (   l,
 
)    l(r)

◆ Gotoff3

#define Gotoff3 (   l,
  r,
 
)    l(,r,s)

◆ Gpop

#define Gpop

◆ Gpush

#define Gpush

◆ Gstack

#define Gstack   0

◆ INB

#define INB   inb %dx, %al

◆ INL

#define INL   inl %dx, %eax

◆ LB

#define LB (   x,
 
)    n

◆ LBb

#define LBb (   x,
 
)    nb

◆ LBc

#define LBc (   x,
 
)    n:

◆ LBf

#define LBf (   x,
 
)    nf

◆ LCL

#define LCL (   x)    Lx

◆ LEXT

#define LEXT (   x)    _x:

◆ Lgcmp

#define Lgcmp (   lab,
  reg 
)    Gcmp(LCL(lab),reg)

◆ Lgmemload

#define Lgmemload (   lab,
  reg 
)    movl Lgotoff(lab),reg

◆ Lgmemstore

#define Lgmemstore (   reg,
  lab,
  tmp 
)    movl reg,Lgotoff(lab)

◆ Lgotoff

#define Lgotoff (   lab)    Gotoff(LCL(lab))

◆ Lgotoff2

#define Lgotoff2 (   l,
 
)    Gotoff2(LCL(l),r)

◆ Lgotoff3

#define Lgotoff3 (   l,
  r,
 
)    Gotoff3(LCL(l),r,s)

◆ MACH_KDB

#define MACH_KDB   0

◆ MCOUNT

#define MCOUNT

◆ OUTB

#define OUTB   outb %al, %dx

◆ OUTL

#define OUTL   outl %eax, %dx

◆ RPC_SVC

#define RPC_SVC   .byte 0x9a; .long 0; .word 0xf

◆ String

#define String   .asciz

◆ SVC

#define SVC   .byte 0x9a; .long 0; .word 0x7

◆ Times

#define Times (   a,
 
)    (a*b)

◆ Value

#define Value   .word