mescc: Support open, read.
[mes.git] / module / mes / libc-i386.mes
index d5c07230fb7c8b650b4fe30681b9362b3807a4f1..7930b737cd2dd78e21aa9272f02b0a4468e3d374 100644 (file)
     #xcd #x80                           ; int    $0x80
     ))
 
     #xcd #x80                           ; int    $0x80
     ))
 
+(define (i386:open f g t d)
+  `(
+    #x55                                ; push   %ebp
+    #x89 #xe5                           ; mov    %esp,%ebp
+
+    #x8b #x5d #x08                      ; mov    0x8(%ebp),%ebx
+    #x8b #x4d #x0c                      ; mov    0xc(%ebp),%ecx
+
+    #xb8 #x05 #x00 #x00 #x00            ; mov    $0x5,%eax
+    #xcd #x80                           ; int    $0x80
+
+    #xc9                                ; leave
+    #xc3                                ; ret
+    ))
+
+(define (i386:read f g t d)
+  `(
+    #x55                                ; push   %ebp
+    #x89 #xe5                           ; mov    %esp,%ebp
+
+    #x8b #x5d #x08                      ; mov    0x8(%ebp),%ebx
+    #x8b #x4d #x0c                      ; mov    0xc(%ebp),%ecx
+    #x8b #x55 #x10                      ; mov    0x10(%ebp),%edx
+
+    #xb8 #x03 #x00 #x00 #x00            ; mov    $0x3,%eax
+    #xcd #x80                           ; int    $0x80
+
+    #xc9                                ; leave
+    #xc3                                ; ret
+    ))
+
 (define (i386:write f g t d)
   `(
     #x55                                ; push   %ebp
     #x89 #xe5                           ; mov    %esp,%ebp
 
 (define (i386:write f g t d)
   `(
     #x55                                ; push   %ebp
     #x89 #xe5                           ; mov    %esp,%ebp
 
-    #x8b #x5d #x08                      ; mov    $0x8(%ebp),%ebx
-    #x8b #x4d #x0c                      ; mov    $0xc(%ebp),%ecx
-    #x8b #x55 #x10                      ; mov    $0x4(%ebp),%edx
+    #x8b #x5d #x08                      ; mov    0x8(%ebp),%ebx
+    #x8b #x4d #x0c                      ; mov    0xc(%ebp),%ecx
+    #x8b #x55 #x10                      ; mov    0x10(%ebp),%edx
 
     #xb8 #x04 #x00 #x00 #x00            ; mov    $0x4,%eax
     #xcd #x80                           ; int    $0x80
 
     #xb8 #x04 #x00 #x00 #x00            ; mov    $0x4,%eax
     #xcd #x80                           ; int    $0x80