硬件基础实验指导书与答案
计算机硬件基础课后习题答案

第1章计算机概述1:计算机的类型有哪些?简述它们的特点目前国际上比较流行的计算机分类是:巨型计算机、主机(大、中型机)、小型计算机、和个人计算机。
巨型计算机指运算速度快、存储容量大的高性能计算机,它采用了大规模并行处理的体系结构,CPU由数以百计、千计的处理器组成,有极强的运算处理能力。
计算机的运算速度平均每秒1000万次以上;存贮容量在1000万位以上。
巨型机的研制水平是一个国家计算机技术水平的重要标志。
主机(大、中型机)大型机的运算速度一般在100万次/秒至几千万次/秒,通常用每秒运行多少万次来作为运算速度单位,字长32~64位,主存容量在几百兆字节以上,。
它有比较完善的指令系统,丰富的外部设备和功能齐全的软件系统。
其特点是通用,有极强的综合处理能力。
中型机的规模介于大型机和小型机之间。
小型机的机器规模小、结构简单、设计试制周期短,便于及时采用先进工艺技术,软件开发成本低,易于操作维护。
微型计算机是以微处理器(CPU)为核心,通过系统总线(BUS)将存储器、外围控制电路、输入输出接口连接起来的系统称为微型计算机。
若配有相应的外围设备(如显示器、键盘、打印机等)和系统软件,就组成了微型计算机系统(Micro Computer System)。
微型计算机具有以下特点:◆集成度高,体积小,重量轻,价格低廉;◆部件标准化,易于组装及维修;◆高可靠性及适应性。
2:微型计算机简单分哪几类?各有什么特点?微型计算机简单可分为常见的台式微型计算机即个人计算机PC,笔记本,及掌上电脑台式机具有:集成度高、体积较小价格低廉、部件标准化、,易于组装维修、高可靠性及适应性,计算能力强等特点;笔记本具有体积小重量轻,便于携带移动性强,耗电少功能强的特点;掌上电脑具有更小的体积、更轻的重量、更少的耗电和更强的可移动性的特点,其方便的上网功能正将加速“处处计算,移动计算”的时代到来。
;Flash存储器与RAM相比具有非易失性的优势,但是寿命短,可擦写次数少,读写速度慢,且不能完成完全随机读写。
淮阴工学院 计算机工程学院 硬件实践教学指导书 刘虎

计算机硬件实践教学指导书计算机工程学院2011年5月目录1.硬件设计实习指导书 1 2. 成绩评定及实习报告要求 3《硬件设计实习指导书》一.硬件实践目的1.掌握PROTEL的使用;2.掌握电路设计的一般方法;3.掌握电路仿真的过程;4.掌握硬件设计及焊接方法;5.提高查阅资料的能力和撰写论文报告的能力;6.提高分析问题、解决问题的能力。
二.硬件实践内容1.交通信号灯2.电子时钟3.计时器4.计数器5.防盗报警6.计价器7.温度计8.信号发生器9.工业监控10.电机控制三.硬件实践要求1.总体要求(1)查阅有关资料;(2)使用PROTEL绘制电路原理图;(3)在实验电路板上焊接电路;(4)编程、调试;(5)撰写2000字的实践报告,并附电路原理图、软件流程图以及软件。
2.具体要求(1)模拟交通灯要求:通过单片机的P1、P3口按位输出0或1,控制红、绿、黄三色发光二极管按照交通灯的规律亮或者灭。
编写程序,调试运行,使发光二极管按照交通灯的规律亮或者灭。
(2)定时器要求:利用定时器/计数器定时2s,某键按下去开始计时,定时时间到红灯亮,再按一下停止计时。
(3)统计按键的次数要求:用八个发光二极管以8位二进制数形式显示按键的次数。
(4)防盗报警要求:发现有人进入房间时报警。
用按键按下模拟有人进入,用指示灯亮作报警信号。
(5)温度计要求:对温度信号采集,并用8个发光二极管指示。
温度信号用电位器模拟,A/D转换器用ADC0809。
(6)信号发生器要求:使用D/A转换器,产生三角波、梯形波、锯齿波等。
DAC0832作D/A。
(7)监控开关的状态要求:使用发光二极管,监控开关的状态。
开关合上,对应的灯亮。
(8)中断(工业顺序控制)实验要求:用单片机的P1—P7做输出口接八只发光二极管,用两个外部中断控制运行和模拟故障,编写程序,使发光二极管循环点亮模拟顺序控制,有故障时使P7发光点亮报警。
(9)电子音响(定时器/计数器)实验要求:用定时器0或定时器1定时产生不同的频率,利用开关组进行选择,从P3口输出方波频率,然后送驱动电路,推动喇叭发声。
硬件基础习题答案

