微机原理1Word格式.docx

上传人:b****4 文档编号:16610977 上传时间:2022-11-24 格式:DOCX 页数:15 大小:77.54KB
下载 相关 举报
微机原理1Word格式.docx_第1页
第1页 / 共15页
微机原理1Word格式.docx_第2页
第2页 / 共15页
微机原理1Word格式.docx_第3页
第3页 / 共15页
微机原理1Word格式.docx_第4页
第4页 / 共15页
微机原理1Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

微机原理1Word格式.docx

《微机原理1Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理1Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

微机原理1Word格式.docx

高8位数据选择

/RD:

读信号,三态输出,低电平有效。

/RD=0,表示当前CPU正在对存储器或I/O端口进行读操作。

/WR:

写信号,三态输出,低电平有效。

/WR=0,表示当前CPU正在对存储器或I/O端口进行写操作。

DT//R:

数据发送/接收控制信号

DT//R=1,发送数据----写操作;

DT//R=0,接收数据----读操作。

5.微机的主要性能指标:

字长,主频,运算速度,主存容量

6.字长是微处理器一次可以直接处理的二进制数码的位数,它通常取决于微处理器内部通用寄存器的位数和数据总线的宽度。

8086:

16位CPU。

8088:

准16位CPU。

80386,80486,Pentium32位CPU

7奇偶校验:

在通信中将最高位(D7位)用作奇偶校验位。

偶校验:

包括校验位在内的8位二进制数码中1的个数为偶数。

奇校验:

包括校验位在内的8位二进制数码中1的个数为奇数。

例:

字母A的ASCII码为1000001,偶校验码为01000001,奇校验码为11000001。

8.寄存器分组及主要功能P24

8086CPU中有哪些寄存器?

各有什么用途?

包含4组16位寄存器,分别是通用寄存器、指针和变址寄存器、段寄存器、指令指针和标志寄存器

通用寄存器:

4个16位数据寄存器以存放普通数据和地址,也有特殊用途如

AX(AL)用于输入输出指令,乘除法指令;

BX在间接寻址中用作基址寄存器,用来存放偏移地址;

CX在串操作和循环指令中用作计数器,用于控制循环程序的执行次数

DX用于乘除法指令和I/O端口操作等。

指针和变址寄存器:

BP,SP,SI,DI在间接寻址中用于存放基址和偏移地址。

段寄存器:

DS,CS,SS,ES,存放数据段,代码段,堆栈段,附加段的段地址

指令指针寄存器IP:

用来存放将要执行的下一条指令在现行代码段中的偏移地址。

标志寄存器FLAGS:

用来存放运算结果的特征。

 

9.存储器容量存储容量=存储器单元数×

每单元二进制位数

存储范围计算:

例1(存储器接口分析):

已知一个存储器子系统如下图所示,试指出其中RAM和EPROM的存储容量以及各自的地址范围。

RAM的存储容量为2KB,地址范围为F9000H~F97FFH或

F9800H~F9FFFH。

EPROM的存储容量为4KB,地址范围为FD000H~FDFFFH。

10.汇编语言编程

例1:

当X﹥0时,Y=1;

当X=0时,Y=0;

当X﹤0时,Y=﹣1。

试编写程序完成这一功能。

DATASEGMENT;

段定义语句P119data段名segment+ends

XDB?

伪指令DB定义字节变量,DW字变量,DD双字变量

YDB?

伪指令格式:

名字伪指令符操作数;

注释

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA;

段分配语句P120,4个段寄存器分别与哪个段有关,各段段名用段定义segment和ends定义过的段名

START:

MOVAX,DATA;

立即数不能直接传送给段寄存器P62

MOVDS,AX

MOVAL,X

CMPAL,0;

P75比较

JGENEXT1;

P102JGE/JNL:

带符号数大于等于/不小于转移

MOVAL,0FFH;

小于016进制数字以A-F开头前面必加0区别

JMPEXIT

NEXT1:

JENEXT2;

等于0P101JZ/JE:

结果为零/相等转移

MOVAL,1;

大于0

NEXT2:

MOVAL,0

EXIT:

MOVY,AL

MOVAH,4CH;

返回操作系统P127这种方式程序不要写成proc形式只需给出assume语句,接下来直接给出要执行的指令语句start,代码段结束前就可以返回操作系统

INT21H

CODEENDS

ENDSTART;

end:

程序结束语句

例2:

编制计算下面函数的程序(X、Y均为带符号字节数):

当X≥0、Y≥0时,Z=1;

当X、Y均为负数时,Z=-1;

当X、Y异号时,Z=0。

DATASEGMENT

XDB-8

YDB90

ZDB0

DATAENDS

CODESEGMENT

ASSUMECS:

DATA

START:

MOVAX,DATA

CMPX,0

JLL1;

P102JL/JNGE:

小于/不大于等于,X小于0,转L1

CMPY,0

JLL2;

Y小于0,转L2

MOVZ,1;

X、Y均大于或等于0

L1:

CMPY,0

JGEL2;

Y大于等于0,转L2

MOVZ,-1;

X、Y均为负数

L2:

