UVA673 Parentheses Balance 书上习题6-1,题比较简单,主要是使用栈这个“后进先出”的数据结构。因为平衡的括号,必然可以在左半括号进行push而右半括号进行pop,当到达序列末尾而栈不空,显然不满足题意了。 抛开题目说几点内容:一是之前看王爽的《汇编语言》,对栈的pop操作 ...
分类:
其他好文 时间:
2017-04-12 03:40:02
阅读次数:
172
引言 CPU 除了有运算能力外,还要有 I/O( Input/Output ,输入/输出)能力。 15.1 接口芯片和端口 在PC系统的接口卡和主板上,装有各种接口芯片。这些外设接口芯片的内部有若干寄存器,CPU将这些寄存器当作端口来访问。 外设的输入不直接送入内存和CPU ,而是送入相关的接口芯片 ...
分类:
编程语言 时间:
2017-02-15 23:32:32
阅读次数:
169
引言 本章中,我们就要针对8086CPU对这两个基本问题进行讨论。虽然讨论是在8086CPU的基础上进行的,但是这两个基本问题却是普遍的,对任何一个处理器都存在。 reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di; sreg的集合包括: ...
分类:
编程语言 时间:
2017-02-01 16:33:55
阅读次数:
268
引言 8086CPU的转移指令分为以下几类: 无条件转移指令 (如:jmp) 条件转移指令 循环指令(如:loop) 过程 中断 9.1 操作符offset 操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址。 9.2 jmp指令 jmp为无条件转移,可以只修改IP,也 ...
分类:
编程语言 时间:
2017-02-01 16:32:43
阅读次数:
239
6.1 在代码段中使用数据 “dw”的含义是定义字型数据。dw即define word。 由于它们在代码段中,程序在运行的时候CS中存放代码段的段地址,所以我们可以从CS中得到它们的段地址。 因为用dw定义的数据处于代码段的最开始,所以偏移地址为0,这8 个数据就在代码段的偏移0、2、4、6、8、A ...
分类:
编程语言 时间:
2017-02-01 12:40:36
阅读次数:
138
5.1 [bx] mov ax,[bx]功能:bx 中存放的数据作为一个偏移地址EA ,段地址SA 默认在ds 中,将SA:EA处的数据送入ax中。 5.2 Loop指令 指令的格式是:loop 标号,CPU 执行loop指令的时候,要进行两步操作: 1.(cx)=(cx)-1; 2.判断cx中的值 ...
分类:
编程语言 时间:
2017-01-30 18:39:11
阅读次数:
258
3.1 内存中字的存储 在0地址处开始存放20000(4E20H): 注意:0号单元是低地址单元,1号单元是高地址单元。 任何两个地址连续的内存单元,N号单元和 N+1号单元,可以将它们看成两个内存单元 ,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元。 3.2 DS和[address ...
分类:
编程语言 时间:
2017-01-30 17:56:04
阅读次数:
302
CPU概述 一个典型的CPU由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。 内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其它器件的联系。 8086CPU有14个寄存器 它们的名称为:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、P ...
分类:
编程语言 时间:
2017-01-30 11:48:27
阅读次数:
242
最近突然对汇编语言开始感兴趣,于是说干就干了。 之前也自学过一点汇编,是跟着王爽老师的《汇编语言(第3版) 》这本书学习的,已经是有5 6前年的样子了。当时觉得这本书写的非常通俗易懂是一本非常好的启蒙书籍,但是最近在翻阅的时候却觉得这本书知识点介绍的非常杂乱没有个章程,感觉像是没组织过一样想到哪里写 ...
分类:
其他好文 时间:
2017-01-18 07:48:54
阅读次数:
154
汇编语言让我们深入了解计算机底层,值得去学习了解。 汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指 ...
分类:
编程语言 时间:
2016-09-15 22:53:13
阅读次数:
266