att
How does “mov (%ebx,%eax,4),%eax” work? [duplicate]
The complete memory addressing mode format in AT&T assembly is: offset(base, index, width) So for your case: offset = 0 base = ebx index = eax width = 4 Meaning that the instruction is something like: eax = *(uint32_t *)((uint8_t *)ebx + eax * 4 + 0) In a C-like pseudocode.
Calculating padding length with GAS AT&T directives for a boot sector?
With AT&T syntax you can put a label at the start of your bootloader and then use something like this: .global _start .text .code16 _start: jmp . .space 510-(.-_start) .word 0xaa55 Period . is the current location counter relative to the beginning of the current section. The difference between period . and _start is an … Read more
How to load address of function or label into register
Answer recommended by Intel