文章分类 -  汇编语言

摘要:我们在前面讲过,各种存储器都和 CPU 的地址线、数据线、控制线相连。CPU 在操控它们的时候,把它们都当作内存来对待,把它们总地看做一个由若干个存储单元组成的逻辑存储器,这个逻辑存储器我们称其为内存地址空间。 在 PC 机系统,和 CPU 通过总线相连的芯片除各种存储器外,还有以下 3 种芯片。 阅读全文
posted @ 2017-11-09 08:45 佚名000 阅读(242) 评论(0) 推荐(0)
摘要:中断信息可以来自 CPU 内部和外部,当 CPU 的内部有需要处理的时候发生的时候,将产生需要马上处理的中断信息,引发中断过程。这里,我们讲解另外一种重要的内中断,由 int 指令引发的中断。 13.1 int 指令 int 指令的格式为:int n,n 为中断类型码,它的功能是引发中断过程。 CP 阅读全文
posted @ 2017-11-08 20:34 佚名000 阅读(1417) 评论(0) 推荐(0)
摘要:任何一个通用的 CPU,比如 8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从 CPU 外部发送过来的或内部产生的一种特殊信息,并且可以立即对所接收到的信息进行处理。这种特殊的信息,我们可以称其为:中断信息。中断的意思是指,CPU 不再接着(刚执行完的指令)向下执行,而是转去处 阅读全文
posted @ 2017-11-05 20:41 佚名000 阅读(442) 评论(0) 推荐(0)
摘要:CPU 内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下 3 种作用。 (1)用来存储相关指令的某些执行结果; (2)用来为 CPU 执行相关指令提供行为依据; (3)用来控制 CPU 的相关工作方式。 这种特殊的寄存器在 8086CPU 中,被称为标志寄存器。8 阅读全文
posted @ 2017-11-05 09:06 佚名000 阅读(1291) 评论(0) 推荐(1)
摘要:-r 用这个指令,得到的信息右下角: NV UP EI PL NZ NA PO NC这些符号代表的就是标志寄存器里常用标志位的值。 这个是符号值对应表: 溢出标志OF(Over flow flag) OV(1) NV(0)方向标志DF(Direction flag) DN(1) UP(0)中断标志I 阅读全文
posted @ 2017-11-03 21:40 佚名000 阅读(356) 评论(0) 推荐(0)
摘要:call 和 ret 指令都是转移指令,它们都修改 IP,或同时修改 CS 和 IP。它们经常被用来实现子程序的设计。 10.1 ret 和 retf ret 指令用栈中的数据,修改 IP 的内容,从而实现近转移。 retf 指令用栈中的数据,修改 CS 和 IP 的内容,从而实现近远转移。 CPU 阅读全文
posted @ 2017-11-01 22:14 佚名000 阅读(443) 评论(0) 推荐(0)
摘要:可以修改 IP,或同时修改 CS 和 IP 的指令统称为 转移指令。概况地讲,转移指令就是可以控制 CPU 执行内存中某处代码的指令。 8086CPU 的转移指令有以下几类。 只修改 IP 时,称为段内转移,比如:jmp ax。 同时修改 CS 和 IP 时,称为段间转移,比如:jmp 1000:0 阅读全文
posted @ 2017-10-29 13:19 佚名000 阅读(447) 评论(0) 推荐(0)
摘要:我们知道,计算机是进行数据处理、运算的机器,那么有两个基本的问题就包含在其中: (1) 要处理的数据在什么地方? (2) 要处理的数据有多长? 这两个问题,在机器指令中必须给出明确或隐含的说明,否则计算机就无法工作。 我们定义的描述性符号:reg 和 sreg。 reg 表示一个寄存器,sreg 表 阅读全文
posted @ 2017-10-22 22:28 佚名000 阅读(252) 评论(0) 推荐(0)
摘要:7.1 and 和 or 指令 (1)and 指令:逻辑与指令,按位进行与运算。 例如指令: mov al,01100011B and al, 00111011B 执行后:al=00100011B 通过该指令可将操作对象的相应位设为 0,其他位不变。 (2)or 指令:逻辑或指令,按位进行或运算。 阅读全文
posted @ 2017-10-10 21:25 佚名000 阅读(192) 评论(0) 推荐(0)
摘要:在操作系统环境中,合法地通过操作系统取得的空间都是安全的,因为操作系统不会让一个程序所用的空间和其他程序以及系统自己的空间相冲突。在操作系统允许的情况下,程序可以取得任意容量的空间。 程序取得所需空间的方法有两种,一是在加载程序的时候为程序分配,再就是在程序执行的过程中向系统申请。我们若要一个程序在 阅读全文
posted @ 2017-10-08 16:03 佚名000 阅读(174) 评论(0) 推荐(0)
摘要:1、[bx] 是什么呢?和 [0] 有些类似,[0] 表示内存单元,它的偏移地址是 0。比如下面的指令中(在Debug中使用): mov ax,[0] 将一个内存单元的内容送入 ax,这个内存单元的长度为 2 字节(字单元),存放一个字,偏移地址为 0,段地址在 ds 中。 mov al,[0] 讲 阅读全文
posted @ 2017-10-06 21:53 佚名000 阅读(441) 评论(0) 推荐(0)
摘要:3.1 内存中字的存储 CPU 中,用 16 位寄存器来存储一个字。高 8 位存放高位字节,低 8 位存放低位字节。在内存中存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字需要用两个地址连续的内存单元来存放,这个字的低位字节存放在低地址单元中,高位字节存放在高地址单元中。 字单元的概 阅读全文
posted @ 2017-10-05 12:45 佚名000 阅读(516) 评论(0) 推荐(0)
摘要:1、预备知识:Debug 的使用 (1)、什么是Debug? Debug 是 DOS、Windows 都提供的实模式(8086 方式)程序的调试工具。使用它,可以查看 CPU 各种寄存器中的内容、内存的情况和在机器码级别跟踪程序的运行。 (2)、我们用到的 Debug 功能 R命令:查看、改变 CP 阅读全文
posted @ 2017-10-03 12:19 佚名000 阅读(1333) 评论(0) 推荐(0)
摘要:1、下载安装DOSbox 2、下载debug.exe,把debug.exe拷贝到C盘根目录下 3、打开DOSBox 然后输入mount c d:\ 回车 出现Device C is mounted ….继续c: 回车debug 回车 阅读全文
posted @ 2017-10-03 08:26 佚名000 阅读(139) 评论(0) 推荐(0)
摘要:一个典型的 CPU 由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。内部总线实现 CPU 内部各个器件之间的联系,外部总线实现 CPU 和主板上其他器件的联系。简单地说,在 CPU 中: 运算器进行信息处理 寄存器进行信息存储 控制器控制各种器件进行工作 内部总线连接各种器件,在它们之间 阅读全文
posted @ 2017-10-01 23:22 佚名000 阅读(395) 评论(0) 推荐(0)
摘要:1.1 机器语言 机器语言是机器指令的集合。机器指令展开来讲就是一台机器可以正确执行的命令。电子计算机的机器指令是一列二进制数字。计算机将之变为一系列的高低电平,以便计算机的电子器件受到驱动,进行计算。 上面所说的计算机是指可以执行机器指令,进行运算的机器。这是早期计算机的概念。现在,在我们的PC中 阅读全文
posted @ 2017-09-24 09:19 佚名000 阅读(327) 评论(0) 推荐(0)