# Two asm questions

## Recommended Posts

1) Can anyone tell me what the instruction npad 6 does? I see it in my generated asm output. I have a feeling it just does nothing for 6 clock cycles? 2)
int jj = ceil(RightX);
int hh = ceil(RightX);
int rr = ceil(RightX);
int aa = ceil(RightX);

This block of code actually generates the assembly code to call ceil 4 times in my asm output (/Fa), even though I don't use those variables anywhere. I was under the impression that compilation removed unused variables. I tried this under "Maximum Speed" and "Minimum Size" settings. Is there another option to remove this? Maybe I'm missing something?

##### Share on other sites
NPAD is not an intel instruction. My guess is that it's a Microsoft assembler macro that directs the assembler to insert a specified number of nop instructions where indicated.

Your second question is compiler specific and you haven't mentioned what compiler you're using.

##### Share on other sites
Oh, vc7. Seems like a pretty basic feature though.

##### Share on other sites
darookie    1441
Quote:
 Original post by LessBreadYour second question is compiler specific and you haven't mentioned what compiler you're using.

The "/Fa" switch lets me quess he's using the Microsoft compiler that ships with VC++ [smile]

NPAD stands for Non-Program Associated Data and is used for padding code segments. Itäs nothing to worry about as it will expand to data (as the name implies) and not instructions.