硬件基础习题答案硬件基础习题答案在学习硬件基础时,习题是提高理解和掌握能力的重要工具。
下面,我将为大家提供一些常见的硬件基础习题及其答案,帮助大家更好地理解和应用相关知识。
1. 什么是计算机硬件?答案:计算机硬件是指计算机系统中所有物理组件的总称,包括主机、显示器、键盘、鼠标、内存、硬盘等。
2. CPU是计算机的核心组件,请问CPU的全称是什么?答案:CPU的全称是中央处理器(Central Processing Unit)。
3. 什么是存储器?答案:存储器是计算机中用于存储数据和程序的设备,包括内存和外存。
4. 请简述内存和硬盘的区别。
答案:内存是计算机中临时存储数据和程序的地方,数据在断电后会丢失;硬盘是永久存储数据和程序的设备,数据不会因断电而丢失。
5. 什么是主板?答案:主板是计算机中最重要的电路板,它连接和支持各种硬件设备,是计算机系统的核心组件。
6. 请解释什么是操作系统。
答案:操作系统是计算机系统中的一个软件,它管理和控制计算机的硬件和软件资源,为用户提供一个方便、高效的工作环境。
7. 什么是二进制?答案:二进制是计算机中使用的一种数制,只包含0和1两个数字。
计算机通过二进制来表示和处理数据。
8. 请简述计算机的工作原理。
答案:计算机的工作原理可以简单概括为输入、处理和输出三个步骤。
首先,用户通过输入设备输入数据和指令;然后,计算机的CPU对输入的数据和指令进行处理;最后,计算机通过输出设备将处理结果显示给用户。
9. 请解释什么是计算机网络。
答案:计算机网络是指将多台计算机通过通信设备和通信介质连接起来,实现信息共享和资源共享的系统。
10. 什么是网卡?答案:网卡是计算机中用于连接计算机与网络之间的设备,它负责将计算机的数据转换成网络可以识别的形式,并进行传输。
以上是一些常见的硬件基础习题及其答案。
通过解答这些习题,可以帮助大家巩固和加深对硬件基础知识的理解。
同时,希望大家在学习的过程中,能够通过实践和实际操作来加深对硬件知识的掌握,提高自己的实际应用能力。
计算机硬件技术基础实验答案程序

实验一:简单程序设计实验(1)编写一个32 位无符号数除法的程序,要求将存放在NUM1 中的32 位无符号数与存放在NUM2 中的16 位无符号数相除,结果存放在程序流程图略。
参考源程序:NUM1 DD 2A8B7654HNUM2 DW 5ABCHNUM3 DW ?NUM4 DW ?ASSUME DS:DATA, CS:CODE;数据段寄存器初始化MOV AX, WORD PTR NUM1MOV DX, WORD PTR NUM1+2DIV NUM2MOV NUM3,AXMOV NUM4,DXEND START(2)编写一个拆字程序。
要求将存放在ARY 单元的2 位十六进制数X1X2 拆为X1 和X2 两部分,并以0X1 和0X2 的形式分别存入ARY+1 和ARY+2 单元中。
程序流程图略。
参考源程序:DATA SEGMENTARY DB 2AH,?,?DATA ENDSCODE SEGMENTASSUME DS:DATA, CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET ARY MOV AL,[SI] ;取ARY 的偏移地址;取16进制数至ALNUM3 和NUM4 中。
DATA SEGMENTDATA ENDS CODE SEGMENTSTART: MOV AX,DATAMOV DS,AXCODE MOV AH,4CHINT 21HENDS;正常返回DOS 系统MOV BL,ALAND AL,0F0H;取16进制数的高四位,即X1SHR AL,4MOV [SI+1],AL ;存0X1 MOV AL,BLAND AL,0FH; 取16 进制数的低四位,即X2MOV [SI+2],AL ;存0X2MOV AH,4CHINT 21HENDSEND STARTCODE实验二:分支程序设计实验(1)编写一个字符比较程序,比较 3 个无符号字节数 A ,B ,C 的大小,并根据比较结果 对变量 K 赋值:如果 3 个数不相等,则 K=0 ; 如果 3 个数中有两个相等,则 K=1 ; 如果 3 个数都相等,则 K=2 。
计算机硬件实验指导书(崔丽群))

《计算机硬件基础》课程实验指导书辽宁工程技术大学软件学院2010年2月目录实验上机操作范例实验一汇编语言程序的调试与运行实验二简单程序设计实验三循环程序设计实验四综合程序设计(一)实验五综合程序设计(二)实验六高级汇编技术实验上机操作范例【范例】完成具有如下功能的分段函数1 X>0Y = 0 X=0-1 X<0其中:X存放在内存单元中,Y为结果单元。
【问题分析】根据题意画出程序流程图,如图1所示。
图1 分段函数的程序流程图根据程序流程图编写如下程序DSEG SEGMENTX DW ?Y DW ?DSEG ENDSCSEG SEGMENTASSUME CS: CSEG, DS: DSEGSTART:MOV AX, DSEGMOV DS, AXLEA SI, XMOV AX, [SI]AND AX, AXJNS LP1MOV Y, 0FFH ; X<0JMP END1LP1: JNZ LP2MOV Y, 00HJMP END1LP2: MOV Y, 01HEND1: MOV AH, 4CHINT 21HCSEG ENDSEND START汇编语言程序的开发分为以下4个部分:编辑(生成.asm文件)—→汇编(生成.obj文件)—→连接(生成.exe文件)—→调试。
下面分别通过两种上机环境介绍汇编语言源程序从编辑到生成一个可执行文件(.exe文件)的过程。
一种方法是利用Microsoft公司提供的MASM5版本的工具包(包括edit.exe、masm.exe、link.exe、debug.exe),如图2所示;另一种是利用汇编集成编辑器来完成。
图2 D盘下的MASM5工具包下面的例子按以下几个步骤完成:(1)先编写一个fenduan.asm文件;(2)保存并通过运行masm.exe生成目标文件fenduan.obj;(3)再利用link.exe生成可执行文件fenduan.exe;(4)运行fenduan.exe文件;(5)运行debug fenduan.exe后即可对程序进行跟踪调试。
计算机硬件基础课后答案

