What does an asterisk * before an address mean in x86-64 AT&T assembly?

It’s AT&T assembly syntax: source comes before destination mnemonic suffixes indicate the size of the operands (q for quad, etc.) registers are prefixed with % and immediate values with $ effective addresses are in the form DISP(BASE, INDEX, SCALE) (DISP + BASE + INDEX * SCALE) Indirect jump/call operands indicated with * (as opposed to … Read more

movq (%rsp), %rsp assembly stack pointer load?

movq (assuming you’re talking about x86) is a move of a quadword (64-bit value). This particular instruction: movq (%rsp), %rsp looks very much like code that will walk up through stack frames. This particular instruction grabs the quadword pointed to by the current stack pointer, and loads it into the stack pointer, overwriting it. By … Read more

What does cltq do in assembly?

Mnemonic cltq is the gas mnemonic for Intel’s cdqe as documented at: https://sourceware.org/binutils/docs/as/i386_002dMnemonics.html The mnemonics are: Convert Long To Quad (cltq): AT&T-style Convert Double to Quad Extend (cdqe): Intel Terminology: quad (aka quad-word) == 8 bytes long (AT&T) == double-word (Intel) == 4 bytes This is one of the few instructions whose GAS name is … Read more

What is callq instruction?

It’s just call. Use Intel-syntax disassembly if you want to be able to look up instructions in the Intel/AMD manuals. (objdump -drwC -Mintel, GBD set disassembly-flavor intel, GCC -masm=intel) The q operand-size suffix does technically apply (it pushes a 64-bit return address and treats RIP as a 64-bit register), but there’s no way to override … Read more

What does the MOVZBL instruction do in IA-32 AT&T syntax?

AT&T syntax splits the movzx Intel instruction mnemonic into different mnemonics for different source sizes (movzb vs. movzw). In Intel syntax, it’s: movzx eax, byte ptr [eax+ecx+1] i.e. load a byte from memory at eax+ecx+1 and zero-extend to full register. BTW, most GNU tools now have a switch or a config option to prefer Intel … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)