Mercurial > hg > CbC > old > device
comparison mc-code-ia32.c @ 578:dbde3b869a0f
try to remove code_fix_frame_pointer(); PowerPC fixed.
author | kono |
---|---|
date | Sun, 15 Jan 2006 19:28:50 +0900 |
parents | 266ded1a8fef |
children | 74bea4129e15 |
comparison
equal
deleted
inserted
replaced
577:7e0076617c76 | 578:dbde3b869a0f |
---|---|
281 #define REG_EBP 6 | 281 #define REG_EBP 6 |
282 #define REG_ESP 7 | 282 #define REG_ESP 7 |
283 #define is_int_reg(reg) (reg<REG_EBP) | 283 #define is_int_reg(reg) (reg<REG_EBP) |
284 #define REG_LCREG 8 | 284 #define REG_LCREG 8 |
285 #define REG_L 9 | 285 #define REG_L 9 |
286 #define REG_fp REG_EBP | |
286 | 287 |
287 #define regv_l(r) (virtual(r==REG_L?REG_ESI:REG_EAX)) | 288 #define regv_l(r) (virtual(r==REG_L?REG_ESI:REG_EAX)) |
288 #define regv_h(r) (virtual(r==REG_L?REG_EDI:REG_EDX)) | 289 #define regv_h(r) (virtual(r==REG_L?REG_EDI:REG_EDX)) |
289 | 290 |
290 | 291 |
1499 code_frame_pointer(int e3) { | 1500 code_frame_pointer(int e3) { |
1500 use_int(e3); | 1501 use_int(e3); |
1501 printf("\tmovl %s,%%ebp\n",register_name(e3,0)); | 1502 printf("\tmovl %s,%%ebp\n",register_name(e3,0)); |
1502 } | 1503 } |
1503 | 1504 |
1505 int | |
1506 code_frame_pointer_register() | |
1507 { | |
1508 return list2(REGISTER,virtual(REG_fp)); | |
1509 } | |
1504 | 1510 |
1505 void | 1511 void |
1506 code_fix_frame_pointer(int disp_offset) { | 1512 code_fix_frame_pointer(int disp_offset) { |
1507 printf("\tlea %d(%%ebp),%%ebp\n",disp_offset); | 1513 printf("\tlea %d(%%ebp),%%ebp\n",disp_offset); |
1508 } | 1514 } |