第十七章 使用BLOS进行键盘输入和磁盘读写

大多数有用的程序都需要处理用户的输入,键盘输入是最基本的输入。程序和数据都是需要长期存储,磁盘是最常用的存储设备,blos为这两种外设的i/o提供了最基本的中断例程。 17.1int 9中断例程对键盘输入的处理 键盘输入将引发9号中断,BLOS提供了int 9中断例……

第16章 直接定址表

我们之前一直都是使用标号来标记指令,数据,段的起始地址,比如,下面的程序是将code处的a标号处的8个数据累加,结果存储在b标号中。 assume cs:code code segment a:db 1,2,3,4,5,6,7,8 b:dw 0 start:mov si,offset a mov bx,offset b mov……

第十五章 外中断

默认分类
第十五章 外中断

cpu处理有运算能力,还要有I/O(Input/Output,输入/输出)能力。 15.1接口芯片和端口 pc系统的接口卡和主板上,装有各种接口芯片, 这些外设接口芯片的内部有若干的寄存器,cpu把这些寄存器当作端口来访问。 外设的输入不直接送入到内存和cpu,而是送入相……

第十三章 int指令

默认分类
第十三章 int指令

中断信息可以来自cpu的内部和外部,当cpu的内部有需要处理的事情发生时候,将产生需要马上处理的信息,引发中断。 13.1int指令 int指令的格式为:int n,n为中断类型码,他的功能是引发中断过程。 cpu执行int n指令时,相当于引发了一个n号中断的中断过程,……

信息的表示和处理

现代计算机存储和处理的信息都是以二进制信号表示。因为二进制信号能够很容易的被表示,存储和传输。孤立的讲,单个的位不是非常的有用,然而,把位组合在一起,加上一定的解释,即给不同的位模式赋予含义。 我们研究最重要的三种数字表示: 无符号 补码 ……

计算机系统漫游

默认分类
计算机系统漫游

计算机系统是由硬件和系统软件组成的,它们共同工作来完运行应用程序。 我们主要是从一个简单的hello程序出发, 理解从远程hello.c到执行程序hello执行的过程中,整个计算的发生的变化。 #include <stdio.h> int main(){ printf("hello,w……

第十二章 内中断

默认分类
第十二章 内中断

任何一个通用的CPU,比如8086,都具备一种能力,可以执行完当前正在执行的指令后,检测到从CPU外部或内部产生的一种特殊信息,并且可以立即对所接收的信息进行处理。这种特殊的处理方式,我们称为中断信息。中断的意思就是CPU不在接着执行下面的代码,而是……

第十一章 标志位寄存器

CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不通)具有下面3种形式: (1)用来存储相关指令的某一些执行结果 (2)用来为CPU执行相关的指令提供依据 (3)用来控制CPU的相关工作方式 这些特殊的CPU被称为标志寄存器,前面……

第十章 CALL和RET指令

10.8MUL指令 mul指令是乘法指令,用来处理乘法运算的。需要注意以下两点: (1) 两个相乘的数:要么都是8位的,要么都是16位点。如果是8位的,一个默认在al里面,另一个默认在8位的reg中或者内存中;如果是16位的,一个默认在AX中,另一个默认在一个16位的re……

第九章 转移指令的原理

可以修改IP或者同时可以修改CS和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。 8086CPU的转移指令可以分为下面几类: 只是修改IP时,称为段内转移 比如:jmp ax 同时修改CS和IP的,称为段间转移 比如:jmp 1000:0……

抄书笔记-汇编语言 第八章 数据处理的两个基本问题

通过前面的学习,我们知道,在处理数据的时候,有两个基本的问题需要解决: 处理的数据在什么地方? 要处理的数据有多长? 我们定义个reg来表示寄存器,sreg来表示段寄存器: reg主要包括:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di sreg主要包括……

抄书笔记-汇编语言 第七章 更灵活的定位内存地址的方法

前面主要是使用[0],[bx]等方式来定位内存地址,本章将介绍更加详细的方法。 7.1 and和or指令 (1)and指令:逻辑与指令,按位进行与运算,通过该指令可以将操作对象的相应为设置为0,其他位不变 mov al,01100011b and al,00111011b 执行后:al=0010001……

抄书笔记-汇编语言 第六章 包含多个段的程序

在操作系统的环境中,合法地通过操作系统来获取的空间是安全的,因为操作系统不会让一个程序所用的空间和其他的程序以及系统自己的空间相冲突。 程序获取空间有两种方式: 在加载程序的时候为程序分配 程序在执行的过程向操作系统申请 如果需要一个程序在……

抄书笔记-汇编语言 第五章[BX]和loop指令

1.[bx]和内存单元的描述 mov ax,[0] 将一个内存单元的内容送入到ax中,内存单元的大小是2字节(字单元),存放一个字,偏移地址为0,段地址存放在ds中 mov al,[0] 功能同上,只是内存单元的大小是1字节 所以,要完整的描述一个内存单元,需要两种信息: ……

Top