X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=uebersetzerbau-ss10.git;a=blobdiff_plain;f=codea%2Fcode.bfe;h=e5677b20c14078702fe9177e5f7d5429c248bf54;hp=84d8db4c3f0feaf58c925e29fdbb1818876aab61;hb=c5f1452ff4545695ac2524ae51dfbd8ff0e2ca4a;hpb=0c8c281d1815255063bed6d9915ea1db1ccb2581 diff --git a/codea/code.bfe b/codea/code.bfe index 84d8db4..e5677b2 100644 --- a/codea/code.bfe +++ b/codea/code.bfe @@ -153,13 +153,15 @@ void gen_subspecial(struct treenode *bnode, short e) { /* tritt z.b. bei snafu_05.0 auf */ printf("\t//gen_subspecial(%i)\n", e); - if (!e) - KIDREG2ID(0); + KIDREG2ID(0); KIDKIDREG2PARM(1,0); - if(e) + + if(e) { printf("\tsubq $%d, %%%s\n", KIDKID_VAL(1,0), BN_REG); - else + } else { printf("\tsubq %%%s, %%%s\n", KIDKID_REG(1,0), BN_REG); + } + if(e) KIDKIDREG2PARM(1,1); printf("\taddq %%%s, %%%s\n", KIDKID_REG(1,1), BN_REG); }