código fonte do emu51

Pessoal, apesar do fonte ser de um simulador de 8051, minha dúvida é quanto ao C++.
Achei o código fonte muito simples de um simulador de 8051 que funciona muito bem. Não é complicado de usar...
Olhando o código fonte, me deparei com algumas dúvidas. Gostaria de compartilha-la. A estrutura principal da classe é essa:
Quando ele declara o objeto dessa classe, ele usa a seguinte instrução.
Depois utiliza da seguinte forma, por exemplo no seguinte código:
[code]int get_lenght (BYTE code)
{
if (asm51[code].code==code) return asm51[code].lenght;
else return 1;
}[/code]
Eu sei que não são 256 simuladores, é um só. Mas havia a necessidade de se declarar asm51[256]? Por que não declarar de uma maneira mais "normal"?
Agradeço desde já.
Francesco
Achei o código fonte muito simples de um simulador de 8051 que funciona muito bem. Não é complicado de usar...
Olhando o código fonte, me deparei com algumas dúvidas. Gostaria de compartilha-la. A estrutura principal da classe é essa:
- Código: Selecionar todos
class code_51
{
public:
char mnem[6]; // instruction mnemonic (2-4 characters)
BYTE code; // instruction code
BYTE lenght; // bytes which are needed to write this
// instruction into memory
BYTE cycles; // time unit
char display_string[20]; // string which is ready for displaying,
// it's made by make_ds(WORD) method
char datas[12]; // string which contains datas which
// will be displayed after mnemonic
void make_ds (WORD); // make display string
void process (); // process the instruction
};
Quando ele declara o objeto dessa classe, ele usa a seguinte instrução.
- Código: Selecionar todos
code_51 asm51[256];
Depois utiliza da seguinte forma, por exemplo no seguinte código:
[code]int get_lenght (BYTE code)
{
if (asm51[code].code==code) return asm51[code].lenght;
else return 1;
}[/code]
Eu sei que não são 256 simuladores, é um só. Mas havia a necessidade de se declarar asm51[256]? Por que não declarar de uma maneira mais "normal"?
Agradeço desde já.
Francesco