预备知识
一,思想+数学;程序 = 数据结构 + 算法
二,计算机的硬件组成
三,数据的表示方法:进制,数据宽度,有符号数和无符号数,原码反码补码
四,逻辑运算: NOT AND OR XOR 左移, 右移
五,编码规则:ASCII, BCD, 键盘扫描码
基础知识部分
16位汇编语言学习环境:
MASM, DEBUG, LINK, NOTEPAD
寄存器
通用寄存器:AX, BX, CX, DX, SI, DI
(变址寄存器:SI DI,用来指向目的地址 源地址)
, SP, BP(BP,BX也可以作基址寄存器)
段寄存器:CS, DS, SS, ES
标志寄存器: FALG
指令指针:IP
寻址方式
立即数寻址
寄存器寻址
寄存器间接寻址
直接寻址
寄存器相对寻址
基址加变址寻址
基址加变址相对寻址
汇编指令:
数据传送指令:MOV, XCHG,
LEA(地址传送),
LDS(32位地址传送),
LES(传送给附加段),
PUSH, POP, (堆栈操作)
PUSHF, POPF, (堆栈操作+计数器)
CLC(CF清零),
STC(CF置1),
CMC(CF取反),
CLD(方向位置零),
STD(方向位置1),
CLI, STI(中断)
加减运算指令:ADD, ADC, INC, SUB, SBB, DEC, NEG, CMP
乘除运算指令:MUL, IMUL, DIV, IDIV
逻辑运算指令:NOT, AND, OR, XOR, TEST
移位指令:SAL, SHL, SAR, SHR, ROL, ROR, RCL, RCR
无条件转移指令:JMP, JMP SHORT, JMP NEAR, JMP FAR PTR
条件转移指令:无符号转移指令,有符号转移指令
循环指令:LOOP, LOOPE, LOOPZ, LOOPNE, LOOPNZ, JCXZ