摘要: 端口的读写 CPU 的邻居 CPU 内部的寄存器 内存单元 端口(各种接口卡、网卡,显卡,主板上的接口芯片等) 各种芯片工作时,都有一些寄存器由 CPU 读写 从 CPU 角度,将各寄存器当端口,并统一编制 CPU 用统一的方法与各种设备通信 读写端口的指令 在对 \([0,255]\) 的端口进行 阅读全文
posted @ 2024-05-05 08:29 AlwaysBeShine 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 移位指令 当 \(CNT > 1\) 时,CNT 必须是 CL 寄存器 逻辑左移 SHL OPR , CNT 将寄存器或内存单元中的数据向左移 CNT 位,最后移除的一位写入 CF,最低位用 0 补充 循环左移 ROL OPR , CNT 将寄存器中的值的最高位存入 CF 寄存器,其他位左移一位,将 阅读全文
posted @ 2024-05-04 19:10 AlwaysBeShine 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 串传送指令 MOVSB 功能 以字节为单位传送串 实现 \(((ES) * 16 + (DI)) = ((DS) * 16 + (SI))\) 如果 DF = 0 ,则 \((SI) = (SI) + 1\) ,\((DI) = (DI) + 1\) 。如果 DF = 1 ,则 \((SI) = ( 阅读全文
posted @ 2024-05-04 00:07 AlwaysBeShine 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 用 MUL 指令做乘法 格式 MUL 寄存器 MUL 寄存单元 8 位乘法 16 位乘法 被乘数(默认) AL AX 乘数 8 位寄存器或内存单元 16 位寄存器或内存字单元 结果 AX DX (高位) 和 AX (低位) 模块化程序设计 调用子程序 : CALL 指令 返回 : RET 指令 实质 阅读全文
posted @ 2024-05-03 18:49 AlwaysBeShine 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 流程转移 背景 一般情况下指令是顺序地逐条执行的,而在实际中,常需要改变程序的执行流程。 转移指令 可以控制 CPU 执行内存中某处代码的指令。 可以修改 IP ,或同时修改 CS 和 IP 的指令。 分类 按转移行为分类 段内转移 : 只修改 IP (例如 JMP AX) 段间转移 : 同时修改 阅读全文
posted @ 2024-04-30 22:18 AlwaysBeShine 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 寻址方式 形式 名称 特点 意义 示例 [idata] 直接寻址 用一个常量/立即数来表示地址 用于直接定位一个内存单元 MOV AX , [200] [BX] 寄存器间接寻址 用一个变量来表示内存地址 用于间接定位一个内存单元 MOV AX , [BX] [BX + idata] 寄存器相对寻址 阅读全文
posted @ 2024-04-28 21:41 AlwaysBeShine 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 汇编语言程序 用汇编语言编写程序的工作过程 汇编指令对应有机器码的指令,可以被编译为机器指令,最终被 CPU 执行。 伪指令是没有对应的机器码的指令,最终不被 CPU 所执行。 伪指令由编译器来执行,编译器根据伪指令来进行相关的编译工作。 汇编程序是包含汇编指令和伪指令的文本。 程序返回是程序结束运 阅读全文
posted @ 2024-04-07 00:12 AlwaysBeShine 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 寄存器及数据存储 CPU组成 运算器进行信息处理 寄存器进行信息存储 控制器协调各种器件进行工作 内部总线先实现 CPU 内各个器件之间的联系 寄存器 寄存器是 CPU 内部的信息存储单元。 8086 CPU 有 14 个寄存器: 通用寄存器:AX, BX, CX, DX 变址寄存器:SI,DI 指 阅读全文
posted @ 2024-04-05 23:12 AlwaysBeShine 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 学习汇编语言的重要性 编程语言发展 不可替代性 效率:用于开发软件的核心部件,可以快速执行和实时响应。 底层:开发操作系统内核,嵌入式系统等计算机及外围设备的驱动程序 作用:直击计算机系统的核心,可以加深对计算机原理和操作系统的理解。 学习内容 理解硬件结构,掌握指令集,理解程序的运行过程 8088 阅读全文
posted @ 2024-04-04 17:38 AlwaysBeShine 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 2024牛客寒假算法基础集训营6 题解 ( A,B,C,D,E,I) A 宇宙的终结 题意 找到\([l,r]\)区间中有多少数恰好等于三个不同素数的乘积 思路 数据范围很小,可以考虑暴力,遍历 \([l,r]\)区间内每个数,拿每个小于当前数的素数一直往下除,判断是否存在能被恰好 3 个素数整除的 阅读全文
posted @ 2024-02-28 16:59 AlwaysBeShine 阅读(11) 评论(0) 推荐(0) 编辑