随笔分类 - Assembly
汇编
摘要:王爽《汇编语言》第四版 超级笔记 第18章 附注内容 18.1 Intel系列微处理器的3种工作模式 微机中常用的Intel系列微处理器的主要发展过程是:8080,8086/8088,80186,80286,80386,80486,Pentium,PentiumII,Pentiumlll,Penti
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第17章 使用BIOS进行键盘输入和磁盘读写 大多数有用的程序都需要处理用户的输入,键盘输入是最基本的输入。程序和数据通常需要长期存储,磁盘是最常用的存储设备。 BIOS为这两种外设的I/O提供了最基本的中断例程,在本章中我们对它们的应用和相关的问题进行讨论。 17
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第16章 直接定址表 16.1 描述单元长度的标号 我们一直在代码段中使用标号来标记指令、数据、段的起始地址。 比如,下面的程序将code段中的a标号处的8个数据累加,结果存储到b标号处的字中。 assume cs:code code segment a: db 1
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第15章 外中断 以前我们讨论的都是CPU对指令的执行。我们知道CPU在计算机系统中,除了能够执行指令,进行运算以外,还应该能够对外部设备进行控制,接收它们的输入,向它们进行输出。 CPU除了有运算能力外,还要有I/O(Input/Output,输入/输出)能力。比
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第14章 端口 我们前面讲过,各种存储器都和CPU的地址线、数据线、控制线相连。CPU在操控它们的时候,把它们都当作内存来对待,把它们总地看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器我们称其为内存地址空间。 在PC机系统中,和CPU通过总线相连的芯片除各种
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第13章 int指令 中断信息可以来自CPU的内部和外部,当CPU的内部有需要处理的事情发生的时候,将产生需要马上处理的中断信息,引发中断过程。 在上一章中,我们讲解了中断过程和两种内中断的处理。 本章我们讲解另一种重要的内中断,由int指令引发的中断。 13.1
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第12章 内中断 任何一个通用的CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部发送过来的或内部产生的一种特殊信息,并且可以立即对所接收到的信息进行处理。 这种特殊的信息,我们可以称其为:中断信息。中断的意思是指,CPU不
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第11章 标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下3种作用。 (1)用来存储相关指令的某些执行结果; (2)用来为CPU执行相关指令提供行为依据; (3)用来控制CPU的相关工作方式。 这种特殊的寄存器在
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第10章 CALL和RET指令 call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP。 它们经常被共同用来实现子程序的设计。这一章,我们讲解call和ret指令的原理。 10.1 ret和retf、call指令 ret指令用栈中的数据,修改IP的内
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第9章 转移指令的原理 可以修改IP,或同时修改CS和IP的指令统称为转移指令。 概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。 8086CPU的转移行为有以下几类。 只修改IP时,称为段内转移,比如:jmp ax。 同时修改CS和IP时,称为段间转
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第8章 数据处理的两个基本问题 本章对前面的所有内容是具有总结性的。 计算机是进行数据处理、运算的机器,那么有两个基本的问题就包含在其中: 处理的数据在什么地方? 要处理的数据有多长? 这两个问题,在机器指令中必须给以明确或隐含的说明,否则计算机就无法工作。 本章中
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第7章 更灵活的定位内存地址的方法 前面,我们用[0]、[bx]的方法,在访问内存的指令中,定位内存单元的地址。 本章我们主要通过具体的问题来讲解一些更灵活的定位内存地址的方法和相关的编程方法。 7.1 and 和 or 指令 首先,介绍两条指令and和or,因为我
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第6章 包含多个段的程序 在操作系统的环境中,合法地通过操作系统取得的空间都是安全的,因为操作系统不会让一个程序所用的空间和其他程序以及系统自己的空间相冲突。 在操作系统允许的情况下,程序可以取得任意容量的空间。 程序取得所需空间的方法有两种:一是在加载程序的时候为
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第5章[BX]和 loop 指令 1、[bx]和 内存单元的描述 [bx]是什么呢?和[0]有些类似,[0]表示内存单元,它的偏移地址是0。 比如在下面的指令中(在Debug中使用): mov ax,[0] 将一个内存单元的内容送入ax,这个内存单元的长度为2字节(
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第4章 第一个程序 4.1 一个源程序从写出到执行的过程 图4.1描述了一个汇编语言程序从写出到最终执行的简要过程。具体说明如下。 第一步:编写汇编源程序。 使用文本编辑器(如Edit、记事本等),用汇编语言编写汇编源程序。 这一步工作的结果是产生了一个存储源程序的
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第3章 寄存器(内存访问) 3.1 内存中的存储:字(word) CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。 在内存中存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字要用两个地址连续的内存单元来存放,这个字的低位字
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 第2章 寄存器 一个典型的CPU由运算器、控制器、寄存器(CPU工作原理)等器件构成,这些器件靠内部总线相连。 第一章所说的总线,相对于CPU内部来说是外部总线。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。简单地说,在CPU中
阅读全文
摘要:王爽《汇编语言》第四版 超级笔记 PS:cnblogs对于markdown页内跳转暂不支持,请在浏览器端该页右下角文章目录按钮进行快速查阅。 第1章 基础知识 1.1 机器语言 机器语言是机器指令的集合。 机器指令展开来讲就是一台机器可以正确执行的命令,计算机的机器指令是一列二进制数字。 现在,在我
阅读全文