This is how I am declaring my array of integers:
int registers[16];
And this is how I’m filling my array:
void fill_registers()
{
registers[0] = 0 ; registers[1] = 0x11111111; registers[2] = 0x22222222;
registers[3] = 0x33333333; registers[4] = 0x44444444; registers[5] = 0x55555555;
registers[6] = 0x66666666; registers[7] = 0x77777777; registers[8] = 0x88888888;
registers[9] = 0x99999999; registers[10] = 0xAAAAAAAA; registers[11] = 0xBBBBBBBB;
registers[12] = 0xCCCCCCCC; registers[13] = 0xDDDDDDDD; registers[14] = 0xEEEEEEEE;
registers[15] = 0xFFFFFFFF;
}
And this is how I’m printing them back out at the user in hex format…
void print_all_registers()
{int i = 0 ;
for(i= 0 ;i < 16 ; i++)
{
printf("REG %d : %x \t %d \n ", i, registers[i],registers[i]);
}
}
The only problem with this is that it doesn’t work correctly, I just keep getting values.
I basically must be able to add + subtract the register values eg. +2 to 11111111
And the other problem is when printing it it must also print in 8 digits for example
00000001 rather than just 1. I’ve looked in many tutorials but can’t seem to find any that help.
I just don’t understand why it doesn’t work. Here is an example of how it doesn’t work. If I do:
registers[1] = registers[1] + 2 ;
this would result in a value of 2 when it should be something like 11111113.
You’re not showing enough code. But to 0-pad a value, do something like this: