汇编语言
第一章 基础知识
每一种微处理器都有自己的机器指令集(汇编语言),
由于很长的1与0难以辨别与记忆,所以诞生汇编语言
操作:寄存器BX的内容送到AX中
机器指令:1000100111011000
汇编指令:mov ax,bx
汇编语言由汇编指令
,伪指令
,其他符号
(后两者都不对应机器码)
分别对应:机器码的助记符
,编译器执行
,+,-,*,/由编译器识别
在存储器(内存)和磁盘上,指令和数据没有区别,都是二进制信息。CPU在工作的时候把有的信息看作指令,有的信息看做数据
1000100111011000->89D8H(为了直观计算机在显示数据多用十六进制数)(数据)
1000100111011000->mov ax,bx(指令)
一个存储器即一个存储单元,一个Byte,即8个二进制位
1KB=1024B=2^10B,1MB=1024KB=2^20B,1GB=1024MB=2^30B,1TB=1024GB=2^40B
CPU对数据进行读写操作
*存储单元的地址(地址信息)->地址总线(地址线的集合)(线是导线)
*器件的选择,读或写命令(控制信息)->控制总线(控制线的集合)
*读或写的数据(地址信息)->数据总线(数据线的集合)
mov ax,[3]//[3]=>*3,3号地址单元的内容
第二章 寄存器
8086的CPU所有的寄存器都是16位,首先通用寄存器AX,BX,CX,DX,每一个可以被拆为两个
字节(byte)和字(word):8,16bit 字分为高低字节
数据传送(mov指令)
mov ax,1a
mov ax,bx
增加指令
add ax ,1a
add ax,bx
CS和IP
CS和IP是8086CPU中两个最为关键的寄存器,CS:IP指向CPU即将执行好的指令,修改CS:IP指令jmp 段地址:偏移地址,比如jmp 2AE3:3,此外,jmp ax 在含以上可以认为是IP=AX
8086CPU工作过程
- 1.从CS:IP指向内存单元读取指令,读取的指令进入指令缓存器
- 2.IP指向下一条指令
- 3.执行指令(转到步骤1)
Debug命令:
- R:查看,改变CPU寄存器的内容
- D:查看内存中的内容
- E:改写内存中的内容
- U:将内存中的机器指令翻译成汇编指令
- T:执行一条机器指令
- A:以汇编指令格式在内存中写入一条机器指令
zer0_1s