標題中的錯誤出現在'#define
'行上,這個頭文件中的每一個函數式的宏(從第45行開始)。 ?做錯事「error:expected identifier or'('before numeric identifier」 - ?
#ifndef ASSEMBLER_H
#define ASSEMBLER_H
/* Ports */
#define Input 0
#define Output 15
/* Registers */
#define Z 0
#define A 1
#define B 2
#define C 3
#define D 4
#define E 5
#define F 6
#define G 7
/* OP Codes */
/*-----Control--------*/
#define HLT_OP 0
#define JMP_OP 1
#define CJMP_OP 2
#define OJMP_OP 3
/*-----Load/Store-----*/
#define LOAD_OP 4
#define STORE_OP 5
#define LOADI_OP 6
#define NOP_OP 7
/*-----Math-----------*/
#define ADD_OP 8
#define SUB_OP 9
/*-----Device I/O-----*/
#define IN_OP 10
#define OUT_OP 11
/*-----Comparison-----*/
#define EQU_OP 12
#define LT_OP 13
#define LTE_OP 14
#define NOT_OP 15
/* Macros */
/*-----Control--------*/
#define HLT()
(HLT_OP << 28)
#define JMP(address)
((JMP_OP << 28) | (address))
#define CJMP(address)
((CJMP_OP << 28) | (address))
#define OJMP(address)
((OJMP_OP << 28) | (address))
/*-----Load/Store-----*/
#define LOAD(dest, value)
((LOAD_OP << 28) | ((dest) << 24) | (value))
#define STORE(dest, value)
((STORE_OP << 28) | ((dest) << 24) | (value))
#define LOADI(dest, value)
((LOADI_OP << 28) | ((dest) << 24) | (value))
#define NOP()
(NOP_OP << 28)
/*-----Math-----------*/
#define ADD(dest, op1, op2)
((ADD_OP << 28) | ((dest) << 24) | ((op1) << 20) | ((op2) << 16))
#define SUB(dest, op1, op2)
((SUB_OP << 28) | ((dest) << 24) | ((op1) << 20) | ((op2) << 16))
/*-----Device I/O-----*/
#define IN(reg)
((IN_OP << 28) | ((reg) << 24) | (Input))
#define OUT(reg)
((OUT_OP << 28) | ((reg) << 24) | (Output))
/*-----Comparison-----*/
#define EQU(reg1, reg2)
((EQU_OP << 28) | ((reg1) << 24) | ((reg2) << 20))
# define LT(reg1, reg2)
((LT_OP << 28) | ((reg1) << 24) | ((reg2) << 20))
#define LTE(reg1, reg2)
((LTE_OP << 28) | ((reg1) << 24) | ((reg2) << 20))
#define NOT()
(NOT_OP << 28)
#endif
哦,呵呵。謝謝。 – 2010-11-11 23:25:06