文章目录
上一节:11、在屏幕上显示文本
下一节:13、重点内容总结和原书第5章习题
01、数字显示的原理
- 1、分解数字
- 2、将数字转换为对应的数字字符
02、无符号整数除法指令div
- 被除数为8位
- 被除数为16位
- 被除数为32位,8086不支持从80386开始支持。
- 被除数为32位,8086不支持,32位处理器不支持,64位处理器支持。
03、在调试器中验证除法操作
主引导扇区代码:
start:
;计算378除以37的结果
mov ax, 378
mov bl 37
div bl ;AL = 商(10); AH = 余数(8)
current:
times 510 - (current - start) db 0
db 0x55, 0xAA
使用Bochs虚拟机调试:
- 设置断点:
b 0x7c00
- 执行
c
命令执行到断点处 - 使用
s
命令单步执行,使用r
命令查看寄存器状态
04、异或指令xor的用法
异或:相同为0、不同为1
异或操作数类型:两个操作数数据长度要相同
05、加法指令add的用法
加法指令操作数类型:两个操作数数据长度相同,不能同时为内存地址。
06、使用标号访问内存数据
使用标号buffer
代码定义的内存地址:
buffer
在内存中的位置:段地址为0x00000
、偏移地址为0x7C00+buffer
07、段超越前缀的使用
- 未使用
es:
时,使用的时ds
中的地址左移4位
加上0x00
- 使用
es:
时,使用的时es
中的地址左移4位
加上0x00
08、显示标号的汇编地址
程序为配套源码的第5章,运行如下:
上一节:11、在屏幕上显示文本
下一节:13、重点内容总结和原书第5章习题