微机原理基本概念复习.doc

上传人:李医生 文档编号:5655652 上传时间:2020-07-20 格式:DOC 页数:18 大小:7.30MB
返回 下载 相关 举报
微机原理基本概念复习.doc_第1页
第1页 / 共18页
微机原理基本概念复习.doc_第2页
第2页 / 共18页
微机原理基本概念复习.doc_第3页
第3页 / 共18页
微机原理基本概念复习.doc_第4页
第4页 / 共18页
微机原理基本概念复习.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《微机原理基本概念复习.doc》由会员分享,可在线阅读,更多相关《微机原理基本概念复习.doc(18页珍藏版)》请在三一文库上搜索。

1、1、 字节,字概念,1字节=8位,2、 字长概念:传微处理器一次送二进制数据的位数(总线宽度)。3、 地址空间概念:16根地址线64K,20根地址线1M空间4、 进制间的转换:将十进制数25.5转换为二级制数5、 数值数据的表示:有符号数:补码,n位补码的范围无符号数: FFFFH=655356、 BCD码: 789的压缩BCD码789H7、 ASCII码:789的ASC码373839H8、 求补运算概念9、 8086CPU从功能上来说分成两大部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)总线接口部件由下列4部分组成: 4个段地址

2、寄存器(CS、DS、 ES、SS) 16位的指令指针寄存器 IP(Instruction Pointer) 20位的地址加法器10 辑段概念8086 CPU 的内部结构是16位的,即所有的寄存器都是16位的,而外部寻址空间为1M,需要20位地址线。 为了能寻址1M空间。8086把1M字节空间划分成若干个逻辑段。11 逻辑地址概念2000H:5F62H,则其对应的物理地址:25F62H12堆栈指针:SP与段寄存器SS一起确定在堆栈操作时,堆栈在内存中的位置。SS和SP的初始值决定了堆栈区的大小13 状态标志的意义:即SF、ZF、PF、CF、AF和OF 14 8086引脚:MN/MX、AD15 A

3、D0地址/数据分时复用引脚NMI(Non-Maskable Interrupt)不可屏蔽中断请求,输入、上升沿有效、INTR(Interrupt Request)可屏蔽中断请求,输入、高电平有效,有效时,表示请求设备向CPU申请可屏蔽中断,该中断请求是否响应受控于IF(中断允许标志)、可以被屏蔽掉INTARESET(复位)复位请求,输入、高电平有效,复位后CSFFFFH、IP0000H, 所以自启动程序入口在物理地址FFFF0HINTA(Interrupt Acknowledge)可屏蔽中断响应,输出、低电平有效,有效时,表示来自INTR引脚的中断请求已被CPU响应,CPU进入中断响应周期。A

4、LE(Address Latch Enable)地址锁存允许,输出、三态、高电平有效,脚高有效时,表示复用引脚:AD15 AD0和A19/S6 A16/S3正在传送地址信息,由于地址信息在这些复用引脚上出现的时间很短暂,所以系统可以利用ALE引脚将地址锁存起来M/IO(Input and Output/Memory) I/O或存储器访问,输出、三态,该引脚输出高电平时,表示CPU将访问存储器,这时地址总线A19 A0提供20位存储器地址,该引脚输出低电平时,表示CPU将访问I/O端口,这时地址总线A15 A0提供16位I/O口地址15 多字节数据存放方式: 图中0002H“字”单元的内容为:0

5、002H = 1234H0002H号“双字”单元的内容为:0002H = 78561234H 16 物理地址和逻辑地址的转换例2.1 设代码段寄存器CS的内容为1000H,指令指针寄存器IP的内容为2500H,即CS1000H,IP2500H,则访问代码段存储单元的物理地址为:17 指令周期:是指一条指令经取指、译码、读写操作数到执行完成的过程。若干总线周期组成一个指令周期18 总线周期是指CPU通过总线操作与外部(存储器或I/O端口)进行一次数据交换的过程8086的基本总线周期需要4个时钟周期,4个时钟周期编号为T1、T2、T3和T4总线周期中的时钟周期也被称作“T状态” ,时钟周期的时间长

6、度就是时钟频率的倒数当需要延长总线周期时插入等待状态Tw,CPU进行内部操作,没有对外操作时,其引脚就处于空闲状态Ti 8086如果工作频率1MHZ,1个基本总线周期需要多长时间。19 指令代码由操作码和操作数两部分组成寻址方式:立即数寻址MOV AX,14寄存器寻址:MOV DS,AX直接寻址:MOV AX, 2000H,MOV BX, BUFFER寄存器间接寻址MOV AX, BX寄存器相对寻址MOV AX, SI+06H基址变址寻址方式MOV AX, BX+SI相对基址变址MOV AX, BX+DI+6隐含寻址 MUL BL;(AL)(BL)AX隐含了被乘数AL和乘积AX20 存储器寻址