2-18(1)1278H+3469H=0001 0010 0111 1000+0011 0100 0110 1001=0100 0110 1110 0001SF=0 ZF=0 AF=1 PF=1 CF=0 OF=0(2)54E3H-27A0H=0101 0100 1110 0011+1101 1000 0110 0000=1 0010 1101 0100 0011SF=0 ZF=0 AF=0PF=0 CF=0 OF=0当进行16位或8位加或减运算时,若最高位产生进位或借位时,将CF置1,否则为0,当进行带符号数补码运算时,运算结果超出了机器所能表示的数值范围,就产生溢出,将OF置1,否则OF置0,即OF用来表示有符号数运算的溢出,而CF则用来表示无符号数运算的溢出。
2-24答:存储慢速设备(存储器或I/O设备)的数据时,必须插入等待周期T W来延长总线周期,插入T W多少取决于CPU完成独立操作所需时间。
2-26读存储器写存储器4-5DATASEG SEGMENTMY1B DB ‘PERSONAL COMPUTER’MY2B DB 20MY3B DB 14HMY4B DB 00010100BMY5W DW 20 DUP(?)MY6W EQU 100DATASEG ENDS4-6(1) BX = (2);(2) AL = (2);(3) CX = (10);(4) DL = (10).4-7(1) V AR1、V AR2、V AR3的偏移地址是30H,3AH,40H;(2) DATA1的值是50H,CNT的值是16;(3) V AR2+2的内容为2。
4-8(2)X为字变量,Y则可以字节方式访问X;(4)X为字变量,初值放在内存中的顺序为88H和62H,Y为字节变量,初值依次为62H和88H;(5)X和Y均为字变量,初值不同,因为X为16进制数,Y为10进制数。
4-9(1)源操作数1000超过字节范围(3)CMP的两个操作数不能同时为存储器操作数(5)JNZ的转移位置不能用字变量给出4-11(1) DATA1 DB 86H, 27H, 23H, 00H, 24H, 1AH(2) DATA2 DW 0B430H, 1062H或者(1)DATA1 LABEL BYTEARRAY DW 2786H,23H,1A24H(2) DATA2 LABEL WORDARRAY DB 30H,0B4H,62H,10H4-12DATA SEGMENT WORDTABLE DB 100 DUP(0)DATA ENDSSTACK SEGMENT WORD STACK ‘STACK’DB 1024 DUP(0)STACK ENDSCODE SEGMENT ‘CODE’ASSUME DS:DATA,SS:STACK, CS:CODEMAIN PROC FARSTART: PUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXMOV ES, AXLEA BX, TABLEMOV CX, 100LOP: MOV BYTE PTR [BX], 64HINC BXLOOP LOPRETMAIN ENDPCODE ENDSEND START4-15TRAN MACRO X, Y, Z ;X, Y, Z为源、目标数据块的首地址,Z为数据块的长度MOV CX, ZMOV SI, OFFSET XMOV DI, OFFSET YCLDREP MOVSBENDM4-16MOV AX, WORD PTR XADD AX, WORD PTR YMOV WORD PTR Z, AXMOV AX, WORD PTR X+2ADC AX, WORD PTR Y+2MOV WORD PTR Z+2, AX4-17DATA SEGMENTSTRG DB 1000 DUP(?)STR1 EQU STRG+7STG2 EQU STRG+27STRSE EQU 50DATA ENDSSTACK SEGMENT PARA STACK ‘STACK’DB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, ES:DATA MAIN: MOV AX, DATAMOV DS, AXMOV ES, AXMOV CX, STRSEMOV SI, OFFSET STG1MOV DI, OFFSET STG2CLDPUSH SIADD SI, STRSE-1CMP SI, DIPOP SIJL OKSTDADD SI, STRSE-1ADD DI, STRSE-1OK: REP MOVSBMOV AX, 4C00HINT 21HCODE ENDSEND MAIN4-18(1)DATA SEGMENTDATA ENDSCODE SEGMENT…MOV AH, 01H ; 从键盘输入一个字符,其ASC码值在AL中INT 21HCMP AL, 41HJZ P0CMP AL, 42HJZ P1…CMP AL, 4AHJZ P9JMP EXITP1: …RETP2: …RET……P9: …RETEXIT: MOV AH, 4CHINT 21H….(2)DATA SEGMENTBASE DW P0, P1, ……,P9DATA ENDSCODE SEGMENT…MOV AH, 01H ; 从键盘输入一个字符,其ASC码值在AL中INT 21HCMP AL, 'A' ; 判别字符是否位于‘A’到‘J’之间JB EXITCMP AL, 'J'JA EXITSUB AL, 'A' ;在正确范围之内,根据表内地址分支MOV BL, ALMOV BH, 0SHL BX, 1JMP BASE[BX]P1: …RETP2: …RET……P9: …RETEXIT: MOV AH, 4CHINT 21H….4-19LEA BX, xLEA SI, yLEA DI, sumADD BX, 7ADD SI, 7ADD DI, 8 ;和可能要9个字节MOV CX, 8CLCLOP: MOV AL, [BX]ADC AL, [SI]DAAMOV [DI], ALDEC BXDEC SIDEC DIDEC CXJNZ LOPMOV AL, 0ADC AL, 0MOV [DI], AL4-20MOV SI, OFFSET FIRSTMOV CX, 0 ;CX中存放A的个数LOOP: MOV AL, [SI]CMP AL, ‘$’JZ NEXTCMP AL, ‘A’JNE LPINC CXLP: INC SIJMP LOOPNEXT: ……4-21DATA SEGMENTDATA_W DW …………;若干个数COUT EQU ($-DATA_W)/2COUT1 DB 0COUT2 DB 0COUT3 DB 0DATA ENDSSTACK SEGMENT PARA STACK ‘STACK’DB 100 DUP(0)STACK ENDSCODE SEGMENTASSAUM CS:CODE,DS:DATASTART PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXMOV DX, 0 ;正数、负数、0暂时分别存在BL、BH、DL 中MOV BX, 0LEA SI, DATA_WMOV CX, COUTNEXT: MOV AX, [SI]CMP AX, 0JG LP1JL LP2INC DLJMP OKLP1: INC BLJMP OKLP2: INC BHOK: ADD SI, 2LOOP NEXTMOV COUNT1,BLMOV COUNT2,BHMOV COUNT3,DLRETSTART ENDPCODE ENDSEND START4-22DATA SEGMENTARRAY D B …………;若干个数COUT EQU $-ARRAYMAX DB ?MIN DB ?DATA ENDSSTACK SEGMENT PARA STACK ‘STACK’DB 100 DUP(0)STACK ENDSCODE SEGMENTASSAUM CS:CODE,DS:DATASTART PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXLEA BX, ARRAYMOV CX, COUTGOT: MOV AL, [BX]TEST AL, 01HJZ NEXTINC BXJMP GOTNEXT: MOV DH, ALMOV DL, AL ;DH暂存最大偶数,DL暂存最小偶数,初始置首个偶数LEA BX, ARRAYLOP: MOV AL, [BX]TEST AL, 01HJNZ NEXT2CMP AL, DLJA NEXT1MOV DL, ALJMP NEXT2NEXT1: C MP AL, DHJB NEXT2MOV DH, ALNEXT2: I NC BXLOOP LOPMOV MAX, DHMOV MIN, DLRETSTART ENDPCODE ENDSEND START4-24LEA BX, STRINGMOV CX, 80 NEXT: MOV AL, [BX]CMP AL, 20HJZ OKINC BXLOOP NEXTMOV CL, -1JMP FINOK: NEG CXADD CX, 80FIN: …………4-25LEA BX, STRINGMOV CH, 0LOP: MOV AL, [BX]CMP AL, ODHJZ EXITINC CHINC BXJMP LOPEXIT: …4-26(1)LEA SI,STRING1LEA DI,STRING2MOV C X,20CLDREP MOVSB(2)LEA SI,STRING1LEA DI,STRING2ADD SI,19ADD DI,19MOV C X,20STDREP MOVSB(3)MOV A L,20HLEA DI, STRING1MOV C X,20CLDREPNZ SCASBJZ FOUNDMOV D L,0 ;未找到FOUND:DEC DIMOV BX,DIMOV DL,01H ;找到(4)LEA SI,STRING1LEA DI,STRING2MOV C X,20CLDREP CMPSBJNZ NEQMOV B L,0 ;相同NEQ: M OV BL,01H ;不相同4-28(1) DISPLAY PROCMOV CH, 4MOV CL, 4MOV BX, AX ;(*)NEXT: ROL BX, CLMOV DL, BLAND DL, 0FHADD DL, 30HCMP DL, 39HJBE PRINTADD DL, 07HPRINT: MOV AH, 2INT 21HDEC CHJNZ NEXTRETDISPLAY ENDP(2) 与(1)基本相同,仅将(*)语句修改为MOV BX, WORDTEMP(3) 将(*)句替换为下列语句(假设子程序中并未保护现场寄存器,主程序入栈的参数就是预显示的数据)MOV BP, SPMOV BX, [BP+2]4-29;模块1,文件名MAIN.ASMEXTRN DISPLAY: FAR ;引用外部符号PUBLIC MESG ;定义外部符号DATA1 SEGMENTMESG DB 'ASSEMBLER$'DATA1 ENDSCODE1 SEGMENTASSUME CS: CODE1, D S: DATA1MAIN: MOV AX, DATA1MOV DS, AX ;装入段基址PUSH DSCALL DISPLAYMV AH, 4CHINT 21HCODE1 ENDSEND MAIN;模块2,文件名DISPLAY.ASMEXTRN MESGPUBLIC DISPLAY ;定义外部符号DATA2 SEGMENTDB 100UP(?)DATA2 ENDSCODE2 SEGMENTASSUME CS: CODE2, DS: DATA2DISPLAY PROC FARMOV AX, DATA2MOV DS, AX ;装入段基址MOV DX, OFFSET MESGMOV AH, 9 ;屏幕显示INT 21HRETDISPLAY ENDPCODE2 ENDS4-30SUM1 PROC NEARCMP CX,0JZ EXIT1MOV AX,0 ;数组和在AX中AGAIN:ADD AL,[SI]ADC AH,0 ;和或许为字INC SILOOP AGAINEXIT1:RETSUM1 ENDP4-31STACK SEGMENT PARA STACK ‘STACK’DB 100 DUP (0)STACK ENDSCODE SEGMENTASSAUM CS: CODESTART PROC FARPUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXMOV CX, 4MOV DX, 0.LOP1: MOV AH, 1INT 21HCMP AL, 46HJA EXIT ;字符ASCII码不在0~9,A~F之间CMP AL, 40HJA LOP2CMP AL, 39HJA EXIT ;字符ASCII码不在0~9,A~F之间CMP AL, 30HJB EXIT ;字符ASCII码不在0~9,A~F之间SUB AL, 30HJMP NEXTLOP2: SUB AL, 37HNEXT: MOV AH, 0PUSH CXMOV CL, 4ROL DX, CLPOP CXADD DX, AXLOOP LOP1EXIT: RETSTART ENDPCODE ENDSEND START5-41K X 8 : 末地址=1000H+3FFH=13FFH 2K X 8 : 末地址=1000H+7FFH=17FFH 4K X 8 : 末地址=1000H+FFFH=1FFFH 8K X 8 : 末地址=1000H+1FFFH=2FFFH 5-5所占地址空间为:20000H~27FFFH5-61# 8000H~87FFH2# 8800H~8FFFH3# 9000H~97FFH4# A000H~A3FFH5# A400H~A7FFH6# A800H~ABFFH7# AC00H~AFFFH5-76-1IN AL, PORT_TCMP AL, 0FEH ;k0单独被按下,即最低位为0,其余位为高JZ NEXT1CMP AL, 0FDH ;JZ NEXT2MOV AL, 00H ;其他的情况,将灯全部不点亮OUT PORT_T, ALJMP EXITNEXT1: M OV AL, 01H ;K0被按下,LED0~LED7顺次点亮,送1则对应的灯亮MOV CX, 8LOOP1: OUT PORT_T, ALCALL DELAYROL AL, 1LOOP LOOP1JMP EXITNEXT2: M OV AL, 80H ;K1被按下,LED0~LED7反序点亮,送1则对应的灯亮MOV CX, 8LOOP2: OUT PORT_T, ALCALL DELAYROR AL, 1LOOP LOOP2EXIT: ….6-2 解:MOV CX,100MOV BX,OFFSET DATASIN-TEST:IN AL,STATUSTEST AL,80HJZ IN-TESTIN AL,DATAS_PORTMOV [BX],ALINC BXLOOP IN-TEST6-3 解:MOV BX,OFFSET STRINGWAIT:IN AL,STATUSAND A L,80HJNZ WAITMOV AL, [BX]OUT DATAS,ALCMP AL,0DHJZ ENDINC BXJMP WAITEND:……6-6执行INT 8后CPU将PSW, IP, CS压入堆栈,堆栈的情况如下图:SP 00FAH00FBH00FCH00FDH00FEH00FFHSP=00FAH, SS=0300H, IP=0040H, CS=0100H因为IF,.TF进入中断后自动为零,所以PSW=0040H.6-9IRQ3申请中断,IRQ3正在被服务,20H, 05H6-12MOV DX, 0FFDCHMOV AL, 00010011B ;ICW1OUT DX, ALMOV DX, 0FFDDHMOV AL, 90H ;ICW2OUT DX, ALMOV AL, 00000001B ;ICW4OUT DX, AL6-17RRREG DB ?SRREG DB ?IMREG DB ?…MOV AL, 00001010B ;读IRROUT 20H, ALIN AL, 20HMOV RRREG, ALMOV AL, 00001011B ;读ISROUT 20H, ALIN AL, 20HMOV SRREG, ALIN AL, 21H ;读IMRMOV IMREG, AL7-9①8255初始化:C口工作在工作方式0,其中C口上半部输入,C口下半部输出,于是8255控制字应为00001000B,即08H;设控制口地址为CTRL,C口地址为PORTC,则8255初始化程序如下:MOV AL, 08HMOV DX, CTRLOUT DX, AL②中断服务程序:设有一延时子程序名为DELAY,则中断服务子程序为:ALARM PROC FARPUSH AX ;现场保护PUSH DXMOV DX, PORTC ;查询PC7确认微导线状态IN AL, DXTEST AL, 80H ;JZ EXIT ;如PC7为0表示微导线未断,退出服务程序MOV DX, CTRL ;通过写控制口,达到单独设置PC0的输出值的目的MOV AL, 10000000BLP: OUT DX, ALCALL DELAY ;调用延时程序,使PC0按指定频率输出脉冲XOR AL, 00000001B ;采用异或指令实现最后一位取反,而其他位不变的目的JMP LPPOP DX ;现场恢复POP AXIRETENDP7-11MOV AL, 00000010B ;8255初始化,A口输出,B口输入,均工作在工作方式0MOV DX, 3C3HMOV DX, 3C0H ;使A口的初始输出为全1,即使继电器线圈无电流OUT DX, ALMOV AL, 0FFHLP: MOV DX, 3C1HIN AL, DXNOT ALMOV DX, 3C0HOUT DX, ALCALL DELAY ;调用延时程序JMP LP。
硬件实验报告3

