What function have short and large in this code portion? large is same as long dword?
mov eax, ebx
cmp [ebp+var_1], 0
jz short loc_413123
call sub_40341C
pop large dword ptr fs:0
add esp, 0Ch
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
short
jz short loc_413123merely means that the offset (i.e. distance) for this jump is so small that it fits in a single byte, so this jump has been compiled to two simple bytes:Had the distance been larger, the compiler would have had to encode the jump differently, which would take up more memory:
With
short, IDA Pro is simply telling you what kind of encoding this jump is using.large
pop large dword ptr fs:0is IDA’s way of bringing to your attention thatfs:0is a far pointer: a regular offset (0) but with a segment selector (fs). I.e.largehas nothing to do with the width of the data (dword), but the address (segment+offset). However,largedoesn’t really add any new information, that line simply meanspop dword ptr [fs]and that might be the disassembly you would get from a different disassembler.You can safely ignore both these keywords when you read the disassembly and they are certainly not necessary when writing your own assembly code.