1. 我们先说一下操作系统的发展史,这样更有利于我们对这个技术脉络的把├——手工打孔 插卡
├——单道批处理├—- 联机处理(可以批量处理作业但是一次只能处理一个作业)
├ ├──– 脱机处理(缓和人机矛盾,使cpu和输入输入设备并行处理)
├——多道批处理
├——分时系统
├——实时系统结构发展经历下面四个阶段:
├—— 无结构...
分类:
其他好文 时间:
2016-05-27 12:19:27
阅读次数:
201
汇编语言 王爽第二版 总结,所以内容都是8086的summary asssembly ,汇编总结
why:
最初始的编程语言就是使用打孔机,打出来的0 1 代码,然后把卡片插入到电脑中运行然后
看输出结果,这种纯01的二进制代码,编写困难调试困难运行结果的显示看着也很蛋疼,就像
一个简单的“hello world”,11个字符,需要11×8个二进制,并且再进行输出,就更麻烦,因为
全...
分类:
编程语言 时间:
2016-05-12 16:54:24
阅读次数:
155
;编写一个通用的子程序实现这个显示字符串的功能,提供灵活的调用接口,使调用者;可以决定显示的位置,内容,颜色assume cs:code,ss:stack,ds:datadata segment db 'welcome to masm!',0 ;要显示的字符串data endsstack segme ...
分类:
编程语言 时间:
2016-05-10 16:42:37
阅读次数:
564
本博文系列参考自>第三版,作者:王爽
本博文将继续介绍另外一种内中断类型,int中断。
13.1 int中断
int指令格式为:int n,其中n为中断类型码。
int n中断过程如下:
取中断类型码n
标志寄存器入栈,TF=0,IF=0
CS,IP入栈
(CS)=(n*4),(IP)=(n*4+2)
上面的代码段运行后将在屏幕中间显示一个’!’,然后再...
分类:
编程语言 时间:
2016-05-03 18:41:46
阅读次数:
291
本博文系列参考自>第三版,作者:王爽
各种存储器都通过地址总线,数据总线以及控制总线与CPU相连。CPU对这些各种存储器组成的存储单元进行统一编址,统一寻址。除了各种存储器和CPU相连之外,还有以下几种芯片和CPU相连:
(1)各种接口卡(比如网卡,显卡)上的芯片,它们控制接口卡工作
(2)主板上的接口芯片,CPU通过它们对部分外设进行访问
(...
分类:
编程语言 时间:
2016-05-03 18:12:29
阅读次数:
167
本博文系列参考自>第三版,作者:王爽
前面已经通过类似[0]和[bx]的方法进行了内存定位了。本章将涉及更多内存地址定位和编程的方法。
7.1 and 和 or 指令
(1) and指令,逻辑按位与指令
例如:
mov al,01100011B
and al,00111011B
执行后 al=00100011B
and指令可以用来将某个数的位置为零。
比如我们要...
分类:
编程语言 时间:
2016-04-29 19:30:14
阅读次数:
284
本博文系列参考自>第三版,作者:王爽
计算机CPU进行数据处理包括两个基本的问题:1.数据在何处? 2.数据有多大? 本章作为一个前面内容的总结性章节,主要来说明这两个问题。我们定义两个符号reg和sreg。其中reg为寄存器,sreg为段寄存器
reg包括:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,...
分类:
编程语言 时间:
2016-04-29 18:20:15
阅读次数:
278
本博文系列参考自>第三版,作者:王爽
可以修改IP寄存器的值,或者同时修改CS与IP的值的指令称为转移指令。转移指令的功能就是使得CPU执行内存中某段特定的指令或程序。
8086CPU的转移行为分为如下几类;
1.只改变IP值,称为段内转移。比如 jmp ax;段内转移又分为短转移和近转移。短转移IP的修改范围为-128~127,近转移IP的修改范围为-32768~32767.
...
分类:
编程语言 时间:
2016-04-29 17:08:27
阅读次数:
300
本博文系列参考自>第三版,作者:王爽
call与ret都是转移指令,它们可以改变IP值,或者同时改变CS与IP的值,往往在程序中使用它们进行子程序模块的设计。
10.1 ret和retf
ret用栈的数据修改IP的内容,实现近转移
retf用栈中的数据修改CS与IP的内容,实现远转移
ret执行步骤:
(1):(IP)=((SS)*16+SP)
(2...
分类:
编程语言 时间:
2016-04-29 16:25:53
阅读次数:
274