字与字节
1字节(1byte)=8位(8bit)
1个字=2字节=16位(16bit)
CPU中用16位来存储一个字,高八位放高位字节,低八位放低位字节
由于内存单元是字节单元,所以一个字要用两个地址连续的内存单元存放,低位字节放在低地址单元中,高位字节放在高地址单元中。
数据段的段寄存器DS
8086CPU还有一个DS,这个DS用于存放要访问数据的段地址。
mov al,[0] 这个[ ] 就是指偏移地址是0处的内容,所以这条指令是将10000H(1000:0)数据读到al中。
上面的指令相当于把ds:[0]处的内容放入al中。
几条汇编指令
mov 改写指定寄存器的数据内容
add 加
sub 减
栈
栈本身是一种数据结构,我们这里用到的栈其实是一段内存空间 ,只是比较特殊,有特殊的访问形式,达到不可思议的效果。
进出规则:后进先出
push和pop
入栈和出栈
push ax表示将寄存器ax中的数据放入栈中,pop ax 则表示将栈顶数据取出送入ax中。
8086入栈和出栈都是以字为单位进行的。
段寄存器SS与特殊寄存器SP
SS指向栈的段地址
SP指向当前的栈顶地址,即栈顶指针
任意时刻,SS和SP都指向栈顶元素