1/173
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
DATA TRANSFER SYNTAX
Mov Destination, Source
LDS
Load Data Segment Register
LEA
Load Effective Address
LES
Load Extra Segment Register
LODS
Load String
LSS
Load stack Segment Register
MOV
Move data
MOVS
Move String
MOVSX
Move with sign-extend
MOVZX
Move with Zero-extend
STOS
Store string
XCHG
Exchange
XLAT
Translate
Arithmetic Syntax
Adc destination, source
ADD
add binary number
DEC
Decrement by 1
DIV
Unsigned Divide
MUL
Unsigned multiply
SUB
Subtract binary values
XADD
exchange and add
ADC:
Add with carry
INC:
Increment by 1
IDIV
Signed (integer) divide
IMUL
Signed multiply
SBB:
Subtract with borrow
Comparison Syntax
CMP destination, source
CMP:
compare
CMPSn:
Compare string
CMPXCHG:
Compare and exchange
Logical Operator Syntax
AND destination,source
AND:
Logical AND
NOT:
Logical NOT
OR:
Logical OR
XOR:
Exclusive XOR
Input/Output Syntax
OUT destination,source
IN:
Input byte or word
INSn:
Input string
OUT:
Output byte or word
OUTSn:
Output string
JUMP Syntax
ja label
JA:
Jump if Above
JAE
Jump if above/equal
JB:
Jump if below
JBE:
Jump if below/equal
JE:
Jump if Equal
JG:
Jump if Greater
JGE:
Jump if Greater/Equal
JL:
Jump if Less
JNE:
Jump if Not Equal
JNG:
Jump if Not Greater
JNGE:
Jump if Not Greater/Equal
JNL:
Jump if Not Less
JNLE:
JNLE:
JNZ:
Jump if Not Zero
JLE:
Jump if Less/Equal
JNA:
Jump if Not Above
JNB:
Jump if Not Below
JNBE:
Jump if Not Below/Equal
JZ:
Jump if Zero
JC:
Jump if Carry
JCXZ:
Jump if CX is Zero
JNO:
Jump if No Overflow
JO:
Jump if Overflow
JNP:
Jump if No Parity
JP/JPO:
Jump if Parity Odd
JPE:
Jump if Parity Even
JS:
Jump if Sign
JNS:
Jump if No Sign
CALL:
Call a procedure
INT:
Interrupt
IRET:
Interrupt Return
JMP:
Unconditional Jump
LOOPING Syntax
loop label
LOOP:
Loop until complete
LOOPE:
Loop While Equal
LOOPZ:
Loop While Zero
LOOPNE:
Loop While Not Equal
LOOPNZ:
Loop While Not Zero
STACK INSTRUCTIONS Syntax
pop destiny
POP:
Retrieve the content of the Stack
PUSH:
Store the content of the Stack
POPF:
Pop Flags off the Stack
PUSHF:
Push Flags onto Stack
What is assembly language?
A low-level programming language specific to a processor architecture that uses symbolic codes to represent machine instruction
What converts assembly language into machine code?
An assembler (e.g., NASM, MASM, TASM).
What does the microprocessor handle?
Arithmetic, logical, and control operations.
What are machine language instructions?
Binary instructions (1’s and 0’s) understood directly by the processor.
Why is assembly language used instead of machine language?
It’s easier to read, write, and debug.
What are the three sections of an assembly program?
.data, .bss, and .text
What is the .data section used for?
Declaring initialized data or constants (unchanging data
What is the .bss section used for?
Declaring variables and buffers (zero-filled at runtime).
What is the .text section used for?
Keeping the actual code (instructions).
What must the .text section begin with?
global _start
What symbol begins a comment in assembly?
A semicolon ;
What are the three types of statements in assembly?
Executable instructions
Assembler directives (pseudo-ops)
Macros
What is the syntax format of an assembly statement?
[label] mnemonic [operands] [;comment]
What does the data segment store?
Data elements for the program.
What does the code segment store?
instruction codes.
What does the stack segment store?
Data passed to functions and procedures.
What does a comment do?
It is ignored by the assembler but improves readability.