汇编语言
文章平均质量分 75
汇编语言学习笔记
班公湖里洗过脚
上马击狂胡,下马草军书
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《汇编语言》第17章——课程设计2
本篇是《汇编语言》的课程设计2阅读下面的材料:开机后,CPU自动进入到FFFF:0单元处执行,此处有一条跳转指令。CPU执行该指令后,转去执行BIOS中的硬件系统检测和初始化程序。初始化程序将建立 BIOS 所支持的中断向量,即将 BIOS 提供的中断例程的入口地址登记在中断向量表中。硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。如果设为从软盘启动操作系统,则int 19h将主要完成以下工作。原创 2025-06-11 22:58:54 · 917 阅读 · 1 评论 -
《汇编语言》第17章 使用BIOS进行键盘输入和磁盘读写——实验17 编写包含多个功能子程序的中断例程
本篇介绍第17章 使用BIOS进行键盘输入和磁盘读写——实验17 编写包含多个功能子程序的中断例程安装一个新的int 7ch中断例程,实现通过逻辑扇区号对软盘进行读写。参数说明:(1)用ah寄存器传递功能号:0表示读,1表示写;(2)用dx寄存器传递要读写的扇区的逻辑扇区号;(3)用es:bx指向存储读出数据或写入数据的内存区。提示,用逻辑扇区号计算出面号、磁道号、扇区号后,调用 int 13h 中断例程进行实际的读写。原创 2025-06-10 14:29:14 · 467 阅读 · 0 评论 -
《汇编语言》第17章 使用BIOS进行键盘输入和磁盘读写
大多数有用的程序都需要处理用户的输入,键盘输入是最基本的输入。程序和数据通常需要长期存储,磁盘是最常用的存储设备。BIOS 为这两种外设的I/O提供了最基本的中断例程,在本章中,我们对它们的应用和相关的问题进行讨论。原创 2025-06-09 15:01:18 · 889 阅读 · 0 评论 -
《汇编语言》第16章 直接定址表——实验16 编写包含多个功能子程序的中断例程
本篇是第16章 直接定址表——实验16 编写包含多个功能子程序的中断例程安装一个新的int 7ch中断例程,为显示输出提供如下功能子程序。(1)清屏;(2)设置前景色;(3)设置背景色;(4) 向上滚动一行。入口参数说明如下。(1)用ah寄存器传递功能号:0表示清屏,1表示设置前景色,2表示设置背景色,3表示向上滚动一行;(2)对于1、2号功能,用al传送颜色值,(al)={0,1,2,3,4,5,6,7}。原创 2025-06-08 14:27:03 · 243 阅读 · 0 评论 -
《汇编语言》第16章 直接定址表
这一章,我们讨论如何有效合理地组织数据,以及相关的编程技术。原创 2025-06-07 16:19:07 · 1211 阅读 · 0 评论 -
《汇编语言》第15章 外中断——实验15 安装新的 int 9中断例程
本篇介绍 第15章 外中断——实验15 安装新的 int 9中断例程,功能:在DOS下,按下"A"键后,除非不再松开,如果松开,就显示满屏幕的"A",其他的键照常处理。提示,按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。断码=通码+80h。指令系统总结原创 2025-06-06 14:26:37 · 389 阅读 · 0 评论 -
《汇编语言》第15章 外中断
以前我们讨论的都是CPU对指令的执行。我们知道,CPU在计算机系统中,除了能够执行指令,进行运算以外,还应该能够对外部设备进行控制,接收它们的输入,向它们进行输出。也就是说,CPU 除了有运算能力外,还要有 I/O(Input/Output,输入/输出)能力。比如,我们按下键盘上的一个键,CPU 最终要能够处理这个键。在使用文本编辑器时,按下a 键后,我们可以看到屏幕上出现"a",是CPU将从键盘上输入的键所对应的字符送到显示器上的。原创 2025-06-05 17:28:35 · 1154 阅读 · 0 评论 -
《汇编语言》第14章 端口——实验14 访问CMOS RAM
本篇介绍第14章的实验14 访问CMOS RAM编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。注意:CMOS RAM中存储着系统的配置信息,除了保存时间信息的单元外,不要向其的单元写入内容,否则将引起一些系统错误。原创 2025-06-04 10:35:24 · 271 阅读 · 0 评论 -
《汇编语言》第14章 端口
我们前面讲过,各种存储器都和CPU的地址线、数据线、控制线相连。CPU在操控它们的时候,把它们都当作内存来对待,把它们总地看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器我们称其为内存地址空间(可参见1.15节)。在PC机系统中,和CPU通过总线相连的芯片除各种存储器外,还有以下3种芯片。(1)各种接口卡(比如,网卡、显卡)上的接口芯片,它们控制接口卡进行工作;(2)主板上的接口芯片,CPU通过它们对部分外设进行访问;(3)其他芯片,用来存储相关的系统信息,或进行相关的输入输出处理。原创 2025-06-03 14:32:03 · 1055 阅读 · 0 评论 -
《汇编语言》第13章 int指令——实验13 编写、应用中断例程
本篇是《汇编语言》第13章 int指令——实验13 编写、应用中断例程(1)编写并安装 int 7ch 中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址。以上中断例程安装成功后,对下面的程序进行单步跟踪,尤其注意观察 int、iret指令执行前后CS、IP和栈中的状态。(2)编写并安装int 7ch中断例程,功能为完成loop指令的功能。参数:(cx)=循环次数,(bx)=位移。原创 2025-06-02 11:31:59 · 310 阅读 · 0 评论 -
《汇编语言》第13章 int指令
中断信息可以来自 CPU 的内部和外部,当 CPU 的内部有需要处理的事情发生的时候,将产生需要马上处理的中断信息,引发中断过程。在第12章中,我们讲解了中断过程和两种内中断的处理。这一章中,我们讲解另一种重要的内中断,由int指令引发的中断。原创 2025-06-01 17:35:16 · 1125 阅读 · 0 评论 -
《汇编语言》第12章 内中断——实验12 编写0号中断的处理程序
本篇是第12章内中断的实验,编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串"divide error!",然后返回到DOS。要求:仔细跟踪调试,在理解整个过程之前,不要进行后面课程的学习。原创 2025-05-31 10:21:34 · 226 阅读 · 0 评论 -
《汇编语言》第12章 内中断
任何一个通用的 CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部发送过来的或内部产生的一种特殊信息,并且可以立即对所接收到的信息进行处理。这种特殊的信息,我们可以称其为:中断信息。中断的意思是指,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊信息。注意,我们这里所说的中断信息,是为了便于理解而采用的一种逻辑上的说法。它是对几个具有先后顺序的硬件操作所产生的事件的统一描述。"中断信息"是要求 CPU马上进行某种处理,并向所要进行的该种处理提供了必备原创 2025-05-30 11:22:24 · 1077 阅读 · 0 评论 -
《汇编语言》第11章 标志寄存器——实验11 编写子程序
本篇是第11章的实验——编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,描述如下。名称:letterc功能:将以0结尾的字符串中的小写字母转变成大写字母参数:ds:si指向字符串首地址原创 2025-05-29 09:44:03 · 362 阅读 · 0 评论 -
《汇编语言》第11章 标志寄存器
CPU 内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下3种作用。(1)用来存储相关指令的某些执行结果;(2)用来为CPU执行相关指令提供行为依据;(3)用来控制CPU的相关工作方式。这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的标志寄存器有16 位,其中存储的信息通常被称为程序状态字(PSW)。我们已经使用过 8086CPU 的 ax、bx、cx、dx、si、di、bp、sp、IP、cs、ss、ds、es 等13个寄存器了,本章中的标志寄原创 2025-05-28 18:07:35 · 923 阅读 · 0 评论 -
《汇编语言》第10章——课程设计1
在整个课程中,我们一共有两个课程设计,编写两个比较综合的程序,这是第一个。任务:将实验7中的 Power idea 公司的数据按照图10.2所示的格式在屏幕上显示出来。原创 2023-01-15 15:30:00 · 645 阅读 · 0 评论 -
《汇编语言》第10章——实验10编写子程序
在这次实验中,我们将要编写3个子程序,通过它们来认识几个常见的问题和掌握解决这些问题的方法。同前面的所有实验一样,这个实验是必须独立完成的,在后面的课程中,将要用到这个实验中编写的3个子程序。原创 2022-05-02 10:28:51 · 5055 阅读 · 0 评论 -
《汇编语言》第10章 call和ret指令
call和ret指令都是转移指令,经们都修改IP,或同时修改CS和IP。它们经常被共同用来实现子程序的设计。这一章,我们讲解call和ret指令的原理。原创 2022-03-13 23:47:01 · 16021 阅读 · 1 评论 -
《汇编语言》第9章——实验9 根据材料编程
本篇介绍《汇编语言》第9章的实验9 ——根据材料编程原创 2022-02-21 23:37:32 · 2148 阅读 · 1 评论 -
《汇编语言》第9章——实验8 分析一个奇怪的程序
本篇介绍《汇编语言》第九章的实验8——分析一个奇怪的程序原创 2022-02-20 23:38:12 · 1149 阅读 · 0 评论 -
《汇编语言》第九章 转移指令的原理
本篇介绍《汇编语言》第九章 转移指令的原理,我们可以修改IP,或同时修改CS:IP和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。原创 2022-02-07 23:25:44 · 1659 阅读 · 0 评论 -
《汇编语言》第8章——实验7 寻址方式在结构化数据访问中的应用
本篇介绍《汇编语言》第8章的实验——寻址方式在结构化数据访问中的应用原创 2022-02-06 20:09:59 · 4630 阅读 · 0 评论 -
《汇编语言》第8章 数据处理的两个基本问题
本章对前面的所有内容是具有总结,主要介绍对8086CPU的两个基本问题进行讨论:(1)处理的数据在什么地方?(2)要处理的数据有多长?原创 2022-02-04 00:19:27 · 1685 阅读 · 0 评论 -
《汇编语言》第7章 更灵活的定位内存地址的方法——实验6
本篇介绍《汇编语言》第7章 更灵活的定位内存地址的方法的实验原创 2022-02-02 21:58:48 · 1197 阅读 · 0 评论 -
《汇编语言》第7章 更灵活的定位内存地址的方法
前面,我们用[0]、[bx]的方法,在访问内存的指令中,定位内存单元的地址。本章我们主要通过具体的问题来讲解一些更灵活的定位内存的方法和相关的编程方法。我们的讲解将通过具体的问题来进行。原创 2022-02-01 18:17:01 · 3018 阅读 · 0 评论 -
《汇编语言》第6章 包含多个段的程序——实验5 编写、调试具有多个段的程序
本章介绍《汇编语言》第6章的实验——实验5 编写、调试具有多个段的程序原创 2022-01-31 23:21:19 · 1203 阅读 · 0 评论 -
《汇编语言》第6章 包含多个段的程序
本章是《汇编语言》第6章,主要介绍汇编语言程序中包含多个段的问题原创 2022-01-30 18:22:36 · 726 阅读 · 0 评论 -
《汇编语言》第5章 [BX]和loop指令——实验4[bx]和loop的使用
本篇是第5章的实验——[bx]和loop的使用原创 2022-01-29 18:55:05 · 1847 阅读 · 0 评论 -
《汇编语言》第5章 [BX]和loop指令
本章讲解[bx]和loop指令的应用、意义和相关的内容,[bx]是什么呢?和[0]有些类似,[0]表示内存单元,它的偏移地址是0;[bx]同样也表示一个内存单元,它的偏移地址在bx中。而loop这个指令表示循环的意思。原创 2022-01-27 23:30:02 · 3029 阅读 · 0 评论 -
《汇编语言》第4章 第一个程序——实验3 编程,编译,连接,跟踪
本篇介绍第4章《第一个程序》的实验,即实验3 编程、编译、连接、跟踪,下面看具体的实验过程:原创 2022-01-27 18:00:08 · 2238 阅读 · 1 评论 -
《汇编语言》第4章 第一个程序
前面我们都是在Debug中写一些指令,在Debug中执行。现在我们将开始编写完整的汇编语言程序,用编译和连接程序将它们编译连接成为可执行文件(如*.exe文件),在操作系统中运行。从这一章开始,我们将编写第一个这样的程序。原创 2022-01-15 19:49:51 · 796 阅读 · 0 评论 -
《汇编语言》第3章 寄存器(内存访问)——实验2 用机器指令和汇编指令编程
本篇介绍第3章的实验,用机器指令和汇编指令编程。原创 2022-01-09 10:18:31 · 1663 阅读 · 0 评论 -
《汇编语言》第3章 寄存器(内存访问)
第2章中,我们主要从CPU如何执行指令的角度讲解了8086CPU的逻辑结构、形成物理地址的方法、相关的寄存器以及一些指令。这一章中,我们从访问内存的角度继续学习几个寄存器。原创 2022-01-01 19:45:00 · 1200 阅读 · 0 评论 -
《汇编语言》第2章 寄存器——实验1 查看CPU和内存,用机器指令和汇编 指令编程
本篇介绍第2章的实验1 查看CPU和内存,用机器指令和汇编 指令编程 实验环境Window10 + DOSBox 0.74原创 2021-12-31 23:54:59 · 4028 阅读 · 0 评论 -
《汇编语言》第2章 寄存器
本章主要介绍CPU的寄存器原创 2021-12-12 23:56:19 · 4109 阅读 · 0 评论 -
《汇编语言》第1章 基础知识
汇编语言是直接在硬件之上工作的编程语言,我们首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程。在本章中,我们对硬件系统结构的问题进行一部分的探讨,以使后续的课程可在一个好的基础上进行。当课彺进行到需要补充新的基础知识(关于编程结构或其他的)的时候,再对相关的基础知识进行介绍和探讨。我们的原则是,以后用的知识,以后再说。原创 2021-12-07 23:45:35 · 885 阅读 · 0 评论
分享