mescc: Add missing assembly defines.
[mes.git] / lib / x86_64-mes / x86_64.M1
index 760fef3d14653fe332186e93877fc253095892a8..9b6670152ac4ca2b796401dcb86f5bc134c640cd 100644 (file)
@@ -1,5 +1,6 @@
 ### GNU Mes --- Maxwell Equations of Software
 ### Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+### Copyright © 2018 Peter De Wachter <pdewacht@gmail.com>
 ###
 ### This file is part of GNU Mes.
 ###
@@ -18,7 +19,7 @@
 
 # reduced instruction set: rax, rdi (some rcx for shift, rdx for mul, div)
 # and r10 as i64 immediate helper
-# 206 instructions
+# 212 instructions
 
 DEFINE add____$i32,%rax 4805
 DEFINE add____$i32,%rbp 4881c5
@@ -54,9 +55,11 @@ DEFINE call___*%rax ffd0
 DEFINE call___*%rdi ffd7
 DEFINE cmp____$i32,%rax 483d
 DEFINE cmp____$i8,%rax 4883f8
+DEFINE cmp____$i8,%rdi 4883ff
 DEFINE cmp____%r15,%rax 4c39f8
 DEFINE cmp____%r15,%rdi 4c39ff
 DEFINE cqto 4899
+DEFINE div___%rdi 48f7f7
 DEFINE hlt f4
 DEFINE idiv___%rdi 48f7ff
 DEFINE ja32  0f87
@@ -77,8 +80,6 @@ DEFINE mov____$i32,%rax 48c7c0
 DEFINE mov____$i32,%rdi 48c7c7
 DEFINE mov____$i32,0x8(%rbp) c745
 DEFINE mov____$i64,%r15 49bf
-DEFINE mov____$i64,%rax 48a1
-DEFINE mov____$i64,%rax 48b8
 DEFINE mov____$i64,%rax 48b8
 DEFINE mov____$i64,%rdi 48bf
 DEFINE mov____%al,(%rdi) 8807
@@ -91,12 +92,12 @@ DEFINE mov____%eax,%rax 89c0
 DEFINE mov____%eax,(%rdi) 8907
 DEFINE mov____%eax,0x32(%rbp)  8985
 DEFINE mov____%eax,0x8(%rbp) 8945
-DEFINE mov____%eax,0x8(%rbp) 8945
 DEFINE mov____%edi,%edi 89ff
 DEFINE mov____%edi,%rdi 89ff
 DEFINE mov____%edi,0x32(%rbp) 89bd
 DEFINE mov____%edi,0x8(%rbp) 897d
 DEFINE mov____%esi,%eax 89f0
+DEFINE mov____%esi,(%rdi) 8937
 DEFINE mov____%r8,%rdi 4c89c7
 DEFINE mov____%rax,%rax 4889c0
 DEFINE mov____%rax,%rdi 4889c7
@@ -121,6 +122,7 @@ DEFINE mov____%rdx,%rdi 4889d7
 DEFINE mov____%rsi,(%rdi) 488937
 DEFINE mov____%rsp,%rbp 4889e5
 DEFINE mov____(%rax),%eax 8b00
+DEFINE mov____(%rax),%esi 8b30
 DEFINE mov____(%rax),%rax 488b00
 DEFINE mov____(%rax),%rsi 488b30
 DEFINE mov____(%rdi),%edi 8b3f
@@ -145,6 +147,8 @@ DEFINE mov____0x8(%rdi),%rbp 488b6f
 DEFINE mov____0x8(%rdi),%rsp 488b67
 DEFINE movl___%eax,0x32 890425
 DEFINE movl___%edi,0x32 893c25
+DEFINE movl___%esi,(%rdi) 8937
+DEFINE movl___(%rax),%esi 8b30
 DEFINE movsbq_%al,%rax 480fbec0
 DEFINE movsbq_%dil,%rdi 480fbeff
 DEFINE movsbq_(%rax),%rax 480fbe00