Mercurial > hg > CbC > old > device
comparison mc-codegen.c @ 458:0bc9f3273aa7
*** empty log message ***
author | kono |
---|---|
date | Wed, 01 Dec 2004 23:14:50 +0900 |
parents | b8f95294eb77 |
children | 2a49dfe59540 |
comparison
equal
deleted
inserted
replaced
457:a7d76928e3c1 | 458:0bc9f3273aa7 |
---|---|
2315 #endif | 2315 #endif |
2316 | 2316 |
2317 extern void | 2317 extern void |
2318 cmpdimm(int e, int csreg,int label,int cond) | 2318 cmpdimm(int e, int csreg,int label,int cond) |
2319 { | 2319 { |
2320 if (!chk) | 2320 if (!chk) { |
2321 code_cmpdimm(e, csreg,label,cond); | 2321 if (car(csreg)==CONST) { |
2322 switch(cond) { | |
2323 case 1: case 0: | |
2324 if (cond ^ (cadr(csreg)==e)) gen_jmp(label); | |
2325 break; | |
2326 case LT: | |
2327 if ((cadr(csreg)>e)) gen_jmp(label); | |
2328 break; | |
2329 } | |
2330 } else if (car(csreg)==REGISTER) { | |
2331 code_cmpdimm(e, cadr(csreg),label,cond); | |
2332 } else error(-1); | |
2333 } | |
2322 } | 2334 } |
2323 | 2335 |
2324 extern int | 2336 extern int |
2325 csvalue() | 2337 csvalue() |
2326 { | 2338 { |