开机cs0xFFFF,ip0x0000直接进BIOS,BIOS读0,0,1扇区,也就是MBR主引导扇区,这个扇区512字节大,这段平时是操作系统负责写的。BIOS在1M内存的最高端
BIOS把这个扇区扔到内存的0x7c00,然后判断它最后面两字节是不是55和AA,是就是有效,回到0x7c00运行去。
VRAM(video RAM)显存。加电自检后显卡自动进入80x25的文本模式。
不允许直接将立即数传进段寄存器。
文本模式下两个字节控制一个字的样子,第一个字节决定字符,第二个字节决定颜色、闪不闪。
在16位的处理器上(8086),默认是2字节,所以有时需要byte来说明移动的是byte而不是word。两个操作数里有一个是寄存器就不用了。也不能在两个内存之间直接mov。
标号代表汇编地址,也就是在这汇编程序段内的偏移地址。
DB,DW,DD,DQ(byte,word,double word,Quad word)
第一种除法
在任何时候只要在指令中涉及内存地址的,都可以使用段超越前缀,也可以使用标号。
xor,add都不允许两个操作数都是内存单元
相对近转移 jmp near 标号,操作数是标号地址减去当前地址再减3(当前指令byte数),执行的时候IP会加上操作数然后再+3,就得到了应该去的地址。
伪指令times 次数 指令 -------------把后面的指令执行那么多次数