Mercurial > hg > CbC > old > device
changeset 465:cdf827b1fcd9
*** empty log message ***
author | kono |
---|---|
date | Tue, 01 Mar 2005 14:54:15 +0900 |
parents | d88f08d81bba |
children | 7c3d8237b625 |
files | Changes Idea mc-code-arm.c |
diffstat | 3 files changed, 56 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/Changes Tue Dec 07 12:30:18 2004 +0900 +++ b/Changes Tue Mar 01 14:54:15 2005 +0900 @@ -1,4 +1,3 @@ - Thu Nov 25 17:27:12 JST 1999 subroutine call がない @@ -7119,5 +7118,32 @@ Tue Dec 7 12:19:08 JST 2004 lvar を二度置換するのはまずい。オフセットのタグを増やす方が良い。 - - +本来は不要だけどね。 + +Wed Dec 8 13:04:18 JST 2004 + +うーん.... + type tag +ねぇ。 + + type tag 10bit +の属性か + signed/unsigned 1bit + size 4bit (double/float) + const 1bit + volatile 1bit + restrict 1bit + assop 1bit + arity (number of recursive tree) 4bit +属性で16bit とるべきでしょうね。 + ATTR(tag,size,sign,assop,arity) + (tag<<16)+sign+(size<<1)+(assop<<9)+(arity<<12) + +CONV も ICONV,FCONV + source type (INT) とかがいいみたいだね。 + +んー、なんかいまいちだな。 + +Thu Feb 17 13:07:36 JST 2005 + +また、あいだが空いているよ。string と const の再利用がいまいちだね。 +
--- a/Idea Tue Dec 07 12:30:18 2004 +0900 +++ b/Idea Tue Mar 01 14:54:15 2005 +0900 @@ -1645,3 +1645,27 @@ それでもやっぱり動かないから、あんまり意味はないんだけど... C で書いてもいいか。 + +Wed Dec 22 15:17:49 JST 2004 + + reset { + shift; + } + +ねぇ。 なんで、return 構文にしたのか。しかも別々にしたのか。 + + goto ret(value),env; + +まぁ、ねぇ。 + try { + .... goto event .... + } catch (event) { + } +をいれてもいいんだけど。 + +うーむ、いまいちだな。 + +inline function のreturn,env を実装するっていう技もあるけど。 + +やっぱり。setjmp = return みたいにする? それはそれで、 +やさしいんだけど....
--- a/mc-code-arm.c Tue Dec 07 12:30:18 2004 +0900 +++ b/mc-code-arm.c Tue Mar 01 14:54:15 2005 +0900 @@ -1725,6 +1725,8 @@ } else { drn = register_name(reg); } +// ldrb r2, [ip, #-1]! @ zero_extendqisi2 +// これはoffsetだから、12bit! code_ld(cload(sz,sign),reg,0,xreg,cext_at(sz,sign)); code_add(reg,dir,reg); code_ldf(cstore(sz),drn,0,xreg,sz==SIZE_OF_SHORT?" @ movhi":""); @@ -1753,6 +1755,7 @@ } else { xrn = register_name(reg); } +//_1: ldrb r4, [r0], #1 @ zero_extendqisi2 *buffer++ code_ld(cload(sz,sign),reg,0,xreg,cext_at(sz,sign)); code_add(nreg,dir,reg); code_ldf(cstore(sz),nrn,0,xreg,sz==SIZE_OF_SHORT?" @ movhi":"");