32-Bit Windows Assembly: Ep.1 – Windows API and the Stack Flashcards
What does Assembly use to represent low-level instructions?
Mnemonics
What is another name for mnemonics
Symbolic references
Name an Assembler that can be used for 32-bit Windows Assembly?
MASM
Name a Linker that can be used for 32-bit Windows Assembly?
LINK
What does MASM stand for?
Microsoft Macro Assembler
Where can MASM be found?
Bundled with Visual Studio.
Name two tasks performed by the linker.
- Merges various object files together
* Sets up the references to external code
Name two types of instruction syntax formatting.
Intel and AT&T.
What does the call assembly instruction do?
Changes the execution flow to the target location. This is synonymous with a function call in normal programming.
Which assembly instruction would you use to execute a function?
call
What does the following assembly instruction do?
push (value)
Takes (value) and puts it on the local stack frame.
What is the meaning of the following assembly instruction, and what does it do?
db (bytes)
“Define bytes” - an instruction to the assembler/compiler to reserve bytes inside the section it is referenced.
What is the meaning of the following assembly instruction, and what does it do?
dd (bytes)
“Define dword” - an instruction to the assembler/compiler to reserve bytes inside the section it is referenced.
What does ABI stand for?
Application Binary Interface.
Which section contains the executable code that the program will run?
.code
Which section contains initialised variables?
.data
Which section contains uninitialised variables in 32-bit Windows Assembly?
.data?
In which section can you find the entry point for a program?
.code
What permissions should the .code section have?
Readable and executable.
Which section should have readable and executable permissions?
.code
In 32-bit x86 Windows Assembly language, which label designates the entry point of the program?
start:
What does the assembler and linker do with a label?
They translate the label into a memory address inside the binary.