MOVZ,0;

X、Y异号

EXIT:

MOVAH,4CH

CODEENDS

ENDSTART

求两个数的平均值,这两个数分别在X单元和Y单元中,而平均值放在Z单元中。

假定均为字节数,程序如下:

XDB95

YDB87

ZDB?

MAINPROCFAR;

proc+endp过程定义语句

ASSUMECS:

PUSHDS;

P127远过程返回操作系统

XORAX,AX;

P83XOR:

异或,目的使AX=0

PUSHAX

MOVAX,DATA

ADDAL,Y;

P70两数相加,和送AL=X+Y,进位送CF

MOVAH,0

ADCAH,0;

ADC带进位的加法,进位送AH=AH+源+CF

MOVBL,2

DIVBL;

P79源操作数是字节,16位被除数必存放在AX,商在AL,余数在AH

MOVZ,AL

RET

MAINENDP

CODEENDS

ENDMAIN

(1)用条件控制循环(次数已知)

从BUF开始的10个连续单元中存放有10个无符号字节数,找出其中的最大者送入YY单元中。

XXDB71,32,43,64,195,6,87,19,108,8

N=$-XX;

变量个数,循环次数

YYDB?

MOVAL,XX;

al为第一个变量

LEASI,XX;

P67取有效地址指令指向第一个变量

MOVCX,N-1;

CX控制循环次数

LOP1:

INCSI;

P72增量指令源变址指针SI=SI+1指向第二个变量

CMPAL,[SI]

JAELOP2;

JAE高于等于

MOVAL,[SI];

AL用来装比较后,较大的

LOP2:

DECCX;

减量指令CX=CX-1

JNZLOP1;

不为零

MOVYY,AL

MOVAH,4CH

ENDSTART

(2)用条件控制循环

由于无法确定循环次数,但可以用条件来确定循环是否结束。

从自然数1开始计数,直到累加和大于1000为止,统计被累加的自然数的个数,并把统计的个数送入N单元,把累加和送入SUM单元。

DATASEGMENT

NDW?

SUMDW?

MAINPROCFAR

PUSHDS

MOVAX,0

PUSHAX

MOVAX,0

MOVBX,AX

MOVCX,AX;

AX,BX,CX初始为0

LOP:

INCBX;

增1

ADDAX,BX;

AX为累加和

INCCX;

CX记录累加次数

CMPAX,1000;

累加和小于1000?

JBELOP

MOVN,CX;

累加次数送N单元

MOVSUM,AX

内存中TABLE开始存放0~9的平方值,通过人机对话,当任意给定一个数X(0~9),查表得X的平方值,放在AL中。

程序如下:

P139

TABLEDB0,1,4,9,16,25,36,49,64,81

BUFDB‘Pleaseinputonenumber(0~9):

’,0DH,0AH,’$’;

提示信息

ASSUMECS:

CODE,DS:

START:

MOVAX,DATA

MOVDS,AX;

设置DS

MOVDX,OFFSETBUF;

设置DX,使字符串首地址=DS:

DX

MOVAH,9;

DOS9号功能调用

INT21H;

显示提示信息

MOVAH,1;

键盘输入并显示

INT21H;

1号功能调用,键入数送AL

ANDAL,0FH;

P83逻辑乘(与),AL内存入表内元素序号

MOVBX,OFFSETTABLE;

BX指向表头地址table

MOVAH,0

ADDBX,AX;

表头地址+键入数字,结果存入BX

MOVAL,[BX];

查表得输入数的平方

MOVAH,4CH;

返回DOS

9号功能调用(字符串显示)

MOVDX,待显示字符串首地址

MOVAH,9

功能:

将以‘$’为结束标志的字符串在屏幕上显示。

说明:

(1)执行前要在DS数据段定义一个字符串,该字符串必须在‘$’结尾。

(2)若字符串无‘$’结尾,则在其尾部加一‘$’;

若字符串中间有‘$’,则只能采用2号功能调用逐个字符输出。

1号功能调用(键盘输入并显示)

MOVAH,1

扫描键盘,等待输入,若有键盘按下,则将键值读入并判断是否为Ctrl+Break键,若是,退出;

若不是,则将键值(字符的ASCII码)送AL,同时在CRT上显示该字符

2号功能调用(显示一个字符)

MOVAH,2

MOVDL,待显字符ASCII码

在屏幕上显示字符串“GoodMorning!

①标准结构

DATASEGMENT

MESDB‘GoodMorning!

DB0DH,0AH,’$’

STACKSEGMENT

ST1DB200DUP(?

);

定义200个字节空间

STACKENDS

MAINPROCFAR

DATA,SS:

STACK

PUSHDS

MOVAX,0;

保护PSP段地址

MOVAX,DATA

MOVDX,OFFSETMES

INT21H

RET;

返回到PSP开始处

MAINENDP

ENDMAIN

11.存储器分类:

课本P155

课件:

一、存储器的分类

1、按存储介质分类

半导体存储器、磁表面存储器、光表面存储器

2、按存储器的读写功能分类

只读存储器(ROM)、随机存储器(RAM)

