ICS 与 8086 复习 00:系列导读与阅读路线
这套系列围绕一个问题展开:高级语言中的数据和操作,怎样变成处理器真正执行的指令?阅读顺序先建立数据表示的规则,再用 8086 学会跟踪指令和内存,最后进入 IA-32 的 C 程序分析与可执行文件生成、运行。
正文共 16 篇,每篇都有概念讲解、逐步算例、易错点和三道自测,共 48 道自测题。内容面向系统复习,阅读与练习重点围绕概念、计算、程序跟踪和边界条件展开。
阅读顺序与复习任务
| 篇次 | 主题 | 应掌握的答题能力 |
|---|---|---|
| 01 | 计算机系统与程序执行 | 区分系统层次,跟踪取指、执行和程序转换 |
| 02 | 进制字符与字节序 | 进制转换,读内存转储,区分字符与数值 |
| 03 | 补码溢出与类型转换 | 求真值,判断 CF/OF,分析混合类型表达式 |
| 04 | IEEE754 浮点数与舍入 | 编解码浮点数,判断范围、精度和舍入 |
| 05 | 8086 寄存器与分段寻址 | 计算段基址和物理地址,理解段重叠 |
| 06 | 8086 寻址与数据传送 | 判断合法寻址和 MOV,区分地址与内容 |
| 07 | 算术逻辑指令与标志位 | 跟踪算术、乘除、移位及多字进位链 |
| 08 | 控制转移子程序串操作与中断 | 选择跳转,分析 CALL/RET、REP 和 INT |
| 09 | MASM 程序结构与分支循环编程 | 理解伪操作,编写分支、循环与数组处理 |
| 10 | DEBUG 与汇编实验复习 | 设置观察点,解释寄存器和内存变化 |
| 11 | IA32 指令与 AT&T 语法 | 阅读比例变址、扩展和隐含操作数 |
| 12 | 条件判断与循环的机器表示 | 恢复等价 C 控制流,检查零长度边界 |
| 13 | 函数调用与栈帧 | 画栈帧,追踪参数、返回地址与寄存器保存 |
| 14 | 数组指针结构体与对齐 | 求元素地址,计算成员偏移及总大小 |
| 15 | 编译链接 ELF 符号与重定位 | 分析目标文件、符号解析与重定位计算 |
| 16 | 装载运行与静态动态链接 | 区分文件布局、进程映射和动态链接 |
第一次阅读可按顺序完成;专项复习时,从薄弱题型进入,再回看相关前置篇目。每篇自测应先独立写出过程,再对照答案。做程序跟踪题时统一记录“位宽、地址、操作数、结果、相关标志”,比只记最终寄存器值更容易定位错误。
两套实验环境的边界
| 项目 | 8086 汇编部分 | ICS 机器级分析部分 |
|---|---|---|
| 主要平台 | 8086 实模式 DOS | IA-32、Linux、GCC;局部对比 x86-64 |
| 汇编写法 | Intel/MASM,目的操作数在前 | GNU AT&T,通常源操作数在前 |
| 地址分析 | 段值乘16再加16位偏移 | 依据相应执行模式和 ABI 分析 |
| 常见工具 | DOSBox、MASM、LINK、DEBUG | GCC、目标文件及反汇编工具 |
| 输入输出示例 | DOS INT 21H |
C 运行库与相应操作系统机制 |
学习两部分时,应先读每篇标明的平台。8086 没有 EAX、FS、GS 和 IA-32 比例变址;Windows 宿主机内运行 DOSBox,也不意味着正在编写 Win32 API 汇编程序。
资料覆盖与引用方式
本系列围绕计算机系统基础与8086汇编课程的知识主线展开。汇编材料含第1—5章课件、首次实验课课件、上机实验文档和 DEBUG 命令文档;ICS 材料含系统概述、数据表示、指令系统、程序表示、链接与加载五份课件。所用11份课件合计964张幻灯片。
汇编第1章以指令集和语言翻译为入口,把汇编定位为连接程序与机器的桥梁,并强调通过读写程序和上机调试建立时间、空间与系统意识。这一导论贯穿正文01和10,原课件可定位至《汇编语言 第1章.ppt》第4、8—9、12—13、26页。
每篇末尾列出对应文件和实际幻灯片序号。实验文档页码可能随排版变化,可结合实验名或命令名定位相应内容。第五份 ICS 课件虽有部分封面编号问题,仍按文件名中的第五章引用。
文章将原课件内容重新组织为讲解,例题和程序多为重写。发现会影响理解的错误时,在相关篇目或速查附录中给出正确规则。涉及指令语义、语言规则和ABI的细节,同时提供相应官方参考。
可从本文目录进入各篇,也可按文末导航顺序阅读。代码与命令需在文中指定的环境中验证;列出的预期结果均应结合位宽、平台和初始状态理解。
讨论这篇文章
关于《ICS 与 8086 复习 00:系列导读与阅读路线》的补充、不同意见或延伸话题,都可以留在这里。
滚动到这里时自动载入留言。