7、方式中的变量 WVAR DW 1234H;定义16位变量WVAR,具有初值1234H21注意点 1. 区别立即数寻址和直接寻址MOV AX,126MOV AX,1262区别寄存器寻址和寄存器间接寻址 MOV AX,BXMOV AX,BX3双操作数指令中,不能同为存储器操作数。4CS不能为目的寄存器。 最基本的传送指令(MOV) 堆栈指令(PUSH,POP) 数据交换指令(XCHG) 换码指令XLAT非法指令的主要现象: 两个操作数的类型不一致 无法确定是字节量还是字量操作 两个操作数都是存储器 MOV2000H,3000H 立即数直接送段寄存器 MOV DS, 3000H 目标操作数用立即数方

8、式 MOV 2000H, AL 两个操作数都是段寄存器MOV DS, ES 在绝大多数双操作数指令中,目的操作数和源操作数必须具有一致的数据类型,或者同为字量,或者同为字节量,否则为非法指令两个操作数类型不一致MOV AL, 050AH;非法指令,修正:;mov ax,050ahMOV SI, DL;非法指令,修正:;mov dh,0;mov si,dx 当无法通过任一个操作数确定是操作类型时,需要利用汇编语言的操作符显式指明MOV BX+SI, 255;非法指令,修正:;mov byte ptr bx+si,255;byte ptr 说明是字节操作;mov word ptr bx+si,25

9、5;word ptr 说明是字操作 8086/8088指令系统除串操作指令外,不允许两个操作数都是存储单元(存储器操作数)MOV buf2, buf1;非法指令,修正:;假设buf2和buf1是两个字变量;mov ax,buf1;mov buf2,ax;假设buf2和buf1是两个字节变量;mov al,buf1;mov buf2,al 8086指令系统中,能直接对段寄存器操作的指令只有MOV等个别传送指令,并且不灵活MOV DS, ES;非法指令,修正:;mov ax,es;mov ds,axMOV DS, 100H;非法指令,修正:;mov ax,100h;mov ds,ax MOV CS

