第5章微机原理与接口
微机原理与接口技术
5.2 I/O端口及其编址方式
5.1.2 接口电路中的信息
❖数据信息 ❖状态信息 ❖控制信息
习惯上把分别传送这三种信息的端口称为 数据口、状态口、控制口
1.数据信息
❖ (1)数字量:
通常以8位或16位的二进制数以及ASCII码的形式传 输,主要指由键盘、磁盘、光盘等输入的信息或主 机送给打印机、显示器、绘图仪等的信息。
❖ (2)模拟量:
第5章 输入输出接口
❖5.1 微机接口及接口技术 ❖5.2 I/O端口及其编址方式 ❖5.3 端口地址译码 ❖5.4 CPU与外设之间的数据传送方式
5.1 微机接口及接口技术
• 5.1.1 为什么要设置接口电路 • 5.1.2 接口电路中的信息 • 5.1.3 接口的基本功能 • 5.1.4 接口的基本结构
2. 端口选择功能
❖微机系统中常有多个外设,而CPU在任一 时刻只能与一个端口交换信息,因此需要 通过接口的地址译码电路对端口进行寻址。
3. 信号转换功能
❖外设所提供的数据、状态和控制信号可能 与微机的总线信号不兼容,所以接口电路 应进行相应的信号转换。
4. 接收和执行CPU命令的功能
❖CPU对外设的控制命令一般以代码形式输 出到接口电路的控制端口,接口电路对命 令代码进行识别、分析,分解成若干控制 信号,传送到I/O设备,并产生相应的具 体操作。
模拟的电压、电流或者非电量。对模拟量输入而言, 需先经过传感器转换成电信号,再经A/D转换器变成 数字量;如果需要输出模拟控制量的话,就要进行 上述过程的逆转换。
❖ (3)开关量:
用“0”和“1”来表示两种状态,如开关的通/断、电 机的转/停、阀门的开/关等。
2.状态信息
CPU在传送数据信息之前,经常需要先了解外 设当前的状态。如输入设备的数据是否准备好 、输出设备是否忙等。
微机原理接口
微机原理接口
微机原理接口是计算机系统中用于连接外部设备的接口,用于实现数据和控制信号的传递。
接口通常由硬件和软件组成,硬件部分包括物理接口和逻辑接口。
物理接口是指连接计算机与外部设备之间的电缆、插座、连接器等物理连接部分。
不同的外部设备需要的物理接口类型各不相同,常见的物理接口有USB接口、HDMI接口、VGA接口等。
物理接口的设计需要考虑带宽、传输速率、信号噪声等因素。
逻辑接口是指连接计算机与外部设备之间的软件接口,通过逻辑接口可以实现数据的读写、设备的控制等功能。
逻辑接口通常由驱动程序提供,驱动程序负责将计算机的指令转换为硬件操作,使计算机与外部设备进行有效的交互。
在计算机系统中,各个设备的接口需要进行标准化,以确保不同厂商生产的设备可以互相兼容。
例如,USB接口就是一种标准接口,使得不同品牌的计算机可以连接同一种类型的USB设备。
接口的设计需要考虑可靠性、易用性、扩展性等因素。
良好的接口设计能够提高系统的稳定性和性能,使得不同外部设备能够方便地连接到计算机系统中,为用户带来更好的使用体验。
微机原理与接口技术答案(含详解)
微机原理与接口技术习题课后习题参考答案(含部分详解)第一章(p20)1、参考答案:冯•诺伊曼计算机的设计思想(EDVAC方案:存储程序通用电子计算机方案):①计算机分为计算器、控制器、存储器、输入和输出装置五个部分;②计算机内采用二进制;③将程序存储在计算机内,简称“程序存储”。
其中第三点是冯•诺依曼计算机设计的精华,所以人们又把冯•诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。
冯•诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。
2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。
微型计算机系统结构如下图所示。
3、答案略,见p6~74、答案略,见图2,或教材图1-35、答案略,见p12~136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。
7、参考答案:①PCI(Peripheral Component Interconnect:外围设备互联),是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium 微型计算机。
PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI 总线上。
微机原理与接口技术 第5章课后作业答案
4
D0~ D7 8088系统 BUS
D0~ D7 · · · A0 SRAM 6116
A0 A 10
MEMW
A 10
R/W OE D0~ D7 CS
MEMR
D0~ D7 A0 · · ·
A0 A 10 R/W OE CS
A 10
MEMW MEMR & A 18 A 17 A 19 A 16 A 15 A 14 A 13 A 12 A 11
5.10 74LS138译码器的接线图如教材第245页的图5-47所示,试判断其输出端Y0#、Y3#、Y5#和 Y7#所决定的内存地址范围。
解:因为是部分地址译码(A17不参加译码),故每个译码输出对应2个地址范围: Y0#:00000H ~ 01FFFH 和 20000H ~ 21FFFH Y3#:06000H ~ 07FFFH 和 26000H ~ 27FFFH
5.2 为什么动态RAM需要定时刷新?
解:DRAM的存储元以电容来存储信息,由于存在漏电现象,电容中存储的电荷会逐渐泄漏,从而使信息丢失或出 现错误。因此需要对这些电容定时进行“刷新”。 5.3 CPU寻址内存的能力最基本的因素取决于___________。 解:地址总线的宽度。 5.4 试利用全地址译码将6264芯片接到8088系统总线上,使其所占地址范围为32000H~33FFFH。 解:将地址范围展开成二进制形式如下图所示。 0011 0010 0000 0000 0000 0011 0011 1111 1111 1111
解:
(1)特点是:它结合了RAM和ROM的优点,读写速度接近于RAM,断电后信息又不会丢失。 (2)28F040的编程过程详见教材第222~223页。 5.14 什么是Cache?它能够极大地提高计算机的处理能力是基于什么原理? 解: (1)Cache 是位于CPU与主存之间的高速小容量存储器。 (2)它能够极大地提高计算机的处理能力,是基于程序和数据访问的局部性原理。 5.15 若主存DRAM的的存取周期为70ns,Cache的存取周期为5ns,有它们构成的存储器的平 均存取周期是多少? 解:平均存取周期约为 70×0.1ns + 5×0.9ns =11.5ns。
微机原理及接口技术知识点总结
微机原理及接口技术知识点总结微机原理和接口技术是计算机科学与技术专业中非常重要的一门课程,主要涉及到计算机的基本构造、工作原理和外部接口的设计与应用。
下面将对微机原理和接口技术的知识点进行总结,包括计算机的基本构成、计算机的工作原理、外部接口的设计与应用方面的内容。
一、计算机的基本构成1.主机和外部设备:计算机由CPU、内存、I/O设备组成。
外部设备包括输入设备(如键盘、鼠标)、输出设备(如显示器、打印机)和存储设备(如硬盘、光盘)等。
2.总线系统:计算机的内部通信系统,用于传输数据、地址和控制信号。
3.存储器:包括主存储器(RAM)和辅助存储器(硬盘、光盘等),主要用于存储指令和数据。
4.CPU:计算机的核心部件,包括控制单元和算术逻辑单元,负责执行指令和进行数据处理。
二、计算机的工作原理1.运行过程:计算机的运行过程分为取指令、译码、执行和访存四个阶段,其中取指令和访存是主存和CPU之间的数据交换,译码和执行是CPU对指令的操作过程。
2.指令周期:指令在计算机中的执行单位。
包括取指令周期、译码周期、执行周期和访存周期。
3.指令集结构:计算机支持的指令集合,分为精简指令集(RISC)和复杂指令集(CISC)。
4.中断和异常处理:当计算机发生中断事件(如外部设备请求)或异常情况(如除零错误)时,会中断当前指令的执行,并跳转到相应的中断处理程序或异常处理程序。
三、外部接口的设计与应用1.并行接口:通过多根信号线同时传输数据和控制信号,如并行打印接口(LPT)和辅助存储器接口(IDE)等。
2.串行接口:通过单根信号线逐位传输数据和控制信号,如串行通信接口(COM)和USB接口等。
3.总线接口:用于连接主机和外部设备之间的数据传输,如PCI总线和USB总线等。
4.DMA控制器:直接内存存取控制器,用于实现主存和外设之间的数据直接传输,减轻CPU的负担。
5.中断控制器:用于管理和处理外设的中断信号,实现中断的优先级和响应。
微机原理与接口技术_05半导体存储器
2016/7/16
34
5.5 微机内存空间的形成
2016/7/16
35
5.5.1 8位微机内存空间的形成
• 例 : 要 求 用 2732 和 6116 形 成 16KB 的 ROM 和 8KB 的 RAM,共24KB内存空间,试画出采用全译码法的硬件 连接图并计算每个芯片的地址范围。(详解见课本第 5.5.1节例3) • 解: • (1)总体分析。 • (2)数据线的连接。 • (3)地址线的连接。 • (4)控制线的连接。
2016/7/16
23
5.3.4 电擦写EPROM (E2PROM)
• E2PROM的工作原理与EPROM类似,当浮空栅上没有 电荷时,管子的漏极和源极之间不导电,若设法使浮空 栅带上电荷,则管子就导通。在E2PROM中,使浮空栅 带上电荷和消去电荷的方法与EPROM中是不同的。在 E2PROM中漏极上面增加了一个隧道二极管,它在第二 栅与漏极之间的电压UG作用下(在电场的作用下),可 以使电荷通过它流向浮空栅(即起编程作用);若UG的 极性相反也可以使电荷从浮空栅流向漏极(起擦除作用 )。而编程与擦除所用的电流是极小的,可用极普通的 电源供给UG。
2016/7/16
9
• (5)读写控制电路:用来提供片选和读/ 写控制等信 号,用来完成对被选中单元中各位的读/写操作。 • ( 6 )数据寄存器:用来暂存 CPU 与内存之间进行交 换的数据信息,目的是为了协调CPU与存储器速度上 的差异。 • ( 7 )数据总线:数据总线用来在 CPU 与内存之间传 送数据信息。
2016/7/16 7
5.1.2 存储器的层次结构
• • • • 1)CPU内部寄存器 包括通用寄存器和专用寄存器。 2)Cache 为了提高CPU读写程序和数据的速度,在内存和CPU之间增加了两 级高速缓存(Cache)。 3)内存(主存) 内存和CPU直接进行信息交换,存放当前正在运行的程序及数据。 4)外存(辅存) 外存用于存放当前未运行的程序及数据。 5)虚拟内存 它是指在内存不足的情况下,用硬盘的一部分空间模拟内存的一种虚 设内存,并不是真正的内存。
第5章(6)微机原理与接口技术(第三版)(王忠民)
MAIN PROC FAR ASSUME CX:CODES, DS:DATAS, SS:STACS START: PUSH DS MOV AX, 0 PUSH AX MOV AX, DATAS MOV DS, AX
第5章 汇编语言程序设计
MOV MOV LOOPT:INC ADD CMP JBE MOV MOV RET MAIN ENDP CODES ENDS END START
第5章 汇编语言程序设计
循环控制方法举例
⑴ 用计数控制循环
[例] 在xx单元开始的连续单元中存放有 10个无符号字节数,从中找出最大者送yy单元。
由题意可直接写出数据段如下:
DATA SEGMENT xx DB
49,38,65,12,97,13,55,27,28,85 yy DB ?
DATA ENDS
第5章 汇编语言程序设计
开始
BX←xx的有效地址, AL←[BX],CX←9
BX←BX+1
AL≥ [BX]?
Y
N AL,[BX]中的数交换
CX←CX-1
N CX=0? Y yy←AL
结束
从一批数中求最大者流程图
第5章 汇编语言程序设计
DATA SEGMENT xx DB 49,38,65,12,97,13,55,27,28,85 yy DB ?
微机原理与接口技术课后习题有答案
第一章解:五代,详细见书解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统 ;PC机:PCPersonal Computer机就是面向个人单独使用的一类微机 ;单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等;数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换 ;好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线 ;其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号;解:1用于数值计算、数据处理及信息管理方向;采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段;2用于过程控制及嵌人应用方向;采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电;解:解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU 从繁杂的I/O任务中解脱出来;由10根信号线组成A9-A0;解:BIOS:基本输入输出系统;主要功能:用来驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备解:基本RAM区:640KB保留RAM区:128KB扩展ROM区:128KB基本ROM区:128KB解:1、数—用来直接表征量的大小,包括:定点数、浮点数;2、码—用来指代某个事物或事物的某种状态属性,包括:二进制、八进制、十进制、十六进制;区别:使用场合不同,详见P16.解:123解:原码反码补码+37 00100101/25H 00100101/25H 00100101/25H解:解:无符号数:70D补码有符号数:70DBCD码:46DASCII:F解:1、相加后若出现和大于9,则将和减去10后再向高位进12、若出现组间进位,则将低位加6解:详见课本16页;解:C3 40 20 00D:44Hd:64HCR:0DHLF:0AH0:30HSP:20HNUL:00H解:国标码:36 50H机内码:B6 B0H第3章解:1完整的汇编语言源程序由段组成2一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列3需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点4所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内5通常,程序还需要一个堆栈段开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编解:段定位、段组合和段类型;解:stack segment stackdb 10240stack endsdata segmentstring db 'Hello,Assembly',0dH,0aH,‘$’data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start解:1. EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序2. COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序MASM 需要采用TINY模式解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名 EQU <字符串>符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值;例如:X= 7 ;等效于:X equ 7X= X+5 ;“X EQU X+5”是错误的解:1 al=67h2 ax=133h,dx=4h3 ax=0230h4 al=41h4 ax=7654h解:my1b db 'Personal Computer'my2b db 20my3b db 14hmy4b db 00010100bmy5w dw 20 dupmy6c = 100my7c = <'Personal Computer'>解:利用定位伪指令控制,如org,even,align解:包括逻辑地址和类型两种属性;解:;数据段org 100hvarw dw 1234h , 5678hvarb db 3 , 4buff dd 10 dupmess db 'Hello';代码段mov ax , offset varb + offset messmov ax , type buff + type mess + type vard mov ax , sizeof varw+ sizeof buff+ sizeof messmov ax , lengthof varw+ lengthof vard解:1 1000超过一个字节所能表达的最大整数2SI应为偶数3两个内存单元不能直接运算4应改为al+15条件转移指令后面应接标号,而不是变量解:mov ah,1 ;只允许输入小写字母int 21hsub al,20h ;转换为大写字母mov dl,almov ah,2int 21h ;显示解:mov bx,offset LEDtablemov al,lednumxlat解:mov ax, bufXcmp ax, bufYjae donemov ax, bufYdone: mov bufZ, ax解:.model small.stack.databufX dw -7signX db.code.startupcmp bufX,0 ;test bufX,80hjl next ;jnz nextmov signX,0jmp donenext: mov signX,-1done: .exit 0end解:mov dl,’2’mov ax,bufXcmp ax,bufYje next1dec dlnext1: cmp ax,bufZje next2dec dlnext2: mov ah,2int 21h解:;代码段mov al,numbermov bx,0 ;BX←记录为1的位数restart: cmp al,0 ;AL=0结束jz doneagain: shr al,1 ;最低位右移进入CFjc next ;为1,转移inc bx ;不为1,继续jmp againnext: push axpush bxshl bx,1 ;位数乘以2偏移地址要用2个字节单元jmp addrsbx ;间接转移:IP←table+BX;以下是各个处理程序段fun0: mov dl,'0'jmp dispfun1: mov dl,'1'jmp dispfun2: mov dl,'2'jmp dispfun3: mov dl,'3'jmp dispfun4: mov dl,'4'jmp dispfun5: mov dl,'5'jmp dispfun6: mov dl,'6'jmp dispfun7: mov dl,'7'jmp disp;disp: mov ah,2 ;显示一个字符int 21hpop bxpop axjmp restartdone: …编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中不考虑溢出和进位;;.model small.stack.datab_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数sum db ;预留结果单元.code.startupxor si, si ;位移量清零xor al, al ;取第一个数mov cx, num ;累加次数again: add al, b_datasi ;累加inc si ;指向下一个数loop again ;如未完,继续累加mov sum, al ;完了,存结果.exit 0end求主存0040h:0开始的一个64KB物理段中共有多少个空格;.model small.codestart: mov ax,0040h ;送段地址mov ds, axmov si, 0 ;偏移地址mov cx, si ;计数循环次数xor ax, ax ;空格计数器清零again: cmp byte ptr si, 20h ;与空格的ASCII码比较jne next ;不是空格,转inc ax ;是空格,空格数加1next: inc si ;修改地址指针loop again ;cx=cx-1,如cx=0 退出循环.exit 0end start编写计算100个16位正整数之和的程序;如果和不超过16位字的范围65535,则保存其和到wordsum,如超过则显示‘overflow’;答:;数据段count equ 100parray dw count dup ;假设有100个数据wordsum dw 0msg db ‘overflow’,’$’;代码段mov cx,countmov ax,0mov bx,offset parrayagain: add ax,bxjnc nextmov dx,offset msgmov ah,9int 21h ;显示溢出信息jmp done ;然后,跳出循环体next: add bx,2loop againmov wordsum,axdone: …编程把—个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数;转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000,得到“千位”;依次用余数除以l00、10和l,得到“百位”、“十位”和“个位”; ;.model small.stack 256.dataarray dw ;源字数据dbcd db 5 dup ;五位bcd结果,高对高低对低.code.startupmov dx, array ;取源数据余数mov bx, 10000 ;除数mov cx, 10 ;除数系数mov si, 4 ;目的数据高位位移量again: mov ax, dx ;中存放被除数mov dx, 0div bx ;除于bx,商ax,余数dxmov dbcdsi, al ;商<10,存结果push dx ;暂存余数mov ax, bx ;除数除于10mov dx,0div cx ;除于cx,商ax、余数0存在dxmov bx, ax ;bx是除数pop dxdec si ;目的数据位移量减1jnz againmov dbcd, dl ;存个位数 < 10.exit 0end解:1汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下:过程名PROC NEAR|FAR……;过程体过程名ENDP2保护用到的寄存器内容,以便子程序返回时进行相应的恢复;3改错:crazy procpish bxpush cxxor ax,axxor dx,dxagain:add a,bxadc dx,0inc bxinc bxloop againpop cxpop bx解不需调用HTOASC子程序:again: mov ah,1int 21hcmp al,1bh ;ESC的ASCII码是1bhje donemov dl,almov ah,2int 21h ;是大写字母则转换为小写字母jmp againdone: …解答:asctob procpush cxand dh,0fh ;先转换十位数shl dh,1 ;十位数乘以10采用移位指令mov ch,dhshl dh,1shl dh,1add dh,chand dl,0fh ;转换个位数add dh,dl ;十位数加个位数mov al,dh ;设置出口参数pop cxretasctob endp解:DIPASC proc ;入口参数:AL=要显示的一个16进制数push cxpush dxpush axmov cl,4 ;转换高位shr al,clcall HTOASCmov dl,al ;显示mov ah,2int 21hpop ax ;转换低位call HTOASCmov dl,al ;显示mov ah,2int 21hmov dl,’H’;显示一个字母“H”mov ah,2int 21hpop dxpop cxretDIPASC endpHTOASC proc ;将AL低4位表达的一位16进制数转换为ASCII码and al,0fhcmp al,9jbe htoasc1add al,37h ;是0AH~0FH,加37H转换为ASCII码ret ;子程序返回htoasc1: add al,30h ;是0~9,加30H转换为ASCII码ret ;子程序返回HTOASC endp解:lucase procpush bxmov bx,offset stringcmp al,0je case0cmp al,1jz case1cmp al,2jz case2jmp donecase0: cmp byte ptr bx,0je donecmp byte ptr bx,’A’jb next0cmp byte ptr bx,’Z’ja next0add byte ptr bx,20hnext0: inc bxjmp case0case1: cmp byte ptr bx,0je donecmp byte ptr bx,’a’jb next1cmp byte ptr bx,’z’ja next1sub byte ptr bx,20hnext1: inc bxjmp case1case2: cmp byte ptr bx,0je donecmp byte ptr bx,’A’jb next2cmp byte ptr bx,’Z’ja next20add byte ptr bx,20hjmp next2next20: cmp byte ptr bx,’a’jb next2cmp byte ptr bx,’z’ja next2sub byte ptr bx,20hnext2: inc bxjmp case2done: pop bxretlucase endp解:1用寄存器传递参数:最简单和常用的参数传递方法是通过寄存器,只要把参数存于约定的寄存器中就可以了由于通用寄存器个数有限,这种方法对少量数据可以直接传递数值,而对大量数据只能传递地址采用寄存器传递参数,注意带有出口参数的寄存器不能保护和恢复,带有入口参数的寄存器可以保护、也可以不保护,但最好能够保持一致2用共享变量传递参数子程序和主程序使用同一个变量名存取数据就是利用共享变量全局变量进行参数传递如果变量定义和使用不在同一个源程序中,需要利用PUBLIC、EXTREN声明如果主程序还要利用原来的变量值,则需要保护和恢复利用共享变量传递参数,子程序的通用性较差,但特别适合在多个程序段间、尤其在不同的程序模块间传递数据3用堆栈传递参数参数传递还可以通过堆栈这个临时存储区;主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们采用堆栈传递参数是程式化的,它是编译程序处理参数传递、以及汇编语言与高级语言混合编程时的常规方法解:方法:主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们注意:压栈与弹栈必须要一一对应;解:方法1:neg32 proc ;入口参数:=32位有符号数neg ax ;实现0-功能neg dxsbb dx,0 ;这条指令也可以用dec dx代替retneg32 endp ;出口参数:=32位有符号数的补码方法2:neg32 proc ;入口参数:=32位有符号数not ax ;实现求反加1not dxadd ax,1adc dx,0retneg32 endp ;出口参数:=32位有符号数的补码解:;数据段array db 12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90h ;数组count equ $-array ;数组元素个数result db ;校验和;代码段mov bx,offset array ;BX←数组的偏移地址mov cx,count ;CX←数组的元素个数call checksum ;调用求和过程mov result,al ;处理出口参数mov ax,4c00hint 21h;计算字节校验和的通用过程;入口参数:DS:BX=数组的段地址:偏移地址,CX=元素个数;出口参数:AL=校验和;说明:除AX/BX/CX外,不影响其他寄存器checksum procxor al,al ;累加器清0sum: add al,bx ;求和inc bx ;指向下一个字节loop sumretchecksum endpend解:⑴.model small.stack.datawdata dw 34abh.code.startupmov ax,wdatacall dispa.exit 0;dispa procpush cxpush dxmov cl,4mov dl,ahshr dl,clcall dldispmov dl,ahand dl,0fhcall dldispmov dl,alshr dl,clcall dldispmov dl,aland dl,0fhcall dldisppop dxpop cxretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend⑵.model small.stack.datawdata dw 34abhwordtemp dw.code.startupmov ax,wdatamov wordtemp,axcall dispa.exit 0;dispa procpush cxpush dxmov cl,4mov dl,byte ptr wordtemp+1shr dl,clcall dldispmov dl,byte ptr wordtemp+1and dl,0fhcall dldispmov dl,byte ptr wordtempshr dl,clcall dldispmov dl,byte ptr wordtempand dl,0fhcall dldisppop dxpop cxretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend⑶.model small.stack.datawdata dw 34abh.code.startuppush wdatacall dispapop ax ;add sp,2.exit 0;dispa procpush bpmov bp,sppush axpush cxpush dxmov ax,bp+4mov cl,4mov dl,ahshr dl,clcall dldispmov dl,ahand dl,0fhcall dldispmov dl,alshr dl,clcall dldispmov dl,aland dl,0fhcall dldisppop dxpop cxpop axpop bpretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend解:如果利用共享变量传递函数,且变量定义和使用不在同一个源程序中,需要利用PUBLIC、EXTERN 声明;解:1宏定义由一对宏汇编伪指令MACRO和ENDM来完成,格式如下:宏名MACRO 形参表……;宏定义体ENDM宏定义之后就可以使用它,即宏调用:宏名实参表2宏调用的格式同一般指令一样:在使用宏指令的位置写下宏名,后跟实体参数;如果有多个参数,应按形参顺序填入实参,也用逗号分隔3宏展开:在汇编时,宏指令被汇编程序用对应的代码序列替代,这就是宏展开宏展开的具体过程是:当汇编程序扫描源程序遇到已有定义的宏调用时,即用相应的宏定义体完全替代源程序的宏指令,同时用位置匹配的实参对形参进行取代解:宏调用的参数通过形参、实参结合实现传递,简捷直观、灵活多变;宏汇编的一大特色是它的参数;宏定义时既可以无参数,也可以有一个或多个参数;宏调用时实参的形式也非常灵活,可以是常数、变量、存储单元、指令操作码或它们的一部分,也可以是表达式;只要宏展开后符合汇编语言的语法规则即可;解:宏:仅是源程序级的简化:宏调用在汇编时进行程序语句的展开,不需要返回;不减小目标程序,执行速度没有改变通过形参、实参结合实现参数传递,简捷直观、灵活多变子程序:还是目标程序级的简化:子程序调用在执行时由CALL指令转向、RET指令返回;形成的目标代码较短,执行速度减慢需要利用寄存器、存储单元或堆栈等传递参数选择:宏与子程序具有各自的特点,程序员应该根据具体问题选择使用那种方法;通常,当程序段较短或要求较快执行时,应选用宏;当程序段较长或为减小目标代码时,要选用子程序编写一个宏指令move doprnd,soprnd,它实现任意寻址方式的字量源操作数soprnd送到目的操作数doprnd,包括存储单元到存储单元的传送功能;答:move macro doprnd,soprndmov ax,soprndmov doprnd,axendm定义一个宏logical,用它代表4条逻辑运算指令:and/or/xor/test;注意需要利用3个形式参数,并给出一个宏调用以及对应宏展开的例子;答:logical macro lcode,dopd,sopdlcode dopd,sopdendm例如,如果使用“and ax,bx”指令,可以利用该宏定义,写出宏指令如下:logical and,ax,bx解:utol macrolocal nextcmp al,’A’;小于“A”不转换jb nextcmp al,’Z’;大于“A”不转换ja nextadd al,20h ;是大写字母则转换为小写字母next:endm定义一个宏movestr strn,dstr,sstr,它将strn个字符从一个字符区sstr传送到另一个字符区dstr解:假设它们都在数据段movestr macro strn,dstr,sstrmov cx,dsmov es,cxmov cx,strnmov di,offset dstrmov si,offset sstrcldrep movsb ;;重复传送ES:DI←DS:SIendm第五章解:主存的作用:保存正在使用的、处于活动状态的程序和数据;辅存的作用:长期保存程序文件和数据文件,在需要时将这些文件调入RAM内存并激活使用;cache的作用:提高对存储器的访问速度;虚拟存储:由容量较小的主存和容量较大的辅存构成,其目标是扩大程序员眼中的主存容量;区别:通过存储器访问指令用户可对主存进行随机访问;用户利用操作系统提供的用户命令和功能调用对辅存进行访问;在半导体存储器中,RAM指的是随机存取存储器 ,他可读可写,但断电后信息一般会丢失;而ROM指的是只读存储器 ,正常工作时只能从中读取信息,但断电后信息不会丢失 ;以EPROM芯片2764为例,其存储容量为8K×8位,共有 8 条数据线和 13 条地址线;用它组成64KB的ROM存储区共需 8 片2764芯片; 解:双译码方式使得地址译码器的输出线的数目大为减少,使得芯片设计得时候复杂度就低了;地址线A9~A4根数据线I/O4~I/O1片选CS读写WE解:假想的RAM有12根地址线、4根数据线片选端CS或CE:有效时,可以对该芯片进行读写操作,通过对系统高位地址线的译码来选中各个存储芯片输出OE:控制读操作;有效时,芯片内数据输出,该控制端对应系统的读控制线MEMRMRDC写WE:控制写操作;有效时,数据进入芯片中,该控制端对应系统的写控制线MEMWMWTC解:位片结构:每个存储单元具有一个唯一的地址,可存储1位;4116字片结构:每个存储单元具有一个唯一的地址,可存储多位;2114解:组成单元速度集成度应用SRAM 触发器快低小容量系统DRAM 极间电容慢高大容量系统NVRAM 带微型电池慢低小容量非易失掩膜ROM:信息制作在芯片中,不可更改PROM:允许一次编程,此后不可更改EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程EEPROME2PROM:采用加电方法在线进行擦除和编程,也可多次擦写Flash Memory闪存:能够快速擦写的EEPROM,但只能按块Block擦除解:位扩充——存储器芯片数据位数小于主机数据线数时,利用多个存储器芯片在数据“位”方向的扩充;地址扩充字扩充——当一个存储器芯片不能满足系统存储容量时,利用多个存储器芯片在“地址”方向的扩充组成32KB存储空间,用SRAM 21141K×4需要64个芯片;组成32KB存储空间,用DRAM 411616K×1需要16个芯片;它们都需要进行位扩充和地址扩充解:片选信号说明该存储器芯片是否被选中正常工作,设置它可以比较方便地实现多个存储器芯片组成大容量的存储空间存储器片选信号通常与CPU地址总线的高位地址线相关联,可以采用“全译码”、“部分译码”、“线选译码”方式采用全译码方式可以避免地址重复采用部分或线选译码可以节省译码硬件解:24=16解:解:解:解:解:动态随机存取存储器 DRAM 的存储单元电路动态存储单元是由 MOS 管的栅极电容 C 和门控管组成的;数据以电荷的形式存储在栅极电容上,电容上的电压高表示存储数据 1 ;电容没有储存电荷,电压为 0 ,表明存储数据 0 ;因存在漏电,使电容存储的信息不能长久保持,为防止信息丢失,就必须定时地给电容补充电荷,这种操作称为“ 刷新” 由于要不断地刷新,所以称为动态存储;方法:采用“仅行地址有效”方法刷新;刷新周期:15μs刷新次数:128解:4 256KB A19-A16 4解:访问的局部性原理:在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内;指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次;因此,对这些地址的访问就自然地具有时间上集中分布的倾向;数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中;这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性;cache的作用:提高对存储器的访问速度;虚拟存储:其目标是扩大程序员眼中的主存容量;第七章解:总线:指可以由多个信息处理单元所共享的信息通道;使用特点:⑴在某一时刻,只能由一个主设备控制总线,其他主设备此时可作为从设备出现⑵在某一时刻,只能有一个设备向总线上发送数据,但可以有多个设备从总线上接收数据在各种微机总线中,根据总线连接对象的不同可将它们分为以下几类,它们是:片内总线、芯片总线、板级总线、设备总线和互连总线_;例如,ISA总线属于板级总线,USB总线属于设备总线,I2C总线属于芯片总线;总线中除电源和地线外的信号线,也可按传输信息的不同分为以下3类,即:数据总线、地址总线、控制总线 ;解:分时复用就是一个引脚在不同的时刻具有两个甚至多个作用总线复用的目的是为了减少对外引脚个数在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7 ~ A0,其他时间用于传送8位数据D7 ~ D0 解:并行总线:多维数据通过多根信号线同时进行传递;并行同步传输、并行异步传输见P174;解:见P174.解:总线的性能指标包括:总线宽度、标准传输、时钟同步/异步、总线复用、信号线数、总线控制方式总线宽度:它是指数据总线的根数, 用bit位表示,如8位、16位、32位、64位;解:D0~D7:8位双向数据总线A0~A19:20位输出地址总线ALE:地址锁存允许,每个CPU 总线周期有效IOR:I/O读,输出IOW:I/O写,输出IO CH RDY:I/O通道准备好,输入第九章解:软件延时、不可编程的硬件定时、可编程的硬件定时解:CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号下降沿,计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束计数值减为0,OUT引脚上将产生一个输出信号解:8253每个通道有 6 种工作方式可供选择;若设定某通道为方式0后,其输出引脚为低电平;当写入计数初值并进入减1计数器后通道开始计数, CLK 信号端每来一个脉冲减1计数器就减1;当计数器减为0 ,则输出引脚输出高电平,表示计数结束;8253的CLK0接的时钟,欲使OUT0产生频率为300KHz的方波信号,则8253的计数值应为 5=÷300KHz ,应选用的工作方式是 3解:1 mov al,50hmov dx,207hout dx,almov al,128 ;80hmov dx,205hout dx,al2 mov al,33hmov dx,207hout dx,almov ax,3000h ;不是3000mov dx,204hout dx,almov al,ahout dx,al3 mov al,0b4hmov dx,207hout dx,almov al,02f0hmov dx,206hout dx,almov al,ahout dx,al解:mov al,33hout 0fbh,al ;写入计数器0地址:0fbhmov al,80h ;out 0f8h,al ;写入低字节计数初值mov al,50hout 0f8h,al ;写入高字节计数初值作用:计数器0的计数初值为5080h解计数器0——每隔55ms产生一个IRQ0中断请求计数器1——每隔15μs产生一个DRAM刷新请求计数器2——控制扬声器音调解101个下降沿,还可以采用方式4GATE0接外部启动计数器的控制信号,可以选用方式1或方式5 mov dx,203hmov al,12h ;方式5为1ahout dx,almov dx,200hmov al,64hout dx,al解:计数器0的计数值:5M/1K=5000=1388H方式控制字:00100101=25H、2DH、35H、3DH十进制计数00100100=24H、2CH、34H、3CH二进制计数计数器1的计数值:1000方式控制字:01101001=69H、79H十进制计数 01101000=68H、78H二进制计数MOV DX,0FFF3HMOV AL,25H ;通道0,只写高字节,方式2,十进制OUT DX,ALMOV DX, 0FFF0HMOV AL,50H ;计数初值5000OUT DX,ALMOV DX,0FFF3HMOV AL,69H ;通道1,方式4OUT DX,ALMOV DX, 0FFF1HMOV AL,10H ;计数初值1000OUT DX,AL解:stack segment stackdw 1024 dupstack endsdata segmentfreq dw 8,,,,,,,,data endscode segment 'code'assume cs:code, ds:data,ss:stack start: mov ax,datamov ds,axagain:mov ah,01hin 21hcmp al,1BHjz nextcmp al,31Hjb next1cmp al,38Hja next1and al,0fhmov ah,00hmov si,axmov bx,offset freqmov ax,BX+SIcall speakercall speakonjmp againnext1: call speakoffjmp againnext: mov ax,4c00hint 21hspeaker procpush axmov al,0b6hout 43h,alpop axout 42h,almov al,ahout 42h,alretspeaker endp speakon procpush axin al,61hor al,03hout 61h,alpop axretspeakon endp speakoff procpush axin al,61hand al,0fchout 61h,alpop axretspeakoff endpcode endsend starts 解:1 f 1162f。
微机原理与接口技术
微机原理与接口技术微机原理是指计算机系统的基本结构和工作原理。
计算机系统由中央处理器(CPU)、存储器和输入输出设备等组成。
中央处理器是计算机的核心部件,负责执行指令、进行算术逻辑运算等任务。
存储器则用于存放计算机系统的数据和程序。
输入输出设备用于与外部环境进行信息交互。
计算机系统的工作原理是指计算机是如何根据指令执行任务的。
计算机系统的工作原理包括指令执行的基本步骤、运算器和控制器的工作原理等。
指令执行的基本步骤包括取指令、解码指令、执行指令和访问存储器等。
运算器是处理器的核心部件,它负责进行算术逻辑运算。
控制器则负责解释指令、控制数据的传输和处理过程。
接口技术是指计算机与外部设备之间进行信息交互的技术。
计算机与外部设备之间通过接口进行数据的传输和控制。
接口技术主要包括数据传输和控制信号的定义、数据传送模式的选择、数据传输速率的控制等。
接口技术的设计需要考虑数据的可靠性、传输速率和成本等因素。
计算机系统的存储器与外设的接口是计算机系统与外部设备之间的连接桥梁,用于实现数据的输入输出。
存储器接口负责将数据从存储器传送到处理器,或将数据从处理器传送到存储器。
外设接口则负责将数据从外设传送到处理器,或将数据从处理器传送到外设。
存储器与外设的接口技术需要考虑数据的传输速率、数据的可靠性和接口的成本等因素。
微机原理与接口技术在计算机系统的设计和应用中扮演着重要的角色。
了解微机原理与接口技术,可以帮助人们更好地理解计算机系统的工作原理,从而提高计算机系统的性能和可靠性。
此外,微机原理与接口技术还是计算机系统设计、嵌入式系统开发等领域的基础知识。
总而言之,微机原理与接口技术是计算机科学与技术领域中的重要课程,它涉及了计算机系统的基本结构、指令系统与编码、存储器与外设的接口等内容。
了解微机原理与接口技术可以帮助人们更好地理解计算机系统的工作原理,从而提高计算机系统的性能和可靠性。
希望本文对读者对微机原理与接口技术有所帮助。
微机原理和接口技术-5-2 存储系统
20
Zuo 华中科技大学计算机学院
微机原理与接口技术---Chapter5 存储器
例3 (1)解:如果ROM和RAM存储器芯片都采用 8K×1的芯片,试画出存储器与CPU的连接图。
MREQ# A15-0 R/W#
CPU
D7~D0
OE#
例2解
微机原理与接口技术---Chapter5 存储器
MREQ# A20-0 R/W#
CPU
D7~D0
OE#
A20-18
000
3-8译码器
001
010
A17-0
WE A CS
256K ×8
D
WE A CS
256K ×8
D
WE A CS
256K ×8
D
D7~D0
D7~D0
D7~D0
…
111
WE A CS
如果采用的字节编址方式,则需要20条地址线,因为220=1024K byte。
注:字编址方式时,每个32位字地址能够访问4个字节; 如果按照字节编址方式,则每个地址只对应一个字节, 因此所需的地址数是前者的4倍, 218* 4=220 ,即需要20条地址线)
13
Zuo 华中科技大学计算机学院
微机原理与接口技术---Chapter5 存储器
解:256K*8位SRAM芯片包含18根地址线 (1) 该存储器需要2048K/256K = 8片SRAM芯片; (2) 需要21条地址线, 因为221=2048K, 其中高3位经过译码器输出后用于芯片选择, 低18位作为每个存储器芯片的地址输入。 (3) 该存储器与CPU连接的结构图如下。
微机原理与接口技术
微机原理与接口技术第一章 微型计算机基础1、试说明微处理器、微型计算机和微机系统的概念。
答:微型处理器: ①大规模核心芯片;②由运算器、控制器、寄存器组 组成。
微型计算机是由微型处理器、内存储器、总线、输入输出接口电路组成。
微型计算机系统:①微型计算机;②外部设备和软件组成。
2、两个数1234H 和9ABCH 分别存储在10000H 和21000H 开始的存储单元中,试画图表示存储情况。
3、现代计算机与冯诺依曼计算机的区别?答:①从存储器的结构来讲:冯诺依曼式计算机是单一的,现代计算机的存储器是由内存和外存组成的。
内存储器有主存、高速缓存、寄存器组;外存储器有硬盘、光盘、磁带等光驱。
②从控制器方面来讲:冯诺依曼式计算机通过CPU 集中控制来工作;现代计算机是由分散控制来实现。
③从通信方面来讲:冯诺依曼式计算机是通过CPU 通信;现代计算机通过总线通信。
4、微机系统的工作过程?以一个模型为例如来说明微机的工作过和,假设计算12H + 34 H ,程序如下:MOV AL , 12H ; 将12H 送到累加器中ADD AL , 34H ; 计算12H +34H ,结果送回累加器,编绎后丙坤指令对应的机器指令为:10110000 00010010 “ MOV AL ,12H ”, 00000100 00110100 ; “ ADD AL ,34H “PC :程序计数器 AR : 地址寄存器 AB :地址总线 M:存储器 RD:读 WR:写DB:数据总线 DR:数据缓存器 IR :指令寄存器 ID :指令译码器 PLA:控制信号ALU :运算器34H 12H ... BCH 9AH 10000H 10001H ... 21000H 21001H BOH 12H 04H 34H 10000H 10001H 10002H 10003H①首址在程序计数器PC中,首址送到地址寄存器AR中,PC -> AR,程序计数器加1,PC+1 -> PC,(PC)=10001H,AR -> AB找到存储器M,CPU发读信号,BOH -> DB -> DR -> IR -> ID -> 发出各种控制信号;② PC -> AR,程序计数器加1,PC+1 -> PC,(PC)=10002H,AR -> AB找到存储器M,CPU发读信号,12H -> DB -> DR ->AL;③ PC -> AR,程序计数器加1,PC+1 -> PC,(PC)=10003H,AR -> AB找到存储器M,CPU发读信号,04H -> DB -> DR -> IR -> ID -> 发出各种控制信号;④ PC -> AR,程序计数器加1,PC+1 -> PC,(PC)=10004H,AR -> AB找到存储器M,CPU发读信号,34H -> DB -> DR -> ALU IN1; AL -> ALU IN2ALU IN1 + ALU IN2 = 46H -> AL第二章8086/8088微处理器1、微型计算机的硬件主要由哪里几部分组成?运算器、控制器、存储器、寄存器、输入输出设备。
微机原理与接口技术(楼顺天)-第5章1
74LS245功能
E 0 0 1 DIR 0 1 X A A 方 向 B B
A 、B 边均为高阻
在实际应用中可作为数据总线双向驱 74LS245逻辑及引脚 动器、地址总线或控制总线单向驱动 以及输入端口的接口芯片。
5.2 几种常用芯片
3. 带有三态门输出的锁存器
典型芯片74LS373
时序关系:
OE
1 OE 11 G
在实际应用中可作为地址总线或控制 74LS373逻辑及引脚 总线单向驱动锁存以及输出端口的接 口芯片。
下一节
8086的引脚功能及时序
第五章 总线及其形成
本章要点
本章在讲解总线的定义及分类的基础上,
讨论的总线结构和时序、系统总线的形成方
法是微机应用系统硬件设计的基础。本章主
要内容有:
1. 总线的定义及分类
2.几种常用的接口芯片
本章要点
3. 8086 CPU的引脚功能、系统总线结构 及系统总线时序。其每一部分又从最小 方式系统和最大方式系统两个方面加以 讨论,其中最小方式系统是重点,最大 方式系统可通过与最小方式系统比较异 同来掌握。时序中的读写时序是重点, 要求能够画出读、写时序,同时结合总 线结构理解微处理器执行一条指令的过 程,即微处理器的工作原理。
1.
2.
总线定义及分类
几种常用芯片
3.
4.
8086的引脚功能及时序
系统总线的形成
5.
8088与8086的差异
5.1 总线定义及分类
1、总线定义
总线是一组公用导线,是计算机系统的重要
组成部分。它是计算机系统中模块(或子系统)
之间传输数据、地址和控制信息的公共通道。通
过总线,可以实现各部件之间的数据和命令的传
微机原理 第五章 IO接口
控 制 逻 辑
8 8
IOR IOW
I/O 端口 (256个) 个
(3)使用专用I/O指令和 (3)使用专用I/O指令和 使用专用I/O 存储器访问指令有明显 区别, 区别,可使编制的程序 清晰易懂,便于检查. 清晰易懂,便于检查.
隔离I/O I/O方式 5.2.2 隔离I/O方式
5-16
2.缺点: 2.缺点: 缺点
AB 存储器 存 储 空 间 DB MPU
读 /写 I/O 端口 RD 源自R 控制 逻辑控制5.2.1 存储器映象方式
5-12
1.优点: 1.优点: 优点
AB 存储器 存 储 空 间 DB MPU
读 /写 I/O 端口 RD WR 控制 逻辑
控制
I/O操作与存储器操作完 (1) I/O操作与存储器操作完 全相同,无需使用专用I/O指 全相同,无需使用专用I/O指 I/O 令,而存储器操作指令及其寻 址方式非常丰富,从而使I/O 址方式非常丰富,从而使I/O 功能增强,编程方便,灵活. 功能增强,编程方便,灵活. I/O端口数目 端口数目( (2) I/O端口数目(即外设数 只受总存储容量的限制, 目)只受总存储容量的限制,大 大增加了系统的吞吐率. 大增加了系统的吞吐率. (3) 使微机系统的读写控制 逻辑简单. 逻辑简单.
存储器 (1MB)
控制
MEMR MEMW
控 制 逻 辑
8 8
IOR IOW
有两个地址空间, 有两个地址空间, 使用不同的读写 MPU 使用不同的读写 控制信号访问存储器 I/O端口 端口. 和I/O端口. MPU访问I/O端口必 访问I/O MPU访问I/O端口必 须采用专用I/O指令. 须采用专用I/O指令. I/O指令
微机原理与接口技术(第二版)课后习题答案
微机原理与接口技术(第二版)课后习题答案第1章作业答案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?解:把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。
微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。
微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解:CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。
其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3 微型计算机采用总线结构有什么优点?解:采用总线结构,扩大了数据传送的灵活性、减少了连线。
而且总线可以标准化,易于兼容和工业化生产。
1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?解:数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。
它们主要靠信号的时序来区分。
通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。
1.8在给定的模型中,写出用累加器的办法实现15×15的程序。
解: LD A, 0LD H, 15LOOP:ADD A, 15DEC HJP NZ, LOOPHALT第 2 章作业答案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?解:80386、30486、Pentium、Pentium Pro、Peruium II 、PentiumIII、Pentium4。
2.6 IA-32结构微处理器有哪几种操作模式?解:IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。
微型计算机原理-第5章(2)微机原理与接口技术(第三版)(王忠民)
DS、
INT
ES
数2…0据H
PSP(256 字节)
附段加
CSS:SPSIP定义了代 堆段段段堆码栈栈段的用程用序户
户程序装入情况
第5章 汇编语言程序设计
DSEG SEGMENT STRING1 DB 1,2,3,4,5
DSEG ENDS ESEG SEGMENT
STRING2 DB 5 DUP(?) ESEG ENDS SSEG SEGMENT
CPU、存储器(ROM、RAM)、I/O接口、输入、输出设备
上机过程
第5章 汇编语言程序设计
编辑程序 编辑
汇编程序 汇编
连接程序 连接
手写程序
EDIT .ASM文件
MASM .OBJ文件
LINK .EXE文件
有语法错误 无法正常连接 有算法错误
第5章 汇编语言程序设计
用户程序的装入
完成以下操作: 确定内存可用部分 以便存放要执行的 .exe 文
INC
BX
ADD AL,[BX]
MOV SUM,AL
RET
ENDP CODE END
MAIN
ENDS START
第5章 汇编语言程序设计 第二讲结束
每一种知识都需要努力, 都需要付出,感谢支持!
知识就是力量,感谢支持!
一一一一谢谢大家!!
STACK‘STACK’ DW 10 DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG ASSUME ES:ESEG,SS:SSEG
START: MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX
LEA SI, STRING1
微机原理与接口课件5
• (2)C ASM CL /Fa开关; TCC ---B ;
• (3)ASM 编程 (高级语言嵌入小汇编程序模块)
•
MASM TASM ASM;
•汇编程序(MS-MASM 4.0/5.0 6.11/6.14/6.15)
•ASM86(小,无宏MICRO支持)
•TASM5.0)
•汇编程序用途
•段名 • 3.2 汇编语言源程序格式
•合成运算符 可规定存储器操作数的某个属性,例如类型
。
•
PTR、THIS、SHORT (类似类型强制转换
)
• INC WORD PTR [BX]
•ADD BYTE PTR[ 1000H], 38H
• 源程序格式 操作数(4 •(5)表达式)(续) 分析运算符
•OFFSET 可以得到一个标号或变量的偏移地址(定位后已知)
• [.8087 .80287, .80387]—配对
• 源程序格式 伪操作命令
数据定义(分配) DB(字节) DW(字) DD(双字
) DQ (4字/8字节)DT (十字节HEX) DB 30,20H,111110B, 3 DUP(xx/?);DB ?,? DW ?,?,?, LABEL(偏移量) DD LABEL ;四字节
• 源程序格式 操作数(7)
•合成运算符号 PTR/THIS/HIGH/LOW/$
•PTR (强制)指定MEM操作数类型,不明或强制
• MOV AX,[BX]----INC BYTE/WORD PTR [BX]
•THIS(同C中UNION联合体)
• 同一变量区,可按不同类型访问(BYTE/WORD/DWORD )
• ---常数/寄存器/标号/变量/表达式
微机原理及接口技术课件第5章 存储器
引脚号
2764
27128
27256
27512
引脚号
2764
27128
27256
27512
1
VPP
VPP
VPP
A15
15
D3
D3
D3
D3
2
A12
A12
A12
A12
16
D4
D4
D4
D4
3
A7
A7
A7
A7
17
D5
D5
D5
D5
4
A6
A6
A6
A6
18
D6
D6
D6
D6
5
A5
A5
A5
A5
19
D7
D7
D7
D7
6
A4
例如:6264静态RAM的容量为8K x 8bit NMC41257的容量为256K x 1bit
某一芯片有多少个存储单元,每个存储单元存储若干位,由于其数值一般 都比较大,存储容量常以字节(Byte)表示。因此常以K表示210,以M表示 220,G表示230。如256KB等于256×210×8bit,32MB等于32×220×8bit。
A4
行 译
存储器阵列
VCC
…
…
码
128x128
GND
A10
WE
I/O1
…
…
…
输入数 据控制
列I/O 列译码
OE
I/O8
CE
…
… …
…
CE
1
WE
0 0
& 0
A0A1A2A3
0
微机原理与接口技术第五章存储器
数据只能读出不能写入,断电后数据不丢 失,常用作固定数据存储。
RAM的分类与特点
静态随机存取存储器(SRAM)
动态随机存取存储器(DRAM)
速度快,集成度低,功耗大,常用作高速 缓冲存储器。
速度较慢,集成度高,功耗小,常用作主 存储器。
异步随机存取存储器(DRAM)
只读存储器(ROM)
速度慢,集成度高,功耗小,价格便宜, 常用于大容量存储。
01
02
03
存储器接口是CPU与主 存储器之间的连接桥梁 ,负责数据的传输和控
制。
存储器接口的主要功能 包括地址译码、数据传
输、读写控制等。
存储器接口的信号线包 括地址线、数据线、控 制线等,用于实现CPU 与主存储器之间的信息
交换。
存储器接口的信号线
01
02
03
地址线
用于传输CPU发出的地址 信号,指向主存储器中的 某个单元。
高密度化
随着技术的不断发展,存储器的容量和集成度将不断提高,以满 足不断增长的数据存储需求。
异构存储集成
未来存储器将朝着异构存储集成的方向发展,结合不同类型存储 器的优点,实现更高效、可靠的数据存储。
新型存储技术
新型存储技术如相变存储器、阻变存储器和闪存等将继续得到发 展,并逐渐应用于商业领域。
04
存储器接口
04
存储器接口
存储器接口的基本概念
01
02
03
存储器接口是CPU与主 存储器之间的连接桥梁 ,负责数据的传输和控
制。
存储器接口的主要功能 包括地址译码、数据传
输、读写控制等。
存储器接口的信号线包 括地址线、数据线、控 制线等,用于实现CPU 与主存储器之间的信息
微机原理与接口技术(习题答案)
源操作数:直接寻址;目的操作数:寄存器寻址
⑸ MOV [BX+SI+8], BX
源操作数:寄存器寻址;目的操作数:基址加变址寻址
2.若AX=0ABCDH,BX=7F8FH,CF=1。求分别执行8086 CPU指令
⑴ ADDAX,BX⑵ ADCAX,BX
⑶ SBBAX,BX⑷ NEGAX
⑶ JUM 2200H⑷ LESDI,[2100H]
⑸ MOV [BX+SI+8], BX
解答
⑴ MOV BX, WORD PTR[2200H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑵ AAA
源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址
⑶ JUM 2200H
程序转移段内直接寻址方式
⑸ AND AX,BX⑹ ORAX,BX
⑺ XORAX, BX⑻ IMUL BL
后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态。
解答
⑴ AX=2B5CH,SZAPCO=001110B
⑵ AX=2B5DH,SZAPCO=001010B
⑶ AX=2C3DH,SZAPCO=001001B
⑷ AX=5433H,SZAPCO=001110B
⑸ AX=2B8DH,SZAPCO=00X100B
⑹ AX=FFCFH,SZAPCO=10X100B
⑺ AX=D222H,SZAPCO=10X100B
⑻ AX=3283H,SZAPCO=XXXX11B
3.若AL=78H,BL=87H,
⑴求执行指令
ADD AL,BL
Jmp exit
P1: cmp NUMBER, Y
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.2.1 指令格式
1. 指令和指令系统 2. 指令格式
1) 2) (1) (2) 80x86微处理器机器指令 Pentium指令的一般格式 指令周期。 机器周期。
8
3.指令周期和机器周期
5.2.2 指令流水线和并行控制
1.指令流水线 2.流水线作业 3.8086微处理器的流水线 4.80486流水线
(1) (2) (3) (4) (5) 预取步骤(fetch stage)。 D1步骤。 D2步骤。 EX步骤。 WB步骤。
5.Pentium系列微处理器的整数部件流水线结构
9
5.2.3 寻址方式
寻址方式是指令中用于说明操作数所在地址的 方法。 方法。
1. 立即寻址 2. 寄存器寻址 3. 直接寻址 4. 寄存器间接寻址 5. 寄存器相对寻址 变址寻址 寄存器相对寻址(变址寻址 变址寻址) 6. 基址加变址寻址 7. 相对基址加变址寻址 8. 比例变址寻址
第5章 汇编语言基础
教学提示: 教学提示:
本章内容包括汇编语言的基本概念、80x86指令系 统及指令的应用、汇编语言语句和组成、伪指令操 作的定义和用途。学习完这些内容后,读者对计算 机汇编语言将会有一个比较全面的了解。
教学目标: 教学目标:
理解并掌握汇编语言的基本概念、80x86指令系统 及指令的应用、汇编语言语句和组成、伪指令操作 的定义和用途,从而为学习汇编语言程序设计打下 坚实的基础。
3. 乘法指令
1)MUL指令 2)其他乘法指令
4. 除法指令
1)DIV指令 2)其他除法指令
5. 十进制调整指令
1)DAA指令 2)DAS指令 3)AAA指令 4)AAS 5)AAM指令 6)AAD指令
14
5.3.3 逻辑运算和移位指令
1. 逻辑运算指令
1) 2) 3) 4) 5) 1) 2) 3) 4) NOT指令 AND指令 OR指令 XOR指令 TEST指令 SAL/SHL指令 SAR指令 SHR指令 循环移位指令
19
5.4 80x86宏汇编语言伪指令
汇编语言源程序是由这两种语句按照一定的格 式组成的语句序列。 式组成的语句序列。本节重点介绍其常用的指 令及其用法。 令及其用法。 宏是源程序中一段有独立功能的程序代码。它 宏是源程序中一段有独立功能的程序代码。 只需在源程序中定义一次,就可以多次调用它, 只需在源程序中定义一次,就可以多次调用它, 调用时只需要一个宏指令就可以了。 调用时只需要一个宏指令就可以了。
20
5.4.1 宏汇编语言的数据和表达式
1. 常数 2. 变量 3. 标号 4. 表达式和运算符
1)算术运算符 2)逻辑运算符 3)关系运算符
5. 数值回送运算符
1)OFFSET 2)SEG 3)TYPE 4)LENGTH 5)SIZE
6. 指定属性操作符
1)PTR 2)THIS 3)SHORT 4)HIGH和LOW 5)段属性
1)SEGMENT和ENDS 和
(1) (2) (3) 定位类型。 定位类型。 组合类型。 组合类型。 类别。 类别。
2)ASSUME语句 语句 3)GROUP语句 语句 4)ORG语句 语句
5. 结束语句
22
5.4.3 宏指令语句
1. 宏定义 2. 宏调用 3. 宏扩展 4. 常用宏指令
23
5.5 例题解析与习题
21
5.4.2 伪指令语句
1. 符号定义伪指令
1)等值语句 2)等号语句 等号语句
2. 变量定义伪指令
(1)地址表达式。 地址表达式。 地址表达式 (2)ASCII码字符串表达式。 码字符串表达式。 码字符串表达式 (3)?表达式。 ?表达式。 (4)n DUP(?)表达式。 表达式。 表达式
3. 标号定义伪指令 4. 段定义语句
5.5.1 例题解析
参见教材P131
5.5.2 习题
1. 填空题 2. 选择题 3. 判断题 4. 简答题 参见教材P132
24
2
5.1 汇编语言的基本概念
计算机的基本操作是由二进制代码来实现的。 计算机的基本操作是由二进制代码来实现的。 汇编语言是用指令助记符、 汇编语言是用指令助记符、符号地址和标号等 书写程序的语言。 书写程序的语言。 汇编语言源程序必须进行加工翻译转换为机器 语言程序。 语言程序。将源程序翻译成机器语言程序的过 程叫汇编。 程叫汇编。 汇编程序是一种系统软件。 汇编程序是一种系统软件。IBM PC系统配置了 系统配置了 两种汇编程序:一种是称为小汇编的ASM,另 两种汇编程序:一种是称为小汇编的 , 一种是宏汇编MASM。目前,一般多用宏汇编 一种是宏汇编 。目前, MASM。 。
10
5.3 80x86指令系统
80x86指令系统的基础是 指令系统的基础是8086/8088指令系统。 指令系统。 指令系统的基础是 指令系统 8086/8088指令系统按其功能分为 种类型。它 指令系统按其功能分为6种类型 指令系统按其功能分为 种类型。 们是:数据传送指令、算术运算指令、 们是:数据传送指令、算术运算指令、逻辑运 算和位移指令、串操作指令、 算和位移指令、串操作指令、程序控制指令和 处理器控制指令。 处理器控制指令。
11
5.3.1 数据传送指令
1. 通用数据传送指令
1)MOV指令 2)PUSH指令 3)POP指令 4)XCHG指令 5)XLAT指令Βιβλιοθήκη 2. 输入/输出数据传送指令
1)输入指令 IN
(1) (2) (1) (2) 直接输入指令。 间接输入指令。 直接输出指令。 间接输出指令
2)输出指令 OUT
3. 地址传送指令
3
5.1.1 汇编语言的基本语法
1. 字符集 2. 标识符 3. 保留字 4. 语句 1) 指令语句 2) 伪指令语句 5. 汇编语言程序结构
4
5.1.2 汇编语言和汇编处理过程
汇编程序是一种系统软件。如图 所示 所示, 汇编程序是一种系统软件。如图5.1所示,汇编 程序加工的对象是汇编语言程序,称为源程序; 程序加工的对象是汇编语言程序,称为源程序; 而汇编后产生的结果是机器语言程序, 而汇编后产生的结果是机器语言程序,称为目 标程序。 标程序。
17
2. 条件转移指令
3. 循环指令
4. 中断指令
5.3.6 处理器控制指令
1. 操作标志 2. 处理器暂停 3. 处理器等待 4. 处理器脱离 5. 总线封锁 6. 空操作指令
18
5.3.7 80x86扩展的指令
80286指令系统完全兼容 指令系统完全兼容8086/8088指令系统。 指令系统。 指令系统完全兼容 指令系统 80386指令系统兼容 指令系统兼容8086/8088和80286指令系统并做 指令系统兼容 和 指令系统并做 了新的扩展。 了新的扩展。 80386的16字节长的指令队列平均可预取 条指令。指 的 字节长的指令队列平均可预取 条指令。 字节长的指令队列平均可预取5条指令 令中操作数的数目最多为3个 少则可以一个也没有。 令中操作数的数目最多为 个,少则可以一个也没有。 80486指令系统和 指令系统和80386基本相同,但支持缓存和多 基本相同, 指令系统和 基本相同 重处理, 指令系统的基础上, 重处理,80486在80386指令系统的基础上,又增加 在 指令系统的基础上 了几条新指令。 了几条新指令。 Pentium指令系统包括了 指令系统包括了80486的全部指令又增加了 的全部指令又增加了5 指令系统包括了 的全部指令又增加了 条新指令。 条新指令。
1)LEA指令 2)LDS指令 3)LES指令
4. 状态标志位传送指令
12
5.3.2 算术运算指令
1. 加法指令
1)ADD指令 2)ADC指令 3)INC指令 4)其他加法指令
2. 减法指令
1)SUB指令 2)SBB指令 3)DEC指令 4)NEG指令 5)CMP指令 6)其他减法指令
13
5.3.2 算术运算指令
15
2. 移位指令
5.3.4 串操作指令
1. 基本串操作命令 1) MOVS指令 2) MOVSB/MOVSW 3) CMPS指令 4) 其他串操作指令 2. 重复前缀
16
5.3.5 程序控制指令
1. 无条件转移指令
1) 2) 1) 2) 3) 1) 2) JMP OPRD(标号) 其他转移命令 依据单个标志位的条件转移指令 用于无符号数的条件转移指令 带符号数的条件转移指令 LOOP 指令 其他转移指令
5
常见的汇编程序有以下两种类型。 常见的汇编程序有以下两种类型。
1. 行汇编程序 2. 宏汇编程序
使用这种汇编语言进行汇编处理的过程如 下。
(1) (2) (3) (4) 建立源程序。 产生目标程序。 链接目标程序。 运行和调试。
6
5.2 80x86指令基础
汇编语言源程序是若干个指令语句和伪指令语 句的有序集合。 句的有序集合。指令语句对应着机器的一种操 作。指令系统直接反映了整个计算机系统的性 能和特点, 能和特点,采用它编写的程序具有存储空间占 用少,执行速度快等特点, 用少,执行速度快等特点,这些是许多高级语 言所无法取代的。本节将介绍80x86微处理器 言所无法取代的。本节将介绍 微处理器 指令系统。 指令系统。