Questions about this topic? Sign up to ask in the talk tab.
Difference between revisions of "Assembly"
From NetSec
Line 90: | Line 90: | ||
* architecture | * architecture | ||
* operating system | * operating system | ||
− | |||
− |
Revision as of 22:20, 19 May 2012
Assembly requires a basic understanding of bitwise math |
Contents
Introduction
- assembler
- linker
- Assemble-time: Assembly & operands -> Opcode Sequence
- Link-time: Flat binary of opcode sequence -> executable file format for OS
- Runtime: Opcode Sequence -> hardware gates (may interact with ram etc)
Binary
- counting
- endianness
- nybble
- byte
- word
- dword
- qword
Number handling
- signed
- unsigned
- 2's compliment
Data storage
- register
- pointer
- sub-register
- cpu flag registers
- architecture-specific registers
Memory Addressing
- stack pointer
- instruction pointer
- base pointer
- addressing mode
- index
Instructions
Syntaxes
- Intel (dest, src)
- ATT (src, dest)
Data manipulation basic primitives
- mov
- push
- pop
Basic arithmetic
- add
- sub
- div
- mul
Bitwise mathematics operators
- and
- not
- or
- xor
Shifts and rotations
- shl
- shr
- rol
- ror
Control flow operators
- cmp
- jmp
- call
- ret
Taking it further
- kernel interrupt
- architecture
- operating system