ICS 与 8086 复习 00:系列导读与阅读路线
按知识依赖梳理计算机系统基础与汇编语言的复习路线,串联数据表示、指令执行、程序分析和链接装载。说明两套实验环境的区别,并列出各篇练习目标,帮助读者按薄弱环节选择入口。
Articles
公开文章按正式发布日期倒序排列;置顶只用于推荐,不改变归档顺序。
Knowledge / Archive
主题关联相近内容;年份跳转到对应归档。
Archive / Year
20 篇
按知识依赖梳理计算机系统基础与汇编语言的复习路线,串联数据表示、指令执行、程序分析和链接装载。说明两套实验环境的区别,并列出各篇练习目标,帮助读者按薄弱环节选择入口。
从程序的系统层次入手,解释指令和数据怎样存放、处理器如何取指执行,以及源程序怎样转换成运行中的程序。结合逐步跟踪例题区分语言、编译器、操作系统与硬件各自负责的问题。
围绕内存中的位与字节,复习整数和小数的进制转换、数据单位、字符编码与大小端排列。通过内存转储和位掩码算例,练习先确定位宽与解释规则,再计算数值,避免把编码和内容混为一谈。
把位模式、数值解释与语言规则分开,系统复习补码真值、整数范围、进位和溢出,以及扩展、截断和混合类型比较。结合计算题说明为什么机器指令的低位结果不能直接替代语言语义判断。
从符号、阶码和小数字段理解浮点编码,逐步完成一个十进制数的单精度编码与反向解码。区分表示范围、连续整数精度、非规格化数和舍入规则,解释小数误差及浮点运算中的常见反例。
按用途整理寄存器,说明段值、段基址、有效地址和物理地址之间的关系。通过分段寻址、小端读取和压栈算例,练习选择默认段、计算访问位置,并理解不同逻辑地址为何可以指向同一字节。
把立即数、寄存器值、有效地址和内存内容逐一分开,梳理合法寻址组合、默认段与数据传送限制。用完整寻址题和栈状态表说明读字节顺序,辨析取地址、读取内容和压栈弹栈的不同操作。
结合具体位宽分析进位、溢出、符号和零标志,串联多字运算、隐含乘除寄存器、逻辑掩码、移位与十进制调整。通过逐步算例说明标志何时有效,以及无符号、有符号解释为何会得到不同结论。
围绕跳转目标、栈顶、循环计数和隐含串指针跟踪执行过程,复习条件跳转、近远调用、返回和串扫描。重点分析零次循环、比较停止位置以及标志的使用时机,避免仅凭最终寄存器值判断程序。
先区分汇编时声明与运行时动作,再构建包含数据段初始化和退出路径的程序骨架。结合最大值、数组求和、字符转换与查找题,检查伪操作、循环边界和寄存器分工,使算法与执行条件相互对应。
用寄存器和内存的变化串联汇编实验,整理调试器的常用命令及观察方法。通过求和片段和完整字符串比较程序,练习设置检查点、核对预期结果并设计边界测试,区分汇编、连接与运行阶段的错误。
把处理器能力、操作数宽度和汇编书写规则分开,学习源目的顺序、比例变址、符号扩展与隐含操作数。结合反汇编字节行和移位跟踪算例,建立阅读机器级代码的方法,并明确与实模式环境的区别。
从比较与测试产生的标志出发,选择有符号或无符号跳转,并沿入口、回边和出口恢复循环逻辑。结合零长度、短路求值和分支表讨论控制流边界,说明为什么反汇编通常只能恢复等价的源程序。
按调用约定跟踪参数、返回地址、局部空间和寄存器保存,逐步绘制传统栈帧并计算各项地址。区分调用指令与函数序言的职责,同时对比不同位数和平台的约定,避免把一种栈帧模型当成固定规则。
以对象类型决定步长、布局规则决定偏移为主线,计算数组元素地址、二维数组行距和结构体大小。通过逐项对齐算例辨析数组与指针数组、位模式与数值转换,并检查越界与平台假设对答案的影响。
沿源文件到目标文件的转换过程,说明节与段、符号定义与引用,以及重定位记录各自解决什么问题。结合符号表和地址计算题理解跨文件链接,区分暂定定义、弱符号和编译选项带来的不同结果。
把链接完成后的程序接入运行环境,解释静态归档扫描、共享库绑定、装载段映射与启动代码。用文件大小和内存大小的算例分析零初始化范围,区分生成文件、建立进程映像与进入主函数几个环节。
汇总数据表示、寻址、标志位、栈帧与链接装载的常用计算关系,按容易混淆的概念组织检查清单。结合必要的平台和位宽前提定位失分原因,并提供返回对应正文重做算例的复习路径。
这是我对 npm-safe 开发过程的一次阶段性复盘。本文对应截至 2026 年 8 月 13 日的 @npm-safe/core v1.0.5
从“孤狼强者”这一文化意象出发,讨论个体自由、社会承认与权力结构之间无法被简单切断的关系。
CONTINUE / PATH
顺着当前内容继续,或者换到另一个板块。
文章区留言
可以讨论写作、选题,或推荐一个值得继续展开的问题。
滚动到这里时自动载入留言。