基础:加减乘除
教程:《汇编语言》
工具,安装成功。
撬开计算机世界的大门,是位的概念,也就是数字的存储问题。二进制,十进制,十六进制他们三者之间的转化。
计算机由电驱动,很多组件构成,正确运行,就出现了机器指令,二进制数字代表指令,转化为高低电平,然后驱动计算机部件运行。这些由CPU处理。
例如:mov ah,40H 把40放入到ah寄存器。
编译器,翻译汇编语言。汇编指令直接翻译机器代码。伪指令,告诉编译器如何翻译。由编译器执行,没有对应的机器指令。符号体系,没有对应的机器指令。
机器指令,二进制数字。二进制可以描述机器指令,通过编译器,汇编可以直接翻译,一一对应。计算机的CPU执行机器指令。
内存。内存包括很多,内存条只是其中的一部分,cpu和其他部位也有内存。CPU工作需要区分程序和数据。内存,存储单元,字节,最小单位,两个十六进制数字。对存储单元进行编号,从零开始。出现了计数单位。总结:CPU通过对内存的读写来控制整个计算机的。机器指令和数据都是存放在内存中。以二进制[十六进制]存在。内存的编号是以零开始计算的。
内存编号。CPU和内存要发生联系。发生联系需要三种信息,第一种,内存编号信息,地址信息,描述地址信息的电路叫地址线,一根线只能表示0或者1地址线的数量决定了寻址能力2的n次方,寻址能力就是有多少根地址线。第二种,数据信息,8,16,32根线。第三种,控制信息(读和写),控制线决定了CPU能够对那些部件进行控制。
内存:内存条,显卡(显存),键盘,鼠标,麦克风,网卡。ram,rom.CPU把所有部件看成是内存地址。
CPU。
重点,寄存器。汇编指令,修改寄存器的内容,来控制cpu。
通用寄存器。一般存放数据。大小,2个字节。0:65535。
AX=AH+AL high,low。这2个寄存器独立。
BX CX DX
汇编代码:
mov ax,FFFF 这里是2个寄存器,数据2个字节,就写进去了。
地址信息。
段地址:偏移地址。
ds es ss cs:si di bp ip sp bx
地址加法器。物理地址=基础地址+偏移地址。基础地址=段地址*16(10h)
偏移地址最大表示FFFFH
CPU如果区分指令和数据的。cs:ip所组合的地址,里面的内容全部都是指令。
指令是长度的,可以由多个字节组成。执行由三布。1.CPU从cs:ip所组成的地址中读取指令,将这个指令存放到指令缓存区中。2.ip=ip+所读指令的字节数。3.执行指令缓存器中的内容,回到步骤1重复这个过程。
转移指令。 能够修改ip或者cs。jmp 2000:0
对于ip的修改,没读取一个命令,就是修改一次ip,jmp又是一次ip的修改。
call。转移指令,会保存下面指令的地址。然后跳转去执行一段指令,最后ret会跳回来,回到call保存的指令。
总结,汇编程序员,通过汇编指令,修改CPU的寄存器的内容,这样控制CPU,从而控制整个计算机。
mov 移动指令
add sub 运算指令
jmp xxxx:xxxx
call xxxx 转移指令