微机原理与接口技术实验讲义(第一部分1)
[微机原理与接口技术课件]实验一DEBUG软件的使用
实 验 一 DEBUG 软 件 的 使 用是专为8086/8088汇编语言设计的一种调试工具,是汇编语言程序设计者必须掌握的工具。
具有显示、修改、动态跟踪等功能。
使用它可以对*.COM 、*.EXE文件进行动态跟踪。
DEBUG可以显示和修改内存与寄存器内容,以便在调试中检查程序,查找与改错;亦支持小汇编,直接对小段程序进行汇编;也可对磁盘进行读写。
一、实验目的1.通过实验掌握DEBUG软件的基本使用方法。
2.进一步熟悉、理解8088/8086的寻址方式。
3.掌握数据传送、算术运算、逻辑运算等类指令的基本操作。
二、实验内容与步骤本实验进行前必须保证系统盘上有DEBUG.EXE文件。
进入DEBUG只需在DOS环境下执行 DEBUG命令,即键入DEBUG回车后,屏幕上显示 DEBUG提示符:“_”(短划线)。
操作如下:C:>DEBUG-注: 字符下有下划线的为键入的内容,\代表回车,后面内容均如此.1.程序输入汇编命令(A命令)在输入程序应注意以下几点:(1)输入的数字必须是十六进制数,并且不输入H。
(2)分号后面的内容(注释)不要输入。
(3)不输入标号,条件转移指令中的标号用偏移地址代替。
方法:先用一个离本转移指令的IP不远的但不一定准确的偏移地址代替标号 ,待程序输入且完成反汇编后获得标号所在处的准确的偏移地址时再修改。
在DEBUG提示符下键入A即进入汇编输入状态-A \键入下面的汇编程序13F2:0100 MOV AX,200013F2:0103 MOV DS,AX13F2:0105 MOV SS,AX13F2:0107 MOV BX,205013F2:010A MOV SI,BX13F2:010C MOV DI,305013F2:010F MOV SI,DI13F2:0111 MOV SP,5FFF13F2:0114 MOV CL,1913F2:0116 MOV BL,CL13F2:0118 MOV AH,F013F2:011A MOV CH,AH13F2:011C MOV BYTE PTR [DI],4013F2:011F MOV WORD PTR [SI],010013F2:0123 MOV DL,[SI+01]13F2:0126 MOV DH,[SI+01]13F2:0129 MOV AL,[SI+01]13F2:012C MOV WORD PTR [BX+SI],0022 13F2:0130 MOV [BX+SI+02],BX13F2:0133 MOV [BX+SI+02],BX13F2:0136 MOV BP,[BX+DI+02]13F2:0139 MOV [BX+DI],BX13F2:013B MOV AX,[BP+DI]13F2:013D MOV BL,AL13F2:013F MOV ES,BX13F2:0141 PUSH BX13F2:0142 PUSH DI13F2:0143 PUSH DI13F2:0144 POP CX13F2:0145 POP DX13F2:0146 XCHG BP,AX13F2:0147 XCHG DH,BL13F2:0149 SAHF13F2:014A CMC13F2:014B LAHF13F2:014C STD13F2:014D CLI13F2:014E PUSHF13F2:014F CLD13F2:0150 POPF13F2:0151 INT2113F2:0153 ^C重新回到DEBUG提示符“-”状态,表示汇编命令已结束。
微机原理与接口技术实验讲义
实验一熟悉汇编语言环境及建立汇编的过程一、实验目的1.熟悉汇编语言环境。
2.掌握汇编语言的上机过程。
3.了解汇编语言程序的编程格式。
二、实验要求通过一个小程序的编写达到以上的实验目的。
三、实验原理1.汇编语言程序的上机过程用汇编语言编写的程序称为源程序,源程序也不能由机器直接执行,而必须翻译成机器代码组成的目标程序,这个翻译过程称为汇编。
在微型机中,当前绝大多数情况下,汇编过程是通过软件自动完成的,用来把汇编语言编写的程序自动翻译成目标的软件叫汇编程序,汇编过程如下:四、实验步骤1、打开编辑环境2、输入程序CODE SEGMENTASSUME CS:CODESTART: MOV AL,01HMOV BL,40HADD AL,BLMOV DL,ALMOV AH,02HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START3、保存源程序,以.ASM为扩展名。
C:\MASM\1.ASM4、建立汇编过程(1)用宏汇编程序汇编源程序C:\MASM>MASM 1.ASM汇编程序有3个输出文件【.obj】文件,【.LST】文件,【.CRF】文件,.OBJ文件是我们所需要的文件。
汇编程序还有另外一个重要功能:可以给出源程序中的错误信息。
(2)用连接程序将OBJ文件转换为可执行的EXE文件C:\MASM>LINK 1.OBJ5、执行程序:C:\MASM>1.EXE实验二两个多位十进制数相加的实验一、实验目的:1.学习数据传送和算术运算指令的用法。
2.熟悉在PC机上建立汇编链接调试和运行汇编语言程序的过程。
二、实验内容:将两个多位十进制数相加。
要求加数和被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
三、程序框图四、实验原理1.ADC 带进位相加指令的功能和指令格式2.AAA 、DAA、 AAS、 DAS指令的功能和指令格式3.伪指令SEGMENT 、ENDS、 ASSUME、MACRO、ENDM的使用4.子程序的定义(PROC NEAR/FAR ENDP),以及子程序调用和返回指令:CALL、RET的使用5.循环指令LOOP的格式以及退出循环的条件6.中断指令的使用五、实验参考程序CRLF MACRO ;建立回车换行宏MOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HENDM ;宏定义结束DATA SEGMENT ;数据段DATA1 DB 33H,39H,31H,37H,34H ;第一个数据(作为加数)DATA2 DB 36H,35H,30H,38H,32H ;第二个数据(作为被加数)DATA ENDSCODE SEGMENT ;代码段ASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET DATA2MOV BX,05CALL DISPL ;显示被加数CRLFMOV SI,OFFSET DATA1MOV BX,05CALL DISPL ;显示加数CRLFMOV DI,OFFSET DATA2CALL ADDA ;加法运算MOV SI,OFFSET DATA1MOV BX,05CALL DISPL ;显示结果CRLFMOV AX,4C00HINT 21HDISPL PROC NEAR ;显示子程序段DS1: MOV AH,02HMOV DL,[SI+BX-1] ;显示字符串中的一个字符INT 21HDEC BX ;修改偏移量JNZ DS1RETDISPL ENDPADDA PROC NEARMOV DX,SIMOV BP,DIMOV BX,05AD1: SUB BYTE PTR[SI+BX-1],30H ;将ASCII码表示的数字串SUB BYTE PTR[DI+BX-1],30H ;转化位十六进制的字符串 DEC BXJNZ AD1MOV SI,DXMOV DI,BPMOV CX,05 ;包括进位位共5位CLC ;清进位位AD2: MOV AL,[SI]MOV BL,[DI]ADC AL,BL ;带进位相加AAA ;非组合BCD码的加法调整 MOV [SI],AL ;结果送加数区INC SIINC DI ;指向下一位LOOP AD2 ;循环MOV SI,DXMOV DI,BPMOV BX,05AD3: ADD BYTE PTR[SI+BX-1],30H ; 十六进制的数字串转化 ADD BYTE PTR[DI+BX-1],30H ; 为ASCII码表示的数字串 DEC BXJNZ AD3RETADDA ENDPCODE ENDSEND START六、实验步骤1.按实验要求编写程序2.汇编连接程序生成可执行文件3. 执行程序观察结果七、拓展练习编写程序完成两个多位十进制数相减。
微机原理与接口技术 实验一 8086汇编语言的编程实践
实验一8086汇编语言的编程实践【实验目的】1.掌握8086汇编语言编程以及调试的过程。
2.学会使用masm.exe、debug.exe、td.exe等软件。
【实验内容】1.通过示范源程序熟悉从如何建立源文件到进行调试【实验步骤】1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。
2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。
下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。
在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“ C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口。
窗口标题行显示了EDIT程序的完整路径名。
紧接着标题行下面的是菜单行,窗口最下面一行是提示行。
菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F 打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。
如果键入EDIT命令时已带上了源程序文件名(C:\ASM\HELLO.ASM),在编辑窗口上部就会显示该文件名。
如果在键入EDIT命令时未给出源程序文件名,则编辑窗口上会显示“UNTITLED1”,表示文件还没有名字,在这种情况下保存源程序文件时,EDIT会提示输入要保存的源程序的文件名。
编辑窗口用于输入源程序。
EDIT是一个全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一个位置上。
微机原理与接口技术 DEBUG 调试程序的应用(1)
实验一Debug 调试程序的应用一、实验目的1.掌握Debug常用命令的应用。
2.利用Debug调试可执行文件(*.EXE)。
二、实验内容1. 进入Debug,使用A命令将源程序写入100H开始的内存并汇编,然后使用G命令运行程序,接着用U命令反汇编,将机器指令送到起始地址为200H 的若干单元并加以验证,用Q命令退出Debug,返回DOS提示符。
2. 进入Debug,使用A命令将源程序写入100H开始的内存并汇编,然后使用G命令运行程序,接着用D命令观察运行结果后,在用U命令反汇编,用Q命令退出Debug,返回DOS提示符。
3.进入Debug,用A命令写入汇编源程序,接着用R命令显示状态,并用T命令单条执行指令,注意在执行命令的同时观察相应寄存器的状态。
4.练习使用填充命令F、搬家命令M和比较命令C。
5.利用Debug调试可执行文件(*.EXE)。
三、实验仪器、材料1. 软件DOSBOX、MASM2. PC微机一台四、实验步骤1.进入debug,使用A命令:-a100写入以下代码:MOV DL, 33H ;字符3的ASCII送DLMOV AH, 2 ;使用DOS的2号功能调用INT 21H ;进入功能调用,输出‘3’INT 20H ;执行INT 20H中断服务程序,结束程序,返回DOS 写完回车两下,再用-g=起始地址结束地址命令回车,再用-u命令回车,用-d100可得如图1-1,然后用-e200命令空格依次输入:B2 33 B4 02 CD 21 CD 20回车,用-d200可得如图1-2,用q退出debug。
2.进入dedug,使用A命令:-a300 写入以下代码MOV AL, [0120]ADD AL, [0122]DAAMOV BY[0124],ALMOV AL, [0121]ADC AL, [0123]DAAMOV BY[0125],ALINT 20用-g命令,再-d100查看结果如图2-1,在用U命令反汇编,用Q命令退出debug。
微机原理及接口技术第一章概述
三、微型计算机的分类
按处理器同时处理数据的位数或字长分:
8位机
按其结构分:
16位机
32位机
64位机
PC机、
单片微型机、 单板微型机
1.2
微型计算机组成
现代计算机结构仍然是在冯· 诺依曼提出 的计算机逻辑结构和存储程序概念基础上建 立起来的。
一、微型计算机的硬件结构
微型计算机由微处理器、存储器、输入/输 出接口构成,它们之间由系统总线连接。
地址总线 (AB)
只读存储器 ROM 随机存储器 RAM
I/O接口
I/O设备 数据总线 (DB) 控制总线 (CB)
CPU
1. 微处理器
整个微机的核心是微处理器(up, MPU),也 称CPU。它包含算术逻辑部件ALU、寄存器组 及控制部件。
ALU : 算术运算、逻辑运算
寄 存 器:存放操作数、中间结果、地址、标 志等信息 控制部件:整个机器控制中心,包括程序计 数器IP、指令寄存器IR、指令译 码器ID、控制信息产生电路。
外部设备
I/O接口电路
存储器 RAM ROM 总线
控制部件
算术逻辑部件
寄存器组
MPU
2. 存储器 微机的存储器分为:主存和辅存 主存(内存):用于存放当前正在运行的程序和正 待处理数据。(CPU内部cache,主 板上的内存, 造价高,速度快,存 储容量小) 辅存(外存):存放暂不运行的程序和输入处理的 数据,(主机箱内或主机箱外,造 价低,容量大,可长期保存,但 速度慢)
办公自动化
信息高速公路
仪器仪表
将传感器与计算机集 成于同一芯片上,智能
传感器不仅具有信号检
测、转换功能,同时还 具有记忆、存储、解析、 统计、处理及自诊断、 自校准、自适应等功能。
微机原理与接口技术第一,二章
第1章微型计算机的系统结构与工作原理计算机是20世纪最伟大的发明之一,微型计算机是计算机的一个重要分支,它的发展是以微处理器的发展为主要标志的。
本章对微型计算机的发展概况进行了概述,对微型计算机的特点、应用、分类以及主要性能指标进行了概括,对微型计算机的结构和工作原理进行了介绍,对微型计算机的系统结构层次进行了分析。
最后对微型计算机的基本数据类型及其在存储器中的存放进行了描述。
1.1 概述1.1.1 微型计算机的发展概况1946年第一台计算机在美国问世,在这以后几十年的迅猛发展中,计算机经历了电子管时代,晶体管时代,集成电路时代,大规模、超大规模集成电路时代,超大规模、超高速集成电路时代。
电子计算机的诞生、发展和应用普及,是20世纪科学技术的卓越成就,计算机技术对其他科学技术发展的推动作用,以及对整个人类生活的影响是前所未有的。
在当今的信息化,网络化时代,计算机已成为人们工作生活中不可缺少的基本工具,而在计算机中人们接触最多的是微型计算机。
微型计算机诞生于20世纪70年代,是第四代计算机向微型化发展的一个重要分支,它的发展是以微处理器的发展为主要标志的。
微处理器简称MPU(MicroProcessing Unit),它是微型计算机的核心芯片。
它将微型计算机的运算器和控制器集成在一片硅片上,也称中央处理器CPU(Central Processing Unit)。
微处理器具体由算术逻辑部件ALU(Arithmetic Logical Unit)、控制部件、寄存器组和片内总线等几部分组成。
微处理器的产生和发展与大规模集成电路的发展是密不可分的。
20世纪60年代后期,在一片几平方毫米的硅片上,可以集成几千个晶体管,出现了大规模集成电路LSI(Large Scale Integrate circuit)。
LSI器件体积小、功耗低,可靠性高,为微处理器及微型计算机生产提供了可能。
1971年世界上第一台微处理器(4004)和微型计算机在美国旧金山南部的硅谷应运而生,从而开创了微型计算机发展的新时代。
精品课件-微型计算机原理及接口技术-第1章
微机原理及接口技术
本课程的内容 以8086/8088 CPU构成的微机系统为例,介绍微机系统的组
成、工作原理。 为实现特定的任务,如何对上述微机系统进行功能扩展。
2
为什么要学习这门课?
通过本课程的学习,希望同学们能够 1. 了解一种具体的计算机(微机) 2. 初步掌握(或了解)以下技能: 根据工程需要,选择合适的微处理器(或单片机),通过增加适 当的外围芯片,构成应用系统,使它们能够按照设计意图稳定、 可靠地工作(包括硬件和软件两方面)。
13
Altair 8800 Computer with 8 inch floppy disk system
This is an original copy of 8K BASIC on paper tape for the MITS Altair 8800 cwormiptutteenr.byThBeilBlASGIaCteisn,tePrapurletAelrlewna,sand14
皓龙6200是全球首款16核x86处理器。
24
1.2 微处理器概述 二、计算机的两个发展方向
1. 高速度、功能强的巨型机和大型机 军事、尖端科学
2. 价格低廉的超小型机和微型机 开拓应用领域、占领更大市场
25
IBM Blue Gene
26
BlueGene/L 27
28
西安电子科技大学 计算机学院
48
1.2 微型计算机的组成 1.2.2 微型计算机的工作过程
【例】Y=10+20,结果送266单元 MOV AL,10 ADD AL,20 MOV [266],AL HLT
49
1.2 微型计算机的组成 1.2.2 微型计算机的工作过程
微机原理与接口技术实验讲稿PPTppt课件185页PPT
SPP信号 STOBE Data0~7 ACK
BUSY
PE SELECT AUTO LF ERROR INTI SLCT IN
GND
EPP信号 方向 nWrite 输出 Data0~7 双向 Interrupt 输入
nWait 输入
用户自定义 aSTB nAddrSTB 口
nWrite
D1 DB0...DB7 .
.
Q1 A0
Q2 Q3
A1 A2
.
Q4
nWait 信号产 生电路
D8
Q5 Q6
A5
控制寄存器 (BASE+2)
×
×
DIR IRQEN ASTRB INIT DSTRB WRITE
方向位 1=输入 0=输出
中断使能位
初始化位
读/写状态位
1有效
1有效
1=读
地址选通位
数据选通位 0=写
0有效
0有效
▼ EPP接口初始化 在使用EPP之前应将并口置于正向传输模 式(输出),即将控制寄存器的方向位 (Bit5)置0。可编写EPP初始化函数 epp_init()如下:
EPP端口写函数epp_write_data()
void epp_write_data(unsigned char paddr,unsigned char data)
{ outportb(0x37b,paddr); epp_check_clear(); outportb(0x37c,data); epp_check_clear();
void epp_init(void) {
outportb(0x37a,0x04);
微机原理及接口技术实验讲义
微机原理与接口技术实验讲义实验一汇编程序的调试与Debug应用一、实验目的(1)掌握汇编语言的编程结构与方法。
(2)理解汇编语言的运行机制。
(3)掌握Debug调试语句及调试技巧。
二、预习要求复习汇编程序语言,提前将本实验相关内容进行预习。
三、实验设备带有MASM汇编工具的PC机一台。
四、实验原理程序的编写、编译的一般过程(1)汇编语言支持任意字处理软件,可以选用现有的文本编辑软件,例如EDIT,记事本等,进行源程序的编写,编写完毕之后,需将文件保存为*.asm文件(源文件)。
(2)利用MASM软件对所编写的*.asm文件进行汇编,生成*.obj文件(目标文件),以及调试用*.LST(列表文件)和*.crf(交叉引用表)(3)利用Link命令对程序进行连接,将目标文件与库文件进行连接,最终生成*.exe 文件(可执行文件)。
若上述几步无问题,则最终生成可直接运行的*.exe文件,若过程中出现语法错误,请按照提示将所有语法错误进行改正,若汇编过程通过,但运行结果不正确,则表明出现语义错误,此时,需利用调试软件,例如Debug进行调试,查找出现语义错误的语句进行修改,需反复进行调试,直至程序运行正确。
例:使用MASM50 汇编程序进行汇编,输入命令行masm 或者masm *.asm 后根据提示,输入文件名,在汇编没有错误的情况下,如屏幕所示:汇编程序可生成三个文件,*.obj,*.lst 和*.crf。
*.obj-目标文件,用于连接生成可执行文件;*.lst-列表文件(可选),汇编语言汇编的机器语言与汇编语言对照表,可用于调试;*.crf-交叉引用文件(可选),给出了用户定义的所有符号和对每个符号定义、引用的行号。
汇编连接命令行:link [*.obj] [*.obj] [*.lib] ↙连接程序,将多个目标程序及库文件,连接生成可执行的*.exe 文件,同时可选择生成*.map 文件。
*.map-地址映像文件,给出内存地址分配的有关信息。
微机原理及接口技术1-讲义
• 内部总线 CPU内部各部件之间的公共通道 注:CPU只有配上存储器、外部输入/输 出接口构成一台微型计算机才能工作
CPU的功能: • 完成算术、逻辑运算
• 保存少量数据 • 对指令译码、完成规定的操作 • 能和外设及内存之间交换数据 • 提供控制信号和时序 • 响应中断请求
(1)机器数
为表示带符号数,通常规定数的最高位为符 号位。符号位通常用“0”表示正数,用“1”表示 负数。如在8位机中,+12表示为00001100B, −12表示为10001100B。这种能被计算机识别的 带符号位的二进制数就称为机器数,而它所代表 的真实值被称为机器数的真值。
(2)带符号数的表示
• 第四代微处理器(1983以后) 代表机型:Intel 80386、80486 Motorola 68040
Zilog Z80000 字长:32位 工艺:CHMOS工艺 集成度: 15万~120万晶体管/芯片 时钟频率:16~60MHZ 平均指令执行时间代表机型:Pentium 586
• 小型计算机:结构简单、成本较低、易维护和使用。其规 模和设置可以满足一个中小型部门的工作需要。
• 中型计算机:最大的特点是具有较好的性能价格比。介于 小型机和大型机之间,能够解决较复杂的数学计算和数据 处理。
• 巨型计算机:也称为超级计算机。具有极高的性能和极大 的规模,价格昂贵,多用于尖端科技领域如航天和军事领 域。
1.2 微型计算机概述
1.2.1 微处理器(CPU)
集成在LSI、VLSI集成电路芯片上的中央处 理单元,是微型机中运算和控制的核心部件
微处理器组成:
• 算术逻辑部件 算术运算
微机原理与接口技术(田辉)第一章
1-3-1 微型计算机
2、微型计算机分类
从微型计算机的结构形式来分,为单片机、单板 机和多板机。
单片微型计算机(即单片机)。把微型计算机的主要部件CPU、一 定容量的存储器、I/O接口及时钟发生器集成在一块芯片上的单 芯片式微型计算机。具有体积小、指令系统简单、性价比高等优 点,广泛应用于工业控制、智能仪器仪表等领域。 单板微型计算机,即单板机。是将微处理器、一定容量的存储器、 输入/输出接口、简单的外部设备、辅助设备通过总线装配在一 块印刷电路板上的微型计算机。主要用于实验室以及简单的控制 场合。
变集中处理为分级处理,浮点运算、高级语言
第三代 中小规模集成电路时代(1965-1970) 存储容量大,运算速度快,几十至几百万次/秒
第四代 大规模、超大规模集成电路时代(1971至今)
向大型机和微型机两个方向发展 现代计算机发展方向 巨型化,微型化,网络化,智能化,多媒体化
微型计算机的发展
• 十进制数转换为R进制数:整数和小数部分分 别进行转换
1、整数部分 “除R取余”:十进制整数不断除以转换进制基数,直至商 为 0。每除一次取一个余数,从低位排向高位。
二. 进位计数制之间的转换
例:39转换成二进制数 39 =100111B 2 39 2 19 1 ( b0) 2 9 1 ( b1) 2 4 1 ( b2) 2 2 0 ( b3) 2 1 0 ( b4) 0 1 ( b5 )
1-2 微处理器--- CISC与RISC
精简指令集计算机
提出背景:使用指令的80%,只占处理器指令集的20% RISC的基本思想 简化指令功能,指令集中只包含使用频度高、功能简单、能够 在一个节拍内执行完成的指令 将较复杂的功能用一段子程序来实现 大量使用寄存器,优化 CPU的控制逻辑,提高程序执行的速度
微机原理与接口技术实验报告——8255A并行口实验(一)
微机原理与接口技术——实验题目:8255A并行口实验(一)实验四8255A并行口实验(一)一、实验目的⒈掌握8255A和微机接口方法。
⒉掌握8255A的工作方式和编程原理。
二、实验内容用8255PA口控制PB口。
三、实验接线图图6-3四、编程指南⒈8255A芯片简介:8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式⒉使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB口工作在方式0作为输出口。
五、实验程序框图六、实验步骤⒈在系统显示监控提示符“P.”时,按SCAL键,传送EPROM中的实验程序到内存中。
⒉8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。
⒊8255A芯片B口的PB0-PB7依次接Ll-L8。
⒋运行实验程序。
在系统显示监控提示符“P.”时,输入11B0,按EXEC键,系统显示执行提示符“┌”拨动K1-K8,LI-L8会跟着亮灭。
七、实验程序清单CODE SEGMENT ;H8255-1.ASMASSUME CS:CODEIOCONPT EQU 0FF2BHIOBPT EQU 0FF29HIOAPT EQU 0FF28HORG 11B0HSTART: MOV AL,90HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOAPTIN AL,DXMOV DX,IOBPTOUT DX,ALMOV CX,0FFFFHDELAY: LOOP DELAYJMP IOLED1CODE ENDSEND START八、实验结果九、实验总结本次实验有一定的难度,在实验的过程中出现了许多的问题,原因是对实验的原理不够理解。
完成一个硬件实验不仅需要动手操作能力强,还需要有一定的理论知识。
微机原理与接口技术第1章 概述
1.1 微型计算机的组成特点与发展 1.2 微型计算机的系统组成 1.3 8086微处理器的内部组成与工作模式
1
1.1 微型计算机的组成特点与发展 1.1.1 微型计算机的组成特点 1.1.2 微型计算机的产生与发展
2
1.1.1 微型计算机的组成特点
1. 微型计算机的组成特点 (1) 结构紧凑,体积小,重量轻,使用方便灵活。 (2) 功耗小,价格低廉。 (3) 可靠性高,应用广泛。
16 位
运算寄存器
地址加法器 ∑
20 位 16 位
CS DS SS ES IP
内部寄存器
段寄
存器 I/O 控制 电路
外部 总线
ALU 状态寄存器
执行部件 控制电路
123456 8 位 指令缓冲队列
执行部件(EA)
总线接口部件(BIU)
图图1-24.1 8086 微处理器组成原理
Байду номын сангаас
18
(2)通用寄存器 通用寄存器共有8个,即AX、BX、CX、DX、SP、BP、DI和SI,各 16位。其中AX、BX、CX和DX可分别分为两个8位寄存器,依次表 示为AH、AL、BH、BL、CH、CL、DH和DL。这些寄存器除了作为 通用数据寄存器之外,还有一些专门的用途。 AX(Accumulator):16位累加器,在8位数据运算时,以AL作为 累加器。 BX(Base):基址寄存器。 CX(Count):隐含为计数器。 DX(Data):高位数据寄存器。 SP(Stack Pointer):堆栈指针。 BP(Base Pointer):基址指针,用来指示堆栈区域。 DI(Destination Index):目的变址寄存器,与DS联用。字符串 处理中与ES联用,隐含为目的操作数地址。
微机原理与接口技术实验
Flying College of BinZhou University
© 2009 Yuanwei
微机原理与接口技术实验
试验程序框图
Flying College of BinZhou University
© 2009 Yuanwei
微机原理与接口技术实验
试验六: A/D转换试验
Flying College of BinZhou University
用8255PA口控制PB口。
试验接线
PA0~PA7→K1~K7;(开关量输入模块) PB0~PB7→L1~L8;(发光管输出模块) 8255数据、控制线内部已线连好。
Flying College of BinZhou University
© 2009 Yuanwei
微机原理与接口技术实验
编程指南
⒈ 8255A芯片简介:8255A可编程外围接口芯片是INTEL企业 生产旳通用并行接口芯片,它具有A、B、C三个并行接口,用 +5V单电源供电,能在下列三种方式下工作: 方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式 方式2:双向选通工作方式 ⒉ 使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开 关量,PB口工作在方式0作为输出口。
© 2009 Yuanwei
微机原理与接口技术实验
试验目旳
1、学习微机系统中扩展简朴I/O口旳措施。 2、学习数据输入输出程序旳编制措施。
试验内容
利用74LS244作为输入口,读取开关状态,并将此状态经过 74LS273再驱动发光二极管显示出来。
Flying College of BinZhou University
© 2009 Yuanwei
8086-8088微机原理及应用Ⅰ实验指导书
格式为:
cd d:\student\your_name
3、MD命令
建立一个新的目录
格式为:
md your_name
4、DEL命令
删除文件
格式为:
delfirst01.asm
5、RD命令
删除目录,要求要删除的目录下无任何目录或文件
格式为:
rd your_name
6、COPY命令
拷贝命令
DOS功能调用就是为诸如此类的目的设置的。DOS功能调用要求在进入INT21H调用前,首先将功能调用号送AH寄存器,并根据功能调用号准备初始数据。也就是说INT 21H的2号功能调用是输出DL寄存器中的字符。INT 20H是BIOS中断服务,这一软中断用来正常结束程序。
运行步骤:
(1)进入DEBUG
data segment
astr DB 'This is a masm sample!',0dh,0AH,'$'
data ends
code segment
assumeCS:code,DS:data
main proc far
start:
PUSHDS
XORAX, AX
PUSHAX
MOVAX,code
MOVDS, AX
例如:BCDSUM.EXE可执行文件在A盘,用DEBUG对其进行调试的操作命令如下。
C:\>DEBUG A:\BCDSUN.EXE
DOS在调用DEBUG程序后,再由DEBUG把被调试文件装入内存,当被调试文件的扩展名为COM时,装入偏移量为100H的位置,当扩展名为EXE时,装入偏移量为0的位置,并建立程序段前缀PSP,为CPU寄存器设置初始值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一DEBUG调试程序的应用一、实验目的1、了解DEBUG调试程序常用命令的基本格式、主要功能和使用方法。
2、熟悉进入或退出DEBUG调试程序运行界面的步骤。
3、掌握用DEBUG调试程序进行程序编辑、调试、运行、结果检查的基本方法。
4、进一步汇编语言上机环境及基本操作二、实验预习要求1、阅读本实验讲义和附录1,了解DEBUG调试程序常用命令的基本格式、主要功能和使用方法。
2、明确本实验的内容、步骤和方法,写出预习报告。
三、实验内容及步骤:1、启动DEBUG程序(1). 直接启动如在C盘的根目录下,启动的方法是:C:\>DEBUG_这时屏幕上会出现“_”提示符,等待键入DEBUG命令。
(2). 启动DEBUG程序的同时装入被调试文件命令格式如下:C:\>DEBUG [d:][PA TH]filename[.EXT][d:][PATH]是被调试文件所在盘及其路径,filename是被调试文件的文件名,[.EXT]是被调试文件的扩展名。
例如:BCDSUM.EXE可执行文件在A盘,用DEBUG对其进行调试的操作命令如下:C:\>DEBUG A:\BCDSUN.EXE↙DOS在调用DEBUG程序后,再由DEBUG把被调试文件装入内存,当被调试文件的扩展名为COM时,装入偏移量为100H的位置,当扩展名为EXE时,装入偏移量为0的位置,并建立程序段前缀PSP,为CPU寄存器设置初始值。
2、在DEBUG环境下建立和汇编程序在DEBUG环境下用户可以直接建立汇编语言源程序,并可以进行编辑修改,还可以进行汇编。
(1)。
在在显示器上输出一个单字符比如,在DEBUG下运行如下程序:MOV DL,33H ;字符3的ASCII码送DLMOV AH,2 ;使用DOS的2号功能调用INT 21H ;进入功能调用,输出‘3’INT 20H ;BIOS中断服务,程序正常结束。
该程序运行结果是在显示器上输出一个字符‘3’。
其中涉及DOS和BIOS功能调用。
因为我们是在DOS的支持下运行汇编语言程序,所以一般情况下,不能轻易使用输入/输出指令直接通过端口输入/输出,而必须使用DOS内部提供的子程序完成输入/输出。
DOS功能调用就是为诸如此类的目的设置的。
DOS功能调用要求在进入“INT 21H”调用前,首先将功能调用号送AH寄存器,并根据功能调用号准备初始数据。
也就是说INT 21H的2号功能调用是输出DL寄存器中的字符。
“INT 20H”是BIOS中断服务,这一软中断用来正常结束程序。
“INT 20H”也可改为“INT 3”,表示程序执行到此暂停。
运行步骤:①.进入DEBUG界面设C盘上有程序,进入DOS环境后键人DEBUG后回车,即C:\>DEBUG随后屏幕显示:_“_”号是进入DEBUG的提示符,在该提示符下可键入任意DEBUG命令。
现在用A 命令输入程序如下:②.输入程序并汇编_A 100169C:0100 MOV DL,33 ;DEBUG默认16进制数169C:0102 MOV AH,2169C:0104 INT 2l169C:0106 INT 20169C:0108 ;回车结束程序的输入至此程序已输入完毕,并汇编成机器指令。
现在用G命令运行程序如下:③.运行程序_G=01003Program terminated normally如果现在想分析一下该程序的指令,可以用反汇编命令U作如下操作:④.反汇编_U 100,108169C:0100 B233 MOV DL,33169C:0102 B402 MOV AH,02169C:0104 CD21 INT 21169C:0106 CD20 INT 20169C:0108⑤.将机器指令程序送到起始地址为200H的若干单元_E 0200 B2,33,B4,02,CD,21,CD,20⑥.执行机器指令程序_G=02003Program terminated normally(2).在内存DS:1200H 开始的存储单元中建立一个大写字母区。
①.手工编写程序,实现在内存DS:1200H 开始的存储单元中建立一个大写字母区。
MOV CX,1AH ;循环次数(1AH=26)MOV BX,1200H ;传送数据区首地址MOV AL,41H ;大写字母A的ASCII码LP:MOV [BX],AL ;LP为循环返回的符号地址INC ALINC BXLOOP LPINT 3 ;断点软中断作程序暂停指令用,便于程序调试②.进入DEBUG,用A命令输入程序并汇编。
—A 10020D0:0100 MOV CX,1A ;DEBUG默认16进制数20D0:0103 MOV BX,120020D0:0106 MOV AL,4120D0:0108 MOV [BX],AL ;由此处可知符号地址LP的偏移地址为0108 20D0:010A I NC AL20D0:010C INC BX20D0:010D LOOP 0108 ;LP用偏移地址0108代替20D0:010F INT 320D0:0110 ;回车结束程序的输入③.用D命令先查看存储单元的原值—D120020D0:1200 00 00 00 00 00 00 00 00 —00 00 00 00 00 00 00 00 ……………………20D0:1210 00 00 00 00 00 00 00 00 —00 00 00 00 00 00 00 00 ………………………………④.用G命令运行程序—G=0100回车后,屏幕上出现当前所有寄存器和标志位的值,并出现DEBUG的提示符。
⑤.再检查有关存储单元的内容20D0:1200 41 42 43 44 45 46 47 48—49 4A 4B 4C 4D 4E 4F 50 ABCDEFGHIJKLMNOP20D0:1200 51 52 53 54 55 56 57 58—59 5A 00 00 00 00 00 00 QRSTUVWXYZ…………………可以看到,在DS:1200开始的存储单元已建立了大写字母区。
3、练习R、U、E、T等命令。
4、退出DEBUG在DEBUG命令提示符“_”下键入Q命令,即可结束DEBUG的运行,返回DOS操作系统。
四、实验思考题与习题1、在实验内容(1)中,如何改变程序,在显示器上输出一个英文单词,如“WELCOME”?2、编写程序,在DS:1000开始的存储单元区建立一个0~~99的数据区,并在DEBUG 界面下编辑、调试、运行,检查其结果。
五、实验设备微型计算机一台六、实验报告要求1、记录实验内容(1)的步骤及程序运行后屏幕上显示的字符。
2、记录实验内容(2)步骤及程序运行前、后的结果。
3、选作实验习题1或2。
4、写出实验小结,说明通过上机操作对DEBUG调试有哪些新的认识。
内容包括实验心得(收获)、实验中遇到的问题及解决办法、不足之处和今后应注意的问题等。
实验二寻址方式与基本指令实验一实验目的1、熟悉80X86寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。
2、掌握汇编语言程序设计上机过程和汇编语言源程序结构,为后续汇编语言程序设计打好基础。
3、熟悉Microsoft的DEBUG或Borland的Turbo Debugger调试工具的使用方法。
二实验预习要求1、复习汇编语言程序设计上机步骤。
2、复习DEBUG调试工具的使用方法。
3、复习80X86操作数寻址方式及基本指令(数据传送、算术运算和逻辑运算等)。
4、了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际行环境的问题除外),以便在实验时进行验证。
三实验内容及步骤:1、读懂下列源程序,在未来汇编中编辑名为EX11.ASM的源程序,汇编生成EX11.OBJ 文件,连接生成EX11.EXE文件。
使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。
①.程序装入后,代码段寄存器CS的内容为H,代码段第一条可执行指令”MOV AX,DATA”对应的机器代码为H,它是一个字节指令,注意观察执行该指令时IP值的变化情况,该指令源操作数DATA的寻址方式是,其值为H 。
②.执行完“MOV DS,DA TA”指令后,数据段寄存器DS的内容为H,源程序在数据段中定义的数据82H、68H和88H被装入的存储单元的物理地址分别为H、H和H。
③.程序中第一条“ADD AL,[BX]”指令时对应的机器代码为H,它是一个字节指令,注意观察执行该指令时IP值的变化情况;该指令中源操作数的寻址方式为,该操作数所在存储单元的逻辑地址(DS):(BX)为,其物理地址为H;执行完该指令后(AL)= H,CF= ,OF= ,ZF= ,SF= ,AF= ,PF= ;若操作数为无符号数,计算结果是否正确?若两操作数为带符号数,计算结果是否正确?若计算结果正确,结果是正数还是负数?④.执行完第二条“ADD AL,[BX]”指令后(AL)= H,CF= ,OF= ,ZF= ,SF= ,AF= ,PF= ;若两操作数为无符号数,计算结果是否正确?若两操作数为带符号数,计算结果是否正确?⑤.指令“MOV SUM,AL”中,目的操作数的寻址方式为。
该指令执行完后,注意观察(DS):0003H单元中值的变化,该单元的值变为H。
DA TA SEGMENTNUM DB 82H,68H,88HSUM DW ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR AX,AXMOV BX,OFFSET NUMMOV AL,[BX]INC BXADD AL,[BX]JNC LP0INC AHLP0:INC BXADD AL,[BX]JNC LP1INC AHLP1:MOV SUM,AXMOV AH,4CHINT 21HCODE ENDSEND START2、指出下列指令的错误原因,上机运行,观察执行汇编程序(MASM.EXE)后给出的出错信息,改正后再上机验证。
①.MOV BP,BL ②.MOV [BX],[BP]③.MOV [BX],20H ④.INC [SI]⑤.ADD AX,[SI+DI] ⑥.SHL AX,3⑦.PUSH 2000H ⑧.POP AL⑨.MOV CS,AX ⑩.MOV DS,1000H四、实验设备微型计算机一台五、实验报告要求1、写出实验内容1中所有问题的正确答案,对实验前做错或做不出来的问题,说明通过上机操作对这些问题有哪些新的认识。
2、写出实验内容2中10条错误指令的错误原因,对可以改正的指令给出其正确形式,并分别记录汇编程序对每条错误指令给出的出错信息。