工欲善其事, 必先利其器。汇编语言是我们学习, 接口原理, 微机组成原理等多门有趣课程的基础。 然而不幸得是刚接触汇编的人老是感觉, 好难, 好麻烦, 好多, 好虐心, 好虐脑。于是, 行百里者半九十!!!。 其实汇编没有想象的那么的难, 并且很有趣。 当然, 也没有想象的那么简单。
先推荐课本吧! 王爽的《汇编语言》。 这本书比较适合入门, 因为书中尽量的屏蔽了好多的深奥内容。 (即使是这样, 也还是不简单!)。然后是我们老师给我们推荐的书
:《80x86汇编语言程序设计教程》(杨季文), 《IBMPChb汇编语言》, 还有一本叫什么 《从汇编语言到计算机内核》的书。 其实这几本书我都没看过, 不过, 计划着是最少要看一本的。
好吧! 让我们一起愉快的学汇编吧!(其实是汇编快考试啦, 我把东西试着复习并整理了一下, 不过学汇编的路还有很长哦!)。
C1:基础知识(钟表理解 补码 各种硬件 )
C2:寄存器(物理地址 段)
C3:寄存器(内存访问)
C4:第一个程序
C5:【BX】和loop命令
C6:包含多个段的程序
C7:更灵活的定位地址的方法 //没好好学
AH&AL=AX(accumulator):累加寄存器
BH&BL=BX(base):基址寄存器
CH&CL=CX(count):计数寄存器
DH&DL=DX(data):数据寄存器
SP(Stack Pointer):堆栈指针寄存器
BP(Base Pointer):基址指针寄存器
SI(Source Index):源变址寄存器
DI(Destination Index):目的变址寄存器
IP(Instruction Pointer):指令指针寄存器
CS(Code Segment)代码段寄存器
DS(Data Segment):数据段寄存器
SS(Stack Segment):堆栈段寄存器
ES(Extra Segment):附加段寄存器
FLAG 寄存器中存储的信息通常又被称作程序状态字(PSW)
OF overflow flag 溢出标志 操作数超出机器能表示的范围表示溢出,溢出时为1. SF sign Flag 符号标志 记录运算结果的符号,结果负时为1. ZF zero flag 零标志 运算结果等于0时为1,否则为0. CF carry flag 进位标志 最高有效位产生进位时为1,否则为0. AF auxiliary carry flag 辅助进位标志 运算时,第3位向第4位产生进位时为1,否则为0. PF parity flag 奇偶标志 运算结果操作数位为1的个数为偶数个时为1,否则为0. DF direcion flag 方向标志 用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大. IF interrupt flag 中断标志 IF=1时,允许CPU响应可屏蔽中断,否则关闭中断. TF trap flag 陷阱标志 用于调试单步操作.
其他
psw: program status word tcon: timer control ie: interrupt enable scon: serial control
EA --Effective Address:有效地址 ,即偏移地址。
SA--segment address