计算机硬件基础实验报告实验三实验1:四位二进制数与四位格雷码之间的相互转换一、实验目的掌握组合逻辑电路的设计方法二、实验仪器及实验器件器件:YB3262实验箱,1片74LS00与非门,1片74LS04非门,1片74LS86异或门,3片74LS20与非门,导线若干。
三、实验步骤及结果(1)四位二进制数转换成格雷码实验要求:利用所给的芯片设计电路并完成实验,实现将四位二进制数转换成格雷码的功能解:通过四位二进制代码与对应格雷码的比较,我们以A、B、C、D代表输入的四位数,以Y1、Y2、Y3、Y4代表输出的四位格雷码,写出如下逻辑表达式:Y1=A , Y2=A'B+AB' ,Y3=B'C+BC' , Y4=C'D+CD'利用异或门,设计出如下逻辑图:最后将一片74LS86异或门接入电路中进行实验。
(2)格雷码转换成四位二进制数实验要求:利用所给的芯片设计电路并完成实验,实现将格雷码转换成四位二进制数的功能解:通过四位二进制代码与对应格雷码的比较,我们以A、B、C、D代表输入的格雷码的四位数,以Y1、Y2、Y3、Y4代表输出的四位二进制代码,写出如下逻辑表达式:Y1=A , Y2=A'B+AB' ,Y3=Y2'C+Y2C' , Y4=Y3'D+Y3D'利用异或门,设计出如下逻辑图:最后将一片74LS86异或门接入电路中进行实验。
实验2:使用74LS283实现余3码到8421BCD码的转换一、实验目的掌握组合逻辑电路的设计方法熟悉译码器、数据选择器、加法器的工作原理和逻辑功能掌握译码器、数据选择器、加法器的使用方法二、实验仪器及实验器件器件:YB3262实验箱,YB4325示波器,1片74LS283,1片74LS138,1片74LS151,1片74LS20与非门,导线若干三、实验内容要求:结合所提供的实验器件,设计以下题目,必须写出详细的设计过程,画出完整的逻辑电路图,记录实验结果。
数字电路实验指导书(14级数计软工)