10、, SI;非法指令;指令存在,但不能执行例3-13 把BLOCK1地址开始的10个字节数据传送到BLOCK2地址开始的10个字节单元处。MOV CX,10MOV SI,OFFSET BLOCK1MOV DI,OFFSET BLOCK2NEXT: MOV AL,SI MOV DI,AL INC SI INC DI DEC CX JNZ NEXT HLT 进栈指令先使堆栈指针SP减2,然后把一个字操作数存入堆栈顶部用堆栈交换AX与CX的值。pushaxpushcxpopaxpopcx交换指令XCHG( xchg al,byte ptr wvar+1;ax=5599h,wvar=6611h;“byt

11、e ptr wvar+1”强制为字节量,只取高字节与AL类型交换,否则数据类型不匹配 例3-18 内存的数据段有一张09的平方表,首地址为TABLE,如图所示,用换码指令实现求数字4的平方。MOV BX,OFFSET TABLEMOV AL,4XLAT加法指令2、减法指令3、乘法指令4、除法指令 加法指令:ADD, ADC和INC 减法指令:SUB, SBB, DEC, NEG和CMP 他们分别执行字或字节的加法和减法运算,除INC和DEC不影响CF标志外,其他按定义影响全部状态标志位例3-32 在数据段从BLOCK开始的存储单元中存放了两个8位无符号数,试比较它们的大小,将较大者传送到MAX

12、单元。LEA BX,BLOCKMOV AL,BXINC BXCMP AL,BXJNC DONEMOV AL,BXDONE:MOV MAX,ALHLT逻辑指令AND、OR、XOR和TEST屏蔽AL寄存器的低四位。 MOV AL,0FF H 1 1 1 1 1 1 1 1 AND AL ,0F0 H 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 例3:使某数的第4、5位置1。 MOV AL,03H 0 0 0 0 0 0 1 1 OR AL,30H 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1例3-47 判断DATA单元的数据是否为0。MOV AX,DATAOR

13、 AX,AXJZ ZERO ZERO: .例4:使某数的D1、D0位取反,其它位不变。 MOV AL,11H 0 0 0 1 0 0 0 1 XOR AL,03H 0 0 0 0 0 0 1 1= 0 0 0 1 0 0 1 0 AND与TEST指令的关系,同SUB与CMP指令的关系一样例7:检测AL中的最低位是否为1,若为1则转移。 MOV AL,data 0 1 0 0 0 0 0 1 TEST AL,01H 0 0 0 0 0 0 0 1 JNZ Next 0 0 0 0 0 0 0 1 Next: MOV BL,0 TEST 通常用于检测一些条件是否满足,但又不希望改变原来操作数的情况

14、,该指令后通常带有条件转移指令。 移位指令:移位指令的第一个操作数是指定的被移位的操作数,可以是寄存器或存储单元;后一个操作数表示移位位数: 该操作数为1,表示移动一位 该操作数为CL,CL寄存器值表示移位位数 (移位位数大于1只能CL表示)SAL SHL SAR SHR 循环移位指令类似移位指令,但要将从一端移出的位返回到另一端形成循环。分为:ROL reg/mem,1/CL;不带进位循环左移ROR reg/mem,1/CL;不带进位循环右移RCL reg/mem,1/CL;带进位循环左移RCR reg/mem,1/CL;带进位循环右移 循环移位指令按指令功能设置进位标志CF,但不影响SF、

15、ZF、PF、AF标志,OF只当CNT=1时有效,移位后当最高有效位发生变化时(如1变0) OF=1, 否则 OF=0 。将DX.AX中32位数值左移一位shl ax,1rcl dx,1控制转移指令 JMP JZ JNZ例3.23 判断是否为字母Y寄存器AL中是字母Y(含大小写),则令AH0,否则令AH1cmp al,y;比较AL与小写字母yje next;相等,转移cmp al,Y ;不相等,;继续比较AL与大写字母Yje next;相等,转移mov ah,-1;不相等,令AH1jmp done;无条件转移指令next:mov ah,0;相等的处理:令AH0done:例3-68 在内存中有一个

16、首地址为 ARRAY 的数据区存放了200 个 8 位 有符号数,统计其中正数、负数、0 的个 数,并分别将统计结果存入PLUS、MINUS和ZERO单元中。XOR AL, ALMOV PLUS,AL MOV MINUS,ALMOV ZERO,ALLEA SI, ARRAY MOV CX, 200CLDLLAB:LODSB OR AL,AL JS MLAB JZ ZLABINC PLUS JMP NEXTMLAB: INC MINUS JMP NEXTZLAB: INC ZERONEXT: DEC CX JNZ LLAB HLT LOOP label;循环指令IRET伪指令:DB ,DW,by

17、te ptr例2:操作数可以是字符串,例如STR DBHELLO汇编后的情况如图:某数据段定义为 DATA SEGMENT S1 DB 0,1,2,3,4,5S2 DB 12345COUNT EQU $-S1 S3 DB COUNT DUP(2)DATA ENDS画出该数据段在存储器中的存储形式DOS系统功能调用介绍(1) 从键盘输入一个字符(功能号=1) MOV AH,1 INT 21H (1) 在显示器上显示一个字符(功能号=2) MOV AH, 2 MOV DL, INT 21H 例:在显示器上显示一个字符A MOV AH, 2 MOV DL, A ;或MOV DL, 41H INT 2

18、1H(2)显示字符串(功能号=9)MOV AH, 9 LEA DX, INT 21H注意:被显示的字符串必须以$结束。4.6.2 分支程序设计4-31 求符号字节数X的绝对值,X用补码表示DATA SEGMENTX DB -50DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,X;取XTEST AL,80H;测试符号位JZ DONE;若大于0,转doneNEG AL;若小于,求补得到|x|MOV X,AL;保存DONE:MOV AH,4CHINT 21HCODE ENDSEND START关于

19、存储器: 扩展存储器所需存储芯片的数量计算: 若用一个容量为mKn位的存储芯片构成容量为MKN位(假设Mm,Nn,即需字位同时扩展)的存储器,则这个存储器所需要的存储芯片数为 (Mm)(Nn)。RAM芯片的容量:为22016b,问(1)该芯片地址线多少,(2)数据线多少SRAM与CPU连接:CPU数据总线不相同,连接不一样。 8086CPU的16数据总线,其高8位数据线D15-D8接存储器的奇地址体 低8位数据线D7-D0接存储器的偶地址体, 根据BHE(选择奇地址库)和A0(选择偶地址库)的不同状态组合决定对存储器做字操作还是字节操作存储器与CPU地址总线的连接: 低位地址线直接和存储芯片的

20、地址信号连接作为片内地址译码 高位地址线主要用来产生选片信号(称为片间地址译码),以决定每个存储芯片在整个存储单元中的地址范围,避免各芯片地址空间的重叠。片选译码的几种方法: 全译码: 所有的地址线全用上,无地址重叠。 部分译码:部分高位地址没有用,存在地址重叠。(3) 全译码,每个存储单元的地址都是唯一的,不存在地址重复,但译码电路可能比较复杂、连线也较多I/O端口与存储器统一编址概念I/O端口独立编址概念 8086采用独立编址I/O端口地址译码的一般原则:把CPU用于I/O端口寻址的地址线分为高位地址线和低位地址线两部分:例6-1,某8088最小系统,I/O接口译码电路如图A0-A9选择端

21、口 CPU和外设间的数据传送方式 程序控制方式 中断控制方式 DMA方式 程序控制方式 无条件传送方式 查询传送方式查询传送方式 CPU从接口中读取状态字 CPU检测状态字 传送数据数据端口状态端口a) 查询式输入的算法: (1)用指令检测 Ready: IN AL , 三态缓冲器(或状态寄存器)的地址 (2)若 Ready = 0,返回(1) (3)若 Ready = 1,发出 IN AL , 输入接口数据寄存器的端口地址。 查询输入:MOV BX,OFFSET STOREIN_TEST:IN AL,状态口地址TEST AL,80HJZ IN_TESTIN AL,数据口地址MOV BX,AL

