diff options
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/elymasGlobalSysAsm.ey | 13 | ||||
| -rw-r--r-- | compiler/standard.ey | 3 |
2 files changed, 15 insertions, 1 deletions
diff --git a/compiler/elymasGlobalSysAsm.ey b/compiler/elymasGlobalSysAsm.ey index 8a5499c..e9c1ad5 100644 --- a/compiler/elymasGlobalSysAsm.ey +++ b/compiler/elymasGlobalSysAsm.ey @@ -200,6 +200,19 @@ :retn ]] /eyrawAddress defv + # generate object from raw object + # 0 -> address of the object + # 0 <- object + [[ + /rbx :popqReg + + /rax :popqReg + 8 /rax :pushqMemDisp8 # push integer value + + /rbx :pushqReg + :retn + ]] /eyrawObject defv + # get raw code execution address from function object # 0 -> function object # 0 <- address of first instruction diff --git a/compiler/standard.ey b/compiler/standard.ey index f440fb0..006414e 100644 --- a/compiler/standard.ey +++ b/compiler/standard.ey @@ -12,7 +12,8 @@ } "}_" defq { - { -01 < ==o { o -01 . } > -12 deffst }" quoted { }" { * }" ? * + { -01 < ==o { o -01 . } > -12 }" quoted { }" { * }" ? * + quoted { |deffst } { deffst }" ? * }" /via defq { -1110 ; ==f =*a len _ |
