diff Idea @ 6:bf602558130d

continuation
author kono
date Thu, 13 Jan 2000 13:41:09 +0900
parents d35df41eac69
children e2c2c0fe0785
line wrap: on
line diff
--- a/Idea	Thu Jan 13 12:07:28 2000 +0900
+++ b/Idea	Thu Jan 13 13:41:09 2000 +0900
@@ -1033,3 +1033,30 @@
 
 そうか、code_arg_offset のような方法だと、ANSI style では、
 困ってしまう。
+
+Thu Jan 13 04:46:12 JST 2000
+
+#       goto name(a,b,d,e,f);
+        code name { int g; ...
+
+        %esp  new %esp = old %esp - 20
+        %ebp-20   = g code's local variable
+        %ebp-12   = f <- new_disp
+        %ebp-8    = d
+        %ebp-4    = d
+        %ebp-0    = c
+        %edi      = b
+        %esi      = a
+        %ebp = old %esp   0      disp=0 new env
+         local1 <----16 old local variable       ( to be erased )
+        %edx        -12   <- disp_offset
+        %ecx         -8
+        %ebx         -4
+        %ebp = %esp   0   <- old env
+        %eip          4   <- arg_offset
+
+
+Thu Jan 13 13:38:24 JST 2000
+
+だいたいできたけど、test/tmp7.c のprintf のtype mismatch は
+なんなんだろう?  ASNI の副作用だろうなぁ。