22、INC BX 查询式输出的接口电路接至D7、b) 查询式输出:MOV BX,OFFSET STOREOUT_TEST:IN AL, 100;状态端口 TEST AL, 80H JNZ OUT_TESTMOV AL,BX OUT 101,AL;数据端口INC BX中断概念:中断向量表是存放中断向量的一个特定的内存区域。 中断向量,就是中断服务子程序的入口地址。 中断向量表:中断服务程序的入口地址(首地址) 逻辑地址含有段地址CS和偏移地址IP(共32位),其中低字是偏移地址、高字是段地址 8086微处理器从物理地址00000H开始,依次安排各个中断向量,向量号也从0开始 256个中断占用1KB区

23、域,就形成中断向量表8259:完全嵌套方式(默认工作方式):中断请求按优先级IR0IR7处理,IR0优先级最高,IR7最低。当有中断发生时,如果有更高级的中断请求到来,会发生中断嵌套。中断结束命令(1)自动中断结束模式(AEOI)自动结束方式 一进入中断就将ISR中对应的状态标志清除,因为ISR是优先仲裁的依据,所以这种方式只能用在不会出现嵌套的简单场合。(2)非自动中断结束方式(EOI) 一般结束方式: 当发出中断结束命令后,用结束指令把当前中断服务寄存器(ISR)中优先级最高的(正在处理的)IS位清除。(最常用)8259初始化:(2)ICW2(中断向量命令字)向8259A写入ICW1命令字

24、后,应立即向8259A送ICW2。ICW2用于确定8259A每根IR线上的中断向量号;(其实确定的是IR0线上的中断向量设置中断向量号n 命令字中,T7T3为中断向量号的高5位,低3位设为0n 根据此命令, 8259A自动确定低3位:IR0为000、IR1为001、IR7为1111)OCW1(中断屏蔽命令字)屏蔽命令字内容写入中断屏蔽寄存器IMRDiMi对应IRi,为1禁止IRi中断;为0允许IRi中断。各位互相独立。8255:例:若要求8255A#1的各个端口处在如下的工作方式:端口A方式0输入 ,端口B方式1输出,端口C(上半部)PC7PC4输出,端口C(下半部)PC3PC0输入解:方式控

25、制字=10010101B或95H,初始化程序:CWREQU 0FBH;8255A#1控制字寄存器端口地址MOV AL,10010101BOUT CWR,AL 例8-2 使端口C的PC7置1的控制字为00001111B,PC3置0控制字00000110。8255控制口地址00EEH:相应的汇编程序为:MOV AL,0FHMOV DX,00EEHOUT DX,ALMOV AL,06HOUT DX,AL注意使端口C按位置位或复位的控制字也是写入至控制字寄存器。例题8-3 8255 工作于方式0,以查询的方式输出,与打印机连接如图所示n 程序:PP:MOV AL,81H;控制字A口输出,c高4位输出,低4位输入,方式0 OUT 0D6H,AL MOV AL,0DH; 00001101B OUT 0D6H,AL;PC6=1,发出STB高电平 MOV CX,100 LEA DI ,DATAPTR;DI指向首地址LPST:IN AL,0D4H;读C口AND AL,04H;查busy信号JNZ LPST;如忙,等待MOV AL,DI;不忙,取出一个字节数据OUT 0D0H,AL;A口输出并锁存字符MOV AL,0CH ;0000 1100BOUT 0D6H,AL;STB=0INC AL;AL=0000 1101OUT 0D6H,AL;STB=1INC DILOOP LPST

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1