Mercurial > hg > CbC > old > device
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 の副作用だろうなぁ。