摘要:
cpu提供的栈机制 1.8086CPU提供入栈和出栈指令,最基本的两个是PUSH(入栈)和POP(出栈)。比如,push ax表示将寄存器ax中的数据送入栈中,pop ax表示从栈顶取出数据送入ax。8086CPU的入栈和出栈操作都是以字为单位进行的。 2.CPU如何知道这段空间被当作栈来使用?如何 阅读全文
摘要:
1.我们都知道,8086可以访问1MB内存,其中,0xF0000~9FFFF属于常规内存,由内存条提供;0xF0000~0xFFFFF由主板上的一个芯片提供,即ROM-BIOS。这样一来,中间还有一个320KB的空间,即0xA0000~0xEFFFF。传统上,这段地址空间由特定的外围设备来提供,其中 阅读全文
摘要:
例如:ADD R0 [6] (默认第一个操作数即是原操作数,又是目的操作数) 将通用寄存器R0中的数据,与存储器地址为6的数据相加,返回给寄存器R0 假设计算机已有初始值,R0中的值为00000011,PC中的值为0001,存储器地址0001中的指令用10101010指代,具体过程详解:1.取指:控 阅读全文
摘要:
1.1 数据:数据类型关键字 K&C给出了7个与类型相关的关键字。C90标准添加了2个关键字,C99标准又添加了3个关键字。 在C语言中,用int关键字来表示基本的整数类型。后3个关键字(long,short和unsigned)和C90新增的signed用于提供基本整数类型的变式,例如unsigne 阅读全文
摘要:
1.用二进制数表示小数 主要是小数部分乘以2,取整数部分依次从左往右放在小数点后,直至小数点后为0 2.什么是浮点数 浮点数是指用符号,尾数,基数和指数这四部分来表示的小数。因为计算机内部使用的是二进制数,所以基数自然是2。因此,实际的数据中往往不考虑基数,只用符号,尾数,指数这三部分即可表示浮点数 阅读全文
摘要:
1.用二进制数表示计算机信息的原因 计算机内部CPU和内存都是IC的一种,它们都有多个引脚。IC的所有引脚,只有直流电压0V或5V两个状态。也就是说,IC的一个引脚,只能表示两个状态。IC的这个特性,决定了计算机的信息数据只能用二进制数来处理。计算机处理信息的最小单位——位,就相当于二进制中的一位。 阅读全文
摘要:
1.1 CPU的内部结构解析 CPU和内存是由许多晶体管组成的电子部件,通常称为IC(Integrated Circuit,集成电路)。从功能方面来看,CPU的内部由寄存器,控制器,运算器和时钟四部分构成,各部分之间由电流信号相互连通。 寄存器:可用来暂存指令,数据等处理对象,可以将其看做是内存的一 阅读全文
摘要:
链表(通过“指针”将一组零散的内存块串联起来使用。) 三种常见链表结构: 如图所示,你会发现,其中有两个结点比较特殊,他们分别是第一个结点和最后一个结点。我们习惯把第一个结点叫做头结点,把最后一个结点叫做尾结点。其中,头结点用来记录链表的基地址。有了它,我们可以遍历得到整条链表。而尾结点特殊的地方是 阅读全文
摘要:
数组概念: 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 线性表:顾名思义,线性表是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表,队列,栈等也是线性表结构。而与它对立的概念是非线性表,比如二叉树,堆,图等。 阅读全文
摘要:
排列组合问题 排列和组合问题,其实是两种问题,区分它们的原则是是否需要考虑顺序的不同。排列问题,考虑顺序;组合问题,不考虑顺序。 1.排列可重复 那么,何为“可重复”呢?暂且不考虑排列组合,先解释可重复。举个例子,冰淇淋有3种口味可以选择,我可以选择3种相同口味,也可以选择不同口味,每次选择即可相同 阅读全文