
《汇编语言》- 读书笔记
文章平均质量分 84
《汇编语言》(第四版)- 王爽著。
汇编相关的读书学习,好记性不如烂笔头,读书笔记以备查阅。本书已读完,所有动手部分,均已实操并做详细记录。
笑虾
一壶泪,暗淡醇香味。
化作万樽与谁对?
忧举杯,乐举杯,地老天荒只一醉。
欲哭时,男儿无泪,千般相思苦。
杯中汇……
展开
-
【8086汇编】环境搭建 - 学习笔记:WIN10下安装配置 MASMPlus + DOSBox
本文是关于在Windows 10上搭建8086汇编开发环境的指南。首先,介绍了MASMPlus 1.2的安装方法,建议在XP虚拟机中安装后迁移到Windows 10。然后,详细讲解了DOSBox 0.74-3的安装和配置,包括如何挂载C盘、设置环境变量、以及挂载软盘和光盘镜像。文章还提供了DOSBox的热键列表,以及相关资源链接,帮助用户更便捷地进行汇编编程。原创 2023-04-17 13:10:27 · 1729 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 各章检测点归档
提示,反过来思考一下,当段地址给定为多少,CPU 无论怎么变化偏移地址都无法寻到 20000H单元?(B转KB:32-10,KB转MB:22-10,MB转GB:12-10,最终 2。下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。(B转KB:20-10,KB转MB:10-10,最终 2。(B转KB:24-10,KB转MB:14-10,最终 2。,若想用偏移地址寻到此单元。这里用栈做中转,其实只要一个字(16)字节的空间就够了。,仅通过变化偏移地址寻址,CPU 的寻址范围为。原创 2024-02-05 18:38:55 · 2210 阅读 · 3 评论 -
《汇编语言》- 读书笔记 - 第1章-基础知识(0:200-0:2FF 空闲可用于练习)
此为第1章笔记涉及机器语言与汇编语言的关系,汇编语言由助记符、伪指令和其他符号组成。解释了存储器的重要性,指令和数据在内存中的区别,以及存储单元和内存地址空间的概念。讨论了CPU通过总线与存储器交互,包括地址总线、数据总线和控制总线的作用。文章还提及了内存地址空间的组成,以及主板和接口卡的功能。最后,提供了一个空闲内存地址段供练习使用,并总结了CPU总线宽度对性能的影响。原创 2023-04-27 15:26:28 · 1506 阅读 · 1 评论 -
《汇编语言》- 读书笔记 - 第2章-寄存器(register)
本文为《汇编语言》第二章读书笔记,深入探讨了8086CPU的寄存器体系,包括通用寄存器、段寄存器、偏移指针寄存器和标志寄存器。文章详细阐述了段地址和偏移地址如何共同构成物理地址,以及16位CPU的内存寻址机制。特别强调了段寄存器在内存管理中的作用,如CS和IP寄存器在指令执行中的重要性。通过实验1,文章展示了如何使用机器指令和汇编指令进行编程,以及如何操作CPU和内存。原创 2023-05-03 14:45:24 · 1203 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第2章-实验1 查看 CPU 和内存,用机器指令和汇编指令编程(Debug的使用)
本文是《汇编语言》实验1的读书笔记,介绍了如何使用Debug工具查看CPU和内存,并通过机器指令和汇编指令进行编程。实验内容包括使用Debug的命令(如r、d、e、u、t、p、a、g、n、L、W)来修改寄存器、查看内存数据、编辑内存内容、显示汇编代码、单步执行指令等。实验任务涉及将特定程序段写入内存并执行,观察寄存器变化,计算2的8次方,查看内存内容,以及向内存特定地址写入数据。文章提供了详细的Debug命令使用说明和实验步骤,帮助读者理解汇编语言编程和内存操作。原创 2023-05-19 10:18:10 · 1635 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第3章-寄存器(内存访问):mov、add、sub、push、pop
一段内存,可以既是代码的存储空间,又是数据的存储空间,还可以是栈空间,也可以什么也不是。中,这样 CPU 在需要进行栈操作的时候,比如执行 push、pop 指令等,就将我们定义的栈段当作栈空间来用。中,用 mov、add、sub 等访问内存单元的指令时,CPU 就将我们定义的数据段中的内容当作数据来访问;超界后就可能会意外的读写到栈外的数据,但是那段内存现在是谁在用,存的什么内容,对于我们当前来说是。中打的指令,支持[0]。内存中的情况如图 3.3 所示,写出下面的指令执行后内存中的值,思考后看分析。原创 2023-05-22 18:38:21 · 1223 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第3章-实验2 用机器指令和汇编指令编程
可能要再做些实验才能发现其中的规律。如果你在这里就正确回答了这个问题,那么要恭喜你,因为你有很好的悟性。大多数的学习者对这个问题还是比较迷惑的,不过不要紧,因为随着课程的进行,这个问题的答案将逐渐变得显而易见。栈对应的内存区域出现了数据。上面这张截图显示了代码执行前内存中的数据。来暂存寄存器数据了。原创 2023-05-23 12:30:19 · 740 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第4章-第一个程序(源程序、编译、连接、指令、伪指令、变量、常量)
我们在前面讲过,在 DOS 中,可执行文件中的程序 P1 若要运行,必须有一个正在运行的程序 P2,将 P1 从可执行文件中加载入内存,将 CPU 的控制权交给它,P1 才能得以运行;操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如设置 CS:IP 指向第一条要执行的指令),然后由 CPU 执行程序。只是对寄存器进行操作。的前面,作为一个段的名称,这个段的名称最终将被编译、连接程序处理为一个段的。如果用户要执行一个程序,则输入该程序的可执行文件的名称,原创 2023-05-24 15:50:13 · 980 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第4章-实验3 编程、编译、连接、跟踪
文章详细解释了从编写汇编源代码到生成可执行文件的步骤,以及如何使用DOSBox和Debug工具进行程序的调试。强调了伪指令的作用,如segment、ends和assume,以及如何通过int 21h实现程序的返回。key:段、伪指令、标号、返回、语法错误、逻辑错误。原创 2023-05-24 15:49:18 · 335 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第5章- [BX]和 loop 指令
bx]和内存单元的描述指令 | 段地址 | 偏移地址 | 说明| ds | 0 | 将内存ds:0处的字单元中的内容,送入 ax| ds | 0 | 将内存ds:0处的字节单元中的内容,送入 ax 的低8位| ds | bx中的值 | 将内存ds:[bx]处的字单元中的内容,送入 ax| ds | bx中的值 | 将内存ds:[bx]处的字节单元中的内容,送入 ax 的低8位looploop 指令表示循环。定义的描述性的符号:“()”()括号用来表示寄存器或内存中的内容。()原创 2023-05-25 13:41:36 · 1033 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第5章-实验4 [bx]和 loop 的使用
本文主要介绍了`[bx]`和`loop`指令。实验内容包括向内存特定区域传送数据,以及如何使用`bx`寄存器和`loop`指令来控制循环次数。展示了如何实现循环,以及用`mov`、`inc`和`loop`遍历内存。还讨论了如何使用`assume`、`segment`和`ends`伪指令来组织汇编程序的结构。原创 2023-05-25 13:40:11 · 209 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第6章- 包含多个段的程序
应该将数据、代码、栈放进不同的段中。程序在加载和运行时都可以向系统申请内存空间来用。从系统申请内存来用才是安全的,不应该自己直接写内存,那样可能会破坏重要数据。原创 2023-05-25 16:50:54 · 1362 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第6章-实验5 编写、调试具有多个段的程序
本实验笔记探讨了汇编语言中多段程序的编写与调试。重点介绍了如何使用Debug工具加载和跟踪程序,以及如何处理数据段、代码段和堆栈段。实验涉及内存分配、段地址计算和栈管理。通过具体题目,展示了如何计算段位置,以及在不同段间进行数据操作。强调了系统内存分配的16字节对齐规则和段定义的重要性。原创 2023-05-26 13:43:11 · 1837 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第7章- 更灵活的定位内存地址的方法
本文是《汇编语言》第七章读书笔记,探讨了汇编语言中内存地址定位的灵活性,包括AND、OR指令和ASCII码处理。介绍了字符数据的声明、大小写转换的位运算技巧,以及使用[bx+idata]等寻址方式处理数组和字符串。详细讨论了SI和DI寄存器在内存复制中的作用,以及二维数组操作的寻址方法。原创 2023-05-29 15:45:47 · 1039 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第7章-实验6 实践课程中的程序
【代码】《汇编语言》- 读书笔记 - 实验6 实践课程中的程序。原创 2023-05-29 13:38:53 · 252 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第8章 - 数据处理的两个基本问题(阶段总结)
本文总结《汇编语言》第八章,关注数据存储位置和长度。介绍了8086CPU的寻址寄存器(bx, si, di, bp)和数据位置表达(立即数、寄存器、段地址+偏移地址)。讨论了寻址方式、数据长度定义,解释了除法指令div和伪指令db、dw、dd。展示了dup操作符简化数据定义,并提供了结构化数据访问的实验示例。通过Debug工具实践,加深了汇编编程理解。原创 2024-01-23 16:25:54 · 1251 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第8章-实验 7 寻址方式在结构化数据访问中的应用
看这意思,公司所有收入都给雇员平分了呗?定位数据项:年份、收、雇员数、人均收(列)定位具体元素:列中的第N行。原创 2024-01-25 13:02:48 · 486 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第9章 - 转移指令的原理(jmp,jcxz,loop,offset)
本文是《汇编语言》第九章的读书笔记,主要介绍了转移指令的原理,包括jmp、jcxz和loop指令及offset指令。文章详细解释了无条件转移指令jmp的不同形式。同时,探讨了jcxz指令在循环控制和条件分支中的应用,以及loop指令在实现计数型循环中的作用。此外,还讨论了编译器对转移位移超界的检测机制。这些概念对于理解计算机程序的执行机制和内存管理至关重要。原创 2024-02-15 18:53:45 · 1060 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第9章-实验8 分析一个奇怪的程序
分析下面的程序,在运行前思考:这个程序可以正确返回吗?的前面,说明肯在某一步能跳上来,才可以正常退程序。第 4、5 行:退出程序:首先退出指令在程序插入。所以这里的机器码含义就是向上偏移 10 字节。相对跳转多少字节是编译时已经算好的。通过这个程序加深对相关内容的理解。运行后再思考:为什么是这种结果?第 11、12 行:分别拿到。是短跳转,短跳是相对移动。因此,程序可以正常执行退出。从第 7 行开始逐步执行。第 13、14 行:把。原创 2023-04-25 15:47:08 · 989 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第9章-实验9 根据材料编程
本文是一篇汇编语言实验笔记,介绍了如何在屏幕上居中显示不同颜色的字符串。首先,文章解释了80x25彩色字符模式显示缓冲区的结构,包括内存地址范围、每页显示内容、字符属性[闪RGB高RGB]等。接着,通过计算确定了字符串在屏幕上的居中位置。最后,提供了汇编代码实现,包括初始化数据段、遍历字符串、设置颜色属性,并将其写入显存。代码详细注释,易于理解。原创 2024-02-17 21:28:47 · 428 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第10章-CALL 和 RET 指令
本文是《汇编语言》第十章笔记,详解CALL和RET指令,它们支持汇编语言的模块化设计。CALL用于调用子程序,RET用于返回。文章讨论了不同形式的CALL指令。介绍了乘法 mul。同时,探讨了模块化编程中的参数传递、批量数据传递和寄存器冲突问题,强调了模块化的重要性,以提升代码的可读性和复用性。原创 2024-02-19 20:28:57 · 1047 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第10章-实验 10 编写子程序
本文是《汇编语言》实验10的笔记,介绍了三个子程序的编写。第一个子程序`show_str`用于在指定位置显示字符串,支持行号、列号、内容和颜色参数。第二个子程序`divdw`解决了除法溢出问题,实现了不会产生溢出的除法运算。第三个子程序`dtoc`将二进制数据转换为十进制字符串。实验强调了寄存器保存和显存地址转换的重要性。原创 2024-02-20 17:08:02 · 963 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第10章-课程设计 1
中的 Power idea 公司的数据按照图 10.2 所示的格式在屏幕上显示出来。在整个课程中,我们一共有两个课程设计,编写两个比较综合的程序,这是第一个。,应该编写一个新的数据到字符串转化的子程序,完成。另外,要注意,因为程序要显示的数据有些已经大于。型数据到字符串的转化,说明如下。原创 2024-02-22 21:57:12 · 1159 阅读 · 5 评论 -
《汇编语言》- 读书笔记 - 第11章-标志寄存器
本文是《汇编语言》第11章的读书笔记。记录了标志寄存器各位在算术、逻辑运算和比较指令cmp中的作用。探讨了进位加法adc借位减法sbb,条件转移指令je,jne,jz,jnz,ja,jb,jc等。DF在movsb,movsw等串操作指令中作用pushf,popf用法,以及Debug中查看标志寄存器。原创 2024-02-24 19:21:43 · 1014 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第11章-实验11 编写子程序
编写一个子程序,将字符串中的小写字母转大写。字符串以0结尾。原创 2024-02-25 11:15:43 · 530 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第12章 内中断(Internal Interrupt,Interrupt Procedures)
本文是《汇编语言》第12章笔记,介绍了内中断的概念、产生原因和处理机制。包括除法错误、单步执行等。CPU通过中断类型码到中断向量表中查找并执行相应处理程序。进入中断处理程序前需保存寄存器状态,返回时还原。文章还讨论了除法错误中断的处理和0号中断的编程。以及响应中断的特殊情况,重复和锁定前缀指令对中断响应的影响。原创 2024-02-27 14:28:37 · 1146 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第13章-int 指令
本文是《汇编语言》第13章的读书笔记,主要介绍了int指令用于引发特定编号的中断,执行相应的中断处理程序,这些程序通常由系统提供,如BIOS和DOS中断例程。通过实例讲解了如何编写和安装中断例程,例如计算word型数据的平方和将字符串转换为大写。深入分析了int、iret指令和栈的工作原理。7ch,4cH。还探讨了BIOS和DOS中断例程的功能。原创 2024-02-28 15:36:56 · 1363 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第13章-实验13编写、应用中断例程
这是《汇编语言》实验13的读书笔记,实验内容包括创建 int 7ch中断例程并安装到特定的内存位置。它模拟loop指令,在屏幕上显示字符串,包括设置中断向量、中断处理程序的编写,调用。通过实验,读者可以学习如何在汇编语言中处理中断和屏幕显示。原创 2024-02-28 17:30:16 · 492 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第14章-端口
本文是《汇编语言》第14章的笔记,介绍了端口的读写操作,包括使用in和out指令与外部设备通信。解释了CMOS RAM芯片的功能,包括实时钟、BCD码和系统信息存储。探讨了shl和shr指令在数据处理中的作用,以及70h,71h访问CMOS时间60h读扫描码。这些内容为理解CPU与外部设备交互提供了基础。原创 2024-02-29 21:38:52 · 985 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第14章-实验14 访问 CMOS RAM
本实验笔记展示了如何通过汇编语言访问CMOS RAM以读取和显示系统日期和时间。实验涉及编写程序,使用in和out指令从CMOS RAM中获取时间数据,并将这些数据转换为ASCII码格式。最后利用DOS中断21h的9号功能打印出格式化后的日期和时间。原创 2024-02-29 21:31:45 · 502 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第15章-外中断
《汇编语言》第15章读书笔记,主要讨论外中断。介绍了接口芯片和端口在CPU与外设数据交换中的作用,可屏蔽中断和不可屏蔽中断处理流程,STI,CLI指令。阐述了键盘输入的处理,包括扫描码生成和中断响应。最后,通过示例展示了如何编写int9中断例程,在DOS环境下响应特定按键改变屏幕颜色。原创 2024-03-02 10:09:33 · 1056 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第15章-外中断-实验15 安装新的 int9 中断例程
本文提供了一个《汇编语言》实验,目的是在DOS环境中通过安装新的int 9中断例程,实现当用户按下并松开A键时,屏幕上显示满屏的A字符。实验涉及复制中断例程、备份原入口地址、设置中断向量表等步骤。代码示例详细展示了如何通过汇编指令控制中断处理流程,以响应特定按键操作。原创 2024-03-02 10:57:55 · 491 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第16章-直接定址表
这是《汇编语言》第16章读书笔记,探讨了汇编语言中的直接定址表,一种通过索引快速访问特定数据元素的方法。文章通过实例解释了直接定址表的优势,如快速访问、简单实现和内存预分配。同时,介绍了数据标号的使用和跨段访问数据的方法。最后,通过编写中断例程的实验,加深了对直接定址表应用的理解。原创 2024-03-04 21:38:31 · 1138 阅读 · 3 评论 -
《汇编语言》- 读书笔记 - 第16章-实验16 编写包含多个功能子程序的中断例程
这篇文章是《汇编语言》实验16的读书笔记,介绍了如何编写一个包含清屏、设置前景色、背景色和滚动功能的int 7ch中断例程。通过汇编代码,详细展示了中断例程的安装和功能实现,同时解释了ORG指令和直接定址表的使用。文章还探讨了在安装过程中可能遇到的地址问题,并提供了扩展实现的示例,如通过热键设置屏幕。最后,提供了相关资源链接。原创 2024-03-05 15:23:03 · 1043 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第17章-使用 BIOS 进行键盘输入和磁盘读写
本文是《汇编语言》第17章读书笔记,讨论了如何利用BIOS进行键盘输入和磁盘读写。包括键盘扫描码与ASCII转换、键盘缓冲区操作、字符串输入程序设计,以及int 13h磁盘读写的细节。int 16h读取键盘缓冲区判断rgb改变字符颜色等。原创 2024-03-07 16:54:22 · 989 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第17章外传- DOSBox-X 调用 int 13 读写磁盘
DOSBox 中访问int 13h始终没反应。网上查了下有人说是没支持,建议使用DOSBox-X环境状态失败失败:DOS失败VMWare:DOS失败VMWare:XP失败失败成功但不完美于是接下来我进入虚拟机中的XP系统使用DOSBox-X测试结果。DOSBox-X 下载连接EditPlus 文字编辑器 v5.4 汉化特别免费绿色版Editplus 语法高亮文件WinHex v21.0 绿色汉化特别版(无需注册)原创 2024-03-13 15:12:40 · 690 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第17章外传- DOSBox-X 调试自定义中断
《汇编语言》- 读书笔记 - 第17章外传- DOSBox-X 调试自定义中断原创 2024-04-09 12:43:45 · 2115 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第17章-实验17 编写包含多个功能子程序的中断例程
实现通过逻辑扇区号对软盘进行读写。原创 2024-03-08 17:14:57 · 491 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 第17章-课程设计 2(MASM 8086汇编 引导程序)
这是《汇编语言》第17章-课程设计2主要介绍了如何设计一个基础的启动程序,包括3个版本的引导程序。详细展示了启动程序的完整代码,包括基础功能的实现,如菜单绘制、时钟显示、时钟设置和自定义中断处理等。还提供了在DOSBox-X,VirtualBox,VMware中的效果演示和调试方法。还列了参考资料原创 2024-04-09 16:53:54 · 1014 阅读 · 0 评论 -
《汇编语言》- 读书笔记 - 综合研究
这篇博客是《汇编语言》读书笔记,通过研究试验深入探讨了C语言开发环境搭建、寄存器和内存使用、无main函数编程及不定参函数实现。文章详细记录了每个步骤,反汇编分析了C程序执行过程,揭示了系统对象文件c0s.obj的作用,并尝试用汇编实现了一个简易printf函数。原创 2024-04-26 22:32:23 · 899 阅读 · 0 评论