计算机硬件基础实验指导书(2014级数计软工)每组2人;每个实验完成后,必须于下个实验前提交实验报告(纸质版)。
附录一数字电路实验箱的使用说明附录二数字电路实验器件引脚排列图实验仪器及实验器件需求每台实验箱需配备:1个示波器,1个面包板,1个万用表,1个电位器(可能实验箱上本身就有),若干导线。
所需芯片如下:(每台)74LS00 与非门1片74LS86 异或门1片74LS125 三态门1片74LS08 与门1片74LS04 非门1片74LS20 与非门3片74LS283 全加器1片74LS138 译码器1片74LS151 数据选择器1片74LS74 D触发器1片74LS112 JK触发器1片74LS161 计数器2片1、电子技术测量仪器的使用及门电路逻辑功能测试熟悉示波器和数字电路实验箱的使用方法,掌握脉冲信号参数的测试方法。
了解集成电路的外引线排列及其使用方法,测试各种逻辑门电路的逻辑功能。
一、实验目的了解数字实验箱的原理,掌握其使用方法了解TTL器件和CMOS器件的使用特点掌握基本门电路逻辑功能的测试方法二、实验仪器及实验器件器件:YB3262实验箱,YB4325示波器,1片74LS00与非门,1个万用表,1片74LS86异或门,1片74LS125三态缓冲器,1片74LS08与门,导线若干。
三、实验内容(1)数字实验箱的使用(参考附录一)用万用表测出固定直流稳压源的出去电压值。
用万用表分别测出十六路高低电平信号源和单次脉冲信号源的高低电平值,并观察单次脉冲前后沿(即输出波形的上升和下降时间)的变化。
分别用十六路高低电平信号源和单次脉冲信号源检查十二路高低电平指示灯的好坏。
用十六路高低电平信号源测试七段数码管的工作情况,观察是否正确显示0-9十个数码。
(2)分别写出74LS00,74LS86,74LS08,74LS125的逻辑表达式,列出其真值表,并分别对其逻辑功能进行静态测试。
74LS125三态缓冲器的逻辑功能为:E’为使能端,低电平有效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机硬件基础》课程实验指导书辽宁工程技术大学软件学院2017年5月目录64位操作系统下使用MASM (3)实验上机操作范例 (5)实验一CPU结构 (15)实验二指令格式 (22)//实验三循环程序设计 (25)实验四综合程序设计(一) (32)实验五综合程序设计(二) (36)实验六高级汇编技术 (42)64位操作系统下使用MASM1.安装DOSBox。
双击DOSBox0.74-win32-installer.exe。
2.运行DOSBox。
双击桌面的DOSBox快捷方式,如图1所示。
图1 运行DOSBOX虚拟机3.将MASM文件夹里的全部文件拷贝到一个目录下,比如d:\masm下,然后将这个目录挂载为DOSBox的一个盘符下,挂载命令为Mount c d:\masm 。
然后切换到挂载的c盘,如图2所示。
图2 挂载masm文件夹3.编译汇编源程序,如图3所示。
图3 汇编源程序4.连接和运行源程序,如图4所示。
图4连接和运行源程序实验上机操作范例【范例】完成具有如下功能的分段函数1 X>0Y = 0 X=0-1 X<0其中:X存放在内存单元中,Y为结果单元。
【问题分析】根据题意画出程序流程图,如图1所示。
图1 分段函数的程序流程图根据程序流程图编写如下程序DSEG SEGMENTX DW ?Y DW ?DSEG ENDSCSEG SEGMENTASSUME CS: CSEG, DS: DSEGSTART:MOV AX, DSEGMOV DS, AXLEA SI, XMOV AX, [SI]AND AX, AXJNS LP1MOV Y, 0FFH ; X<0JMP END1LP1: JNZ LP2MOV Y, 00HJMP END1LP2: MOV Y, 01HEND1: MOV AH, 4CHINT 21HCSEG ENDSEND START汇编语言程序的开发分为以下4个部分:编辑(生成.asm文件)—→汇编(生成.obj文件)—→连接(生成.exe文件)—→调试。
下面介绍汇编语言源程序从编辑到生成一个可执行文件(.exe文件)的过程。
利用Microsoft公司提供的MASM6.15版本的工具包(包括MASM.EXE、LINK.EXE、ML.EXE、DEBUG32.EXE等),如图2所示。
图2 G盘下的MASM615工具包下面的例子按以下几个步骤完成:(1)先编写一个fenduan.asm文件;(2)保存并通过运行masm.exe生成目标文件fenduan.obj;(3)再利用link.exe生成可执行文件fenduan.exe;(4)运行fenduan.exe文件;(5)运行debug32 fenduan.exe后即可对程序进行跟踪调试。
1.通过DOSbox调用MASM6.15图3 挂载masm6.15将masm汇编工具文件夹g:\masm615\挂载到DOSbox虚拟机的C盘下。
命令为mount c g:\masm615,然后,进入虚拟盘符C盘下,即g:\masm615下。
2.编辑源程序在masm615文件下建立记事本,把文件扩展名改为.asm并进行保存,这时弹出图4所示窗口,单击“是”。
图4 重命名对话框双击fenduan.asm文件,编写汇编语言源程序,如图5所示。
图5 记事本中编写汇编语言源程序2、汇编汇编的命令格式是:masm 文件名.asm (扩展名.asm可以省略)图6 汇编fenduan.asm文件汇编fenduan.asm文件,在DOS环境下键入―masm fenduan.asm‖,按回车。
如图6所示生成fenduan.obj文件,显示的信息含义为:Object filename [FENDUAN.OBJ]: ←是否改动输出OBJ文件名,如不改就按回车键―ENTER‖。
Source listing [NUL.LST]: ← 是否需要列表文件(LST),不需要就按回车键。
Cross-reference [NUL.CRF]: ←是否需要对照文件(CRF),不需要则按回车键。
51670 + 464874 Bytes symbol space free0 Warning Errors ←警告错误,表示编译器对某些语句不理解,通常是输入错误。
0 Severe Errors ←严重错误,会造成程序无法执行,通常是语法结构错误。
如果没有一个错误存在,即可生成OBJ文件。
OBJ中包含的是编译后的二进制结果,它还无法被DOS载入内存中加以执行,必须加以连接(Linking)。
以LINK将OBJ文件(FENDUAN.OBJ)链结成EXE 文件(FENDUAN.EXE)。
3、连接连接的命令格式:link 文件名.obj (扩展名.obj可以省略)图7 连接fenduan.obj文件连接fenduan.obj文件,在DOS环境下键入―link fenduan.obj‖,按回车。
如图7所示生成了fenduan.exe文件,显示的信息含义为:Microsoft (R) Overlay Linker Version 3.60Copyright (C) Microsoft Corp 1983-1987. All rights reserved.Run File [SMILE.EXE]: ← 是否改动输出EXE文件名,如不改就ENTER。
List File [NUL.MAP]: ← 是否需要列表文件(MAP),不需要则ENTER。
Libraries [.LIB]: ←是否需要库文件,要就键入文件名,不需要则ENTER。
LINK : warning L4021: no stack segment← 由于COM文件不使用堆栈段,所以错误信息。
"no stack segment"并不影响程序正常执行。
4、调试调试的命令格式是:DEBUG32 文件名.exe ←.exe可以省略。
若调试fenduan.exe文件,如图14所示在DOS环境下键入―debug fenduan.exe‖,按回车,这时进入debug动态调试窗口。
先用命令U反汇编整个程序,查看每条指令的物理地址,其显示内容如图8和9所示。
图8 调试fenduan.exe图9 用u命令反汇编fenduan程序在这里,出现的反汇编指令如下所示:内存地址指令代码反汇编的程序代码1CA6:0000 B8A51C MOV AX, 1CA5 ;数据段的首地址DS =1CA51CA6:0003 8ED8 MOV DS, AX1CA6:0005 8D360000 LEA SI, [0000] ;变量X的偏移地址00001CA6:0009 8B04 MOV AX, [SI]1CA6:000B 23C0 AND AX, AX1CA6:000D 7909 JNS 00181CA6:000F C7060200FF00 MOV WORD PTR [0002],00FF ;变量Y的偏移地址0002 1CA6:0015 EB12 JMP 0029 ;跳转到该程序段偏移地址为0029处执行1CA6:0017 90 NOP1CA6:0018 7509 JNZ 00231CA6:001A C70602000000 MOV WORD PTR [0002],00001CA6:0020 EB07 JMP 00291CA6:0022 90 NOP1CA6:0023 C70602000100 MOV WORD PTR [0002],00011CA6:0029 B44C MOV AH,4C1CA6:002B CD21 INT 21假设我们给变量X赋值为F723H,如图10所示。
图10 为变量X赋值从反汇编地址中找到执行的起始地址为0000到002B。
然后执行,如图11所示。
图11 设置断点如图12所示查看Y变量中的值,通过反汇编命令我们知道Y变量的偏移地址为0002H。
图12 查看Y变量此时,我们观察到X变量为F723H时,X小于0,则Y应为-1(即FFH),说明调试成功。
实验一CPU结构一、实验目的1.了解CPU内部结构,掌握查看有关寄存器的方法。
2.掌握数据在内存中的存放方式和内存操作数的寻址方式。
3.熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。
4.掌握汇编语言源程序的组成格式。
5.掌握汇编语言源程序的编辑、调试及运行方法。
二、实验准备知识1.DEBUG程序的启动DEBUG是专门为汇编语言设计的一种汇编语言调试工具,它通过单步执行,设置断点连续执行等方式为汇编语言程序员提供了非常有效的调试手段。
在DOS提示符下,可输入命令:C>DEBUG [d:][path][文件名][ 参数1][参数2]其中文件名是被调试文件的名称,它必须是执行文件(.EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符―–‖,此时,可键入所需的DEBUG命令。
在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。
用户可以通过DEBUG的命令对指定文件进行修改,显示和执行。
如果没有文件名,则是以当前内存的内容进行工作。
2.DEBUG的主要命令1)汇编命令A格式:– A [起始地址]功能:该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。
2)反汇编命令U(1)格式1:– U [起始地址]功能:该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U 命令的最后一条指令的下一个单元开始显示32个字节。
(2)格式2:– U [起始地址终止地址]格式3:– U [起始地址L 字节数]功能:该命令对指定范围的内存单元进行反汇编。
例如:3)运行命令G格式:– G [= 起始地址1][断定点地址2[断点地址3……]]功能:从指定地址开始执行程序。
在设定的断点处程序暂停,并显示全部寄存器内容和下一条要执行的指令。
一般设置断点前最好用U命令查看一下指令开始的地址。
断点数最多为10个。
如:– G=100 1084)跟踪命令(单步执行)T格式1:– T [=起始地址]格式2:– T [=起始地址指令条数]功能:从指定地址开始执行程序,每次执行一条指令,然后显示各寄存器的内容和状态寄存器的内容,及以助记符形式表示的下一条指令。
如:– T=1005)显示内存单元内容的命令D格式1:– D [起始地址]格式2:– D [起始地址终止地址]格式3:– D [起始地址L 字节数]功能:显示指定内存单元的内容。
6)修改内存单元内容的命令E(1)用给定的内容代替指定范围的单元内容格式:– E 地址内容表例如:– E 2000:0100 F3 "XYZ" 8D其中F3、"X"、"Y"、"Z"和8D各占一个字节,用这五个字节代替原内存单元2000:0100到0104的内容,"X"、"Y"、"Z"将分别存入其ASCII码值。