3、按信息的可保存性分类

非永久性记忆的存储器、永久性记忆的存储器

4、按在微机系统中的作用分类

主存储器、辅助存储器、高速缓冲存储器

12.寻址方式(只对源操作数)书后习题

1、直接寻址方式

形式:

MOVAX,[nn]

MOVAX,X

例:

MOVAL,[2000H](默认数据段DS)

将DS:

2000H单元的内容取一个字节送AL

MOVAX,ES:

[2000H](加段超越前缀表明数据段)

将ES:

2000H单元中的内容送入AX

X必须是数据段中用DB定义的变量

2、寄存器间接寻址

寄存器间接寻址方式的操作数形式为:

[reg]操作数的有效地址包含在基址寄存器BX,基址指针BP或一个变址寄存器(SI或DI)中。

寄存器间接寻址要用方括号括起来,以便与寄存器操作数相区别。

MOVAX,[BX]

将由BX决定的存储单元的内容送到AX寄存器。

物理地址计算方法:

物理地址=(DS)*16+(BX)或(SI)或(DI)

物理地址=(SS)*16+(BP)

课件第115页

13.地址译码三种方式:

全译码方式

(除了将地址总线的低位地址直接连至各存储芯片的地址线外,将所有余下的高位地址全部用于译码,译码输出作为各存储芯片的片选信号。

优点:

存储器中每一存储单元都有惟一确定的地址。

缺点:

译码电路比较复杂(相对于部分译码)。

部分译码方式

(只选用地址总线高位地址的一部分(而不是全部)进行译码,以产生各个存储器芯片的片选信号。

片选译码电路比较简单,

存储空间中存在地址重叠区,使用时应予以注意。

线选方式

(将地址总线的高位地址不经过译码,直接将它们作为片选信号接至各存储芯片的片选输入端,即采用线选方式,根本不需要使用片选译码器。

无须使用片选译码器;

存储地址空间被分成了相互隔离的区段,造成地址空间的不连续,给编程带来不便。

14.常用指令集合(循环,跳转)第三章

循环控制指令

(1)LOOP

指令格式:

LOOPLABEL

指令功能:

将CX的内容减1,若CX≠0,则移到LABEL。

(2)LOOPE

LOOPELABEL

CX-1→CX,CX≠0且ZF=1,转移。

(3)LOOPNE

LOOPNELABEL

CX-1→CX,CX≠0且ZF=0,转移。

(4)JCXZ

JCXZLABEL

CX=0,转移。

无条件转移和过程调用:

JMP、CALL、RET

条件转移指令:

比较结果相等:

JZ/JE;

无符号数比较高于:

JA;

高于等于:

JAE;

低于:

JB;

低于等于:

JBE

带符号数比较大于:

JG;

大于等于:

JGE;

小于:

JL;

小于等于:

JLE

15.位扩展:

各存储芯片连接的地址信号、控制信号是相同的,而数据线则分别连接到数据总线的相应位上。

按位扩展法将8片4K×

1位的存储芯片连接扩展成4K×

8位(4KB)存储器的逻辑结构图。

各芯片同时进行相同的操作。

在这种方式中,对存储芯片实际上没有选片的

只进行数据位数的扩展,而整个存储器的字数(存储单元数)与单个存储芯片的字数是

相同的(如本例中两者均为4K)。

在这种连接方式下,地址线的负载数等于芯片数,而数据线的负载数为1。

字扩展:

字扩展法也叫地址串联法。

这种方法将存储器的地址分成两部分,一部分(低位地址部分)接到各存储芯片作为芯片的片内地址,一部分(高位地址部分)经过片选译码器译码后送到各存储芯片的片选输入端;

各存储芯片的数据线中的对应位连接在一起。

用字扩展法将8片2K×

8位的存储芯片连接扩展成16K×

8位的存储器的逻辑结构图。

这种方法进行存储器扩展时,只在字的方向上进行扩充,而存储器的位数不变。

整个存储器的位数等于单个存储芯片的位数。

在这种连接方式下,直接作为片内地址的低位地址线的负载数等于存储芯片数,而参加片选译码的高位地址线的负载数为1;

数据线的负载数也等于芯片数。

从负载角度看,字扩展法不如位扩展法好,但位扩展法中存储器的总容量受芯片容量的限制。

字位扩展

采用字位扩展法,就是既在位方向上进行扩展,又在字方向上进行扩展。

选用8片2K×

1位的存储芯片构成2K×

8位的存储组(位扩展),再用8个这样的存储组构成16K×

8位的存储器(字扩展),整个存储器共计用了64片2K×

1位的存储芯片。

16.串操作的常用寄存器(4个2组)

源操作数由SI间址,在当前数据段DS中;

目的操作数由DI间址,在附加数据段ES中,且不允许段超越。

17.根据程序跳转画出堆栈示意图

TYPE:

取变量或标号的类型属性值。

WORD返回2

OFFSET:

返回变量或标号的偏移地址

LENGTH:

取变量相同类型的个数。

依据数据定义伪指令后第一个表达式的形式而定。

为NDUP(?

)时,取N;

否则取1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1