《微机原理与接口技术》第一章——微机原理概述

虽然写这个博客主要目的是为了给我自己做一个思路记忆录,但是如果你恰好点了进来,那么先对你说一声欢迎。我并不是什么大触,只是一个菜菜的学生,如果您发现了什么错误或者您对于某些地方有更好的意见,非常欢迎您的斧正!

目录

第1节  基本术语

第2节    微机发展历史

第3节   微机部件和结构

第4节   微机工作原理

第5节  汇编语言【补充】



第1节  基本术语

微机计算机/微机/PC

单片机

单板机

第2节    微机发展历史

世界上第一台计算机——ENIAC

4004:第一款用于计算机的微处理器

8088:1981年首次用于IBM PC机,开创PC机概念

 

IA——Intel Architecture (X86架构)

Inter Architecture 32=I.A.32位

IA-32结构的最重要成就:向后兼容性(“冯·诺依曼”结构+I.A.规范)

IA-32结构起源能追溯到Intel 8088/8086

IA-32结构同时包括16位处理器和32位处理器

内存储器:存有数据和程序

部件之间的交互遵循I.A.规范

个人计算机的标准平台、最成功的CPU架构

其它CPU架构:ARM,MIPS,PowerPC

第3节   微机部件和结构

第4节   微机工作原理

位(bit):一个二进制位,计算机中信息存储的最小单位。

字节(byte):相邻的8个二进制位。(1024字节:1KB,1024KB=1MB,1024MB=1GB)

字(word):2字节

字长:一个字包含的二进制位数。

数字编码

  • 十进制编码(BCD码)

8421BCD码:如83.123对应为1000 0011 . 0001 0010 0011

 

字符编码

ASCII编码

 

计算机的三总线模型

在微机系统中,外部信息的传送是通过总线进行的。

计算机存储器模型

①读操作

②写操作

计算机的模型——执行过程

 

前提:程序已经放在内存中

执行过程:取出指令和执行指令的循环,32位机采用多级流水线

 

机器:停机状态->运行状态

把第一条指令所在的地址赋给PC

进入取指(取出指令)阶段(指令被送到指令寄存器(IR)->译码)

第5节  汇编语言【补充】

寻址方式和指令系统

指令格式及寻址的概念

寻址方式及其应用

各类指令的表示、功能、特点

 

5.1节 寻址方式

 

立即数寻址方式

寄存器寻址方式

存储器寻址方式

MOV AL, 10

 ;十进制数(D)

MOV AL, 00100101B 

;二进制数(B)

MOV AX, 263AH

 ; 十六进制数(H)

INC SI

MOV AX,BX

MOV AL, [2000H]

;AL ← PA=DSx16+ 2000

MOV AX,[SI]

;AX ← DSx16 + [SI],[SI+1]

MOV BH,[BP]

 ;BH ← SSx16 + [BP]

MOV AX, [BX+10H]

 ;EA=(BX)+10H

MOV AX, [BX+SI]

 ; EA=(BX)+(SI) ; DS段

操作数直接存放在指令中,紧跟在操作码之后

①指令中直接给出寄存器名,寄存器的内容即为操作数。

②不需要访问总线周期,因此指令执行速度比较快

③16位操作数:AX、BX、CX、DX、SI、DI、SP、BP等。

④8位操作数:AH、AL、BH、BL、CH、CL、DH、DL等。

①指令直接或间接给出有效地址EA,物理地址PA需计算

②计算物理地址分2步,先计算有效地址EA(与寻址方式有关),再计算物理地址PA(与存放的段有关)

 

存储器寻址方式又可分为

直接寻址方式

寄存器间接寻址方式

寄存器相对寻址方式

基址变址寻址方式

MOV AL,[2000H]

MOV AX,[SI]

;AX ← DSx16 + [SI],[SI+1]

MOV BH,[BP]

;BH ← SSx16 + BP

MOV CX,ES:[BX]

 

MOV AX, [BX+10H]

MOV AX, [BX+SI]

①指令中直接给出有效地址EA:8位或16位位移量

②PA = (段寄存器)X 10H +指令中的EA

③默认方式下:段寄存器是数据段DS

④段跨越:指令增加段寄存器名前缀:CS,ES,SS等

 

①操作数的有效地址EA在寄存器中。

②对16位寻址,EA只能放在DI、SI、BX、 BP中

p若EA在DI、SI、BX中,默认段为数据段DS

p若EA在BP中,默认段为堆栈段SS

③支持段跨越。

 

①给定基址/变址寄存器和相对偏移量,两者之和为EA。

②寄存器BX、SI、DI默认是数据段DS

③寄存器BP默认堆栈段SS。

④支持段跨越

①有效地址EA是基址寄存器与变址寄存器的和。

②默认段由基址寄存器决定。

③支持段跨越。

5.2节 指令格式

基本的汇编语言程序框架

5.3节 常用指令

数据传送:MOV的例子

MOV AL,CH

寄存器间传送字节数据

MOV DS,AX

寄存器→段寄存器

MOV AX,0FF3BH

立即数→寄存器

MOV AL,BUFFER

内存→寄存器

MOV DAT[BP+DI],ES

段寄存器→内存

MOV [1000H],25

立即数→内存

MOV CX, [1000H]

内存→寄存器

使用MOV指令传送数据注意事项

1)段寄存器CS及立即数不能作为目标操作数;

MOV CS, 1000 ;

2)两个存储单元之间不允许直接传送数据;

MOV [1000], [2000] ;

3)立即数不能直接传送到段寄存器;

MOV DS,1000;

4)两个段寄存器之间不能直接传送数据;(段寄存器有CS、DS、SS、ES)

MOV ES,SS

5)传送数据的类型必须匹配;

6)MOV指令不影响标志位

 

堆栈操作指令PUSH/POP 都是对段寄存器SS的处理

进栈指令:PUSH OPR ;SP←SP-2

出栈指令:POP OPR ;SP←SP+2

堆栈以“先进后出”的方式进行数据操作。

堆栈指针寄存器SP始终指向堆栈的栈顶单元

注:

程序中有一个PUSH,必有一个对应的POP。

 

地址传送指令 LEA

指令格式:LEA reg,src

指令功能:将src有效地址EA传送到16位寄存器reg中

猜你喜欢

转载自blog.csdn.net/weixin_40851250/article/details/84069579