采用不同的方法来实现和上一章相同的采用不同的方法来实现和实现和上一章相章相同的同功能
- 用一种不同的分段方法,从不同角度理解处理器的分段内存访问机制
- 学习循环和条件转移
- 新指令,movsb、movsw、inc、dec、cld、std、div、neg、cbw、cwd、sub、idiv、jcxz、cmp等
- INTEL8086标志寄存器FLAGS的各个标志位
- 计算机中的负数
- Bochs调试的更多技巧学习
6.2 跳过非指令的数据区
处理指令与非处理指令的数据之间夹杂,利用“jmp”来跳过数据区
6.3 在数据声明中使用字面值
mytext db 'L',0x07,'a',0x07,'b',0x07,'e',0x07,'l',0x07,' ',0x07,'o',0x07,\
'f',0x07,'f',0x07,'s',0x07,'e',0x07,'t',0x07,':',0x07
6.4 段地址的初始化
规避古怪的写法
mov [0x7c00 + numbers + 0x00], dl
可以将DS的段地址初始化位0x7c00,即
mov ax, 0x7c00
mov ds, ax
原因:numbers是段偏移地址,而之前第5章的代码,段地址初始值一直为0,所以需要“古怪的写法”