微机原理实验指导

合集下载

微机原理实验指导书

微机原理实验指导书

实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。

二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。

2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。

在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。

当每条数据传送完毕时,AX中的内容是什么。

程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。

三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。

2、本实验要求在PC机上完成。

3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。

4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。

如果用堆栈作为中间存储单元,必须遵循先进后出的原则。

(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。

[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。

[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。

微机原理实验学生实验指导书

微机原理实验学生实验指导书

微型计算机原理实验指导书河北大学电子信息工程学院2017年10月目录实验一系统认识及编程初步实验 (1)实验二输入输出程序设计实验 (7)实验三8255并行接口实验 (9)实验四8259中断控制实验 (13)实验五8254定时/计数器应用实验 (19)实验六综合实验 (24)实验一系统认识及编程初步实验一、实验目的1. 掌握TD系列微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

2. 掌握使用运算类指令编程及调试方法。

3. 学习使用软件监视变量的方法。

二、实验设备PC机一台,TD-PITE实验装置一套。

三、实验内容(一)基础实验1. 系统认识实验编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。

2. 运算编程实验80X86指令系统提供了实现加、减、乘、除运算的基本指令,可对表1-1所示的数据类型进行算术运算。

本实验以二进制双精度加法运算为例,计算X+Y=Z,将结果Z存入某存储单元。

表1-1 数据类型算术运算表(二)提高实验1. 在系统认识实验中,编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。

通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H单元开始的数据。

2. 在运算编程实验中,求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位数),利用程序求和,存放在偏移地址2000H。

四、实验步骤(一)系统认识实验1. 运行Wmd86软件,进入Wmd86集成开发环境。

2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言和寄存器类型,这里我们设置成“汇编语言”和“16位寄存器”,如图1-1、图1-2所示。

设置选择后,下次再启动软件,语言环境保持这次的修改不变。

图1-1 语言环境设置界面图1-2 寄存器设置界面3. 语言和寄存器选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图1-3所示。

微机原理及实验指导

微机原理及实验指导

实验一、I/O程序设计一.实验内容:I/O程序设计(一)实验内容:1.编程由键盘输入任意一个字符,将该字符的ASCII码值显示在屏幕上。

2.从键盘输入两个1位十进制数,计算二者之和,并将结果显示在屏幕上。

3.编程由键盘输入任意一位数,将该数以二进制数形式显示在屏幕上,例:5=00000101B (二)实验步骤: 1. 画出实验流程图。

2. 运行Tddebug软件,选择Edit菜单编写实验程序 3. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。

4. 使用Rmrun菜单中的Run运行程序,观察运行结果。

5. 使用Rmrun菜单中的Debug调试程序。

单步执行指令,观察各寄存器及数据区的内容。

6. 更改数据区中的数据,考察程序的正确性。

二.分析设计思想。

设计思路:首先将该数以十六进制数形式分解,然后将每一位分别转换为ASCII码送屏幕显示。

其中0H~9H之间的数加30H,即可得0H~9H的ASCII码,而AH~FH的ASCII码,则需再加7H,参见表5-1。

参考程序流程如图2-1所示。

示例程序参见参考程序清单。

三.程序清单及流程DATA SEGMENTMES DB 'Show a as hex:',0AH,0DH,'$'SD DB 'a'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES ;显示提示信息MOV AH,09H INT 21HMOV SI,OFFSET SD 4MOV AL,DS:[SI]AND AL,0F0H ;取高4位MOV CL,4SHR AL,CLCMP AL,0AH ;是否是A以上的数JB C2ADD AL,07HC2: ADD AL,30HMOV DL,AL ;显示字符MOV AH,02HINT 21HMOV AL,DS:[SI]AND AL,0FH ;取低4位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV DL,AL ;显示字符MOV AH,02HINT 21HMOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START四.实验结果。

微机原理实验指导书(软件)

微机原理实验指导书(软件)

实验一系统认识与数码转换实验一、实验目的1.学习汇编语言的开发过程。

2.熟练掌握DEBUG调试程序。

参考书后附录E二、实验设备PC机一台三、实验内容及步骤1.系统认识实验在内存缓冲区BUFF中存储0-F共16个字节数据,实验参考程序如下:DATA SEGMENTBUFF DB 16 DUP (?);定义数据段DATA ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DI,OFFSET BUFF ;设置缓冲区首址MOV CX,16 ;字节数送入CX中MOV AL,0A1: MOV [DI],AL ;写入一字节INC DI ;修改地址指针INC AL ;修改数据LOOP A1 ;未填完循环MOV AH,4CHINT 21HCODE ENDS ;代码段结束END START ;程序结束实验步骤:(1)把实验用的相关软件拷贝到PC机中,比如D盘的HUIBIAN文件夹(D:\HUIBIAN)。

(2)进入DOS环境(开始\程序\附件\‘C:\命令提示符’),进入路径D:\HUIBIAN。

(3)编辑,启动编辑软件EDIT,输入源程序,检查无误后存盘,如文件名11.ASM。

(4)汇编,即键入MASM 11.ASM回车,通过后应生成文件11.OBJ。

(5)连接,即键入LINK 11.OBJ回车,通过后应生成文件11.EXE。

(6)调试,即键入DEBUG 11.EXE,进入调试软件DEBUG来调试源程序。

DEBUG的用法可参考教材的附录E。

(7)运行程序,观察结果是否正确。

2.数码转换实验将十进制数的ASCⅡ码转换为BCD码。

设五位十进制数的ASCⅡ码已存放在内存缓冲区BUF1中,转换为 BCD 码后,再分别存入内存缓冲区BUF2中。

提示:一字节ASCⅡ码取其低四位即变为BCD码。

实验程序如下:DATA SEGMENTBUF1 DB 31H,32H,33H,34H,35H ;定义数据段BUF2 DB 5 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX, 5 ;循环计数器赋初值MOV SI,OFFSET BUF1 ;ASCⅡ码首址MOV DI,OFFSET BUF2 ;BCD码首址A1: MOV AL,[SI] ;送ASCⅡ码至ALCMP AL,3AH ;比较AL与3AJAE A2 ;大于3A则转A2SUB AL,30H ;小于3A则取ASCⅡ码低4位JB A2 ;小于30则转A2MOV [DI],AL ;保存结果A2: INC SIINC DILOOP A1MOV AH,4CHINT 21HCODE ENDSEND START实验步骤(1)输入源程序,进行汇编、连接。

微机原理实验指导

微机原理实验指导

实验一串行通信实验一、实验目的利用实验机内的8251芯片,实现与PC机通讯。

二、实验内容(1)利用实验机内的8253芯片的分频作为8251的收发时钟频率。

(2)通过编程将指定数据通过8251发送给PC机接收,并在PC机屏幕上显示出该数据。

三、实验接线图图6-13四、实验说明1)8251状态口地址:03F9H,8251数据口地址:03F8H;2)8253命令口地址:43H,8253计数器#1口地址:41H;3)通讯约定:异步方式,字符8位,一个起始位,一个停止位,波特率因子为16,波特率为9600;4)计算T/RXC,收发时钟fc,fc=16*9600=153.6K;5)8253分频系数:1843.2K / 153.6K=12。

五、实验步骤1)CZ1系统通信口→编程用PC机串口2)CZ11用户通信口→用于接收数据的PC机串口3)8251单元:T/RXC→8253模块的OUT1,TXD→EX-TXD,RXD→EX-RXD;4)8253单元:GATE1→+5V,CLK1→1.8432MHZ;5)用于接收数据的PC机运行“串口调试助手”,设置好通讯约定,打开串口,并选择“十六进制显示”6)打开实验箱电源,编程用PC机运行“ZY8086K微机原理调试软件”,编写程序,并编译装载、连续运行7)在用于接收数据的PC机上运行”串口调试助手”,并观察其接收到的数据。

六、实验程序清单code segmentassume cs:codesecoport equ 03f9h sedaport equ 03f8horg 1a00hstart:; 以下用于设置定时器8253for8253:mov dx,43hmov al,76hout dx,almov dx,41hmov al,0chout dx,almov dx,41hmov al,00hout dx,al; 以下用于设置8251for8251:mov dx,03f9h ;复位mov al,00hout dx,almov dx,03f9hmov al,00hout dx,almov dx,03f9hmov al,00hout dx,almov dx,03f9hmov al,40hout dx,almov dx,03f9h ;设置模式字mov al,4ehout dx,almov dx,03f9h ;设置控制字mov al,25hout dx,al;开始发送wattxd: ;测试TxRDY mov dx, 03f9hin al,dxtest al,01hjz wattxdmov al,30h ;数据送8251的数据端口mov dx, 03f8hout dx,almov cx,7fffh ;延迟一段时间delay:loop delayjmp wattxdcode endsend start实验二并行通信实验一、实验目的掌握8255A的工作方式和编程原理。

微机原理实验指导书

微机原理实验指导书

实验一数据传送一、实验目的1、熟悉SH51仿真器的使用方法。

2、练习设计简单的程序。

3、掌握8031片内RAM和片外RAM的数据传送的方法,从而了解这两部分存储器的特点二、实验设备和器件PC一台、DP-51PROC单片机实验仪一台、仿真器一台。

三、实验内容将8031内容RAM40H—4FH置初值00H—0FH,然后将40H—4FH 的内容传送到外RAM4800H—480FH,再将4800H—480FH传回到内部RAM50H—5FH。

设置断点B1、B2、B3,每运行到断点时检查相应的CPU现场和存储单元的内容。

四、实验步骤1、向机器输入程序2、运行程序至第一个断点B1,检查内容RAM40H—4FH单元的内容及累加器A 的内容;3、运行程序至第二个断点B2,检查RAM4800H—480FH单元的内容及累加器A、数据指针DPTR的内容;4、运行程序至第三个断点B3,检查内容RAM50H—5FH单元的内容及累加器A、数据指针DPTR的内容;五、实验程序ORG 0000HSTART: LJMP MAINORG 0040HMAIN: MOV R0, #40HMOV R2, #10HCLR AA1: MOV @R0, AINC R0INC ADJNZ R2, A1 B1: MOV R0, #40HMOV DPTR, #4800HMOV R2, #10HA2: MOV A, @R0MOVX @DPTR, AINC R0INC DPTRDJNZ R2, A2B2: MOV R0, #50HMOV DPTR, #4800HMOV R2, #10HA3: MOVX A, @DPTRMOV @R0, AINC R0INC DPTRDJNZ R2, A3B3: SJMP $END实验二并行口一、实验目的:通过实验了解8031并口输入方式和输出方式的工作原理和编程方法。

二、实验设备及器件:PC一台、DP-51PROC单片机实验仪一台、仿真器一台。

微机原理实验指导书(修改1023)

微机原理实验指导书(修改1023)

微机原理实验指导书华中科技大学计算机学院武汉豪申光电新技术有限公司目录微机原理实验 (3)第一章16位汇编语言编程验 (3)实验一系统认识实验 (3)实验二分支程序设计实验 (6)实验三循环程序设计实验 (9)实验四排序程序设计实验 (12)实验五子程序设计实验 (15)微机接口实验 (19)第一节并行接口实验(8255芯片实验) (19)实验一8255并行接口实验 (19)第二节定时/计数实验(8253芯片实验) (26)实验二音乐发声器接口实验 (26)第三节串行通信接口实验(8251芯片实验) (33)实验三 RS-232标准全双工查询方式异步串行通信实验 (34)第四节A/D D/A转换器接口实验 (42)实验四查询方式A/D转换器接口实验(ADC0809) (42)实验五 D/A函数波形发生器接口实验(DAC0832) (49)微机原理实验第一章16位汇编语言编程验实验一系统认识实验⑴实验目的掌握在MF平台中汇编程序的编写、调试方法。

⑵实验内容基本实验将存储区BUF1中的内容复制到BUF2中。

⑶实验步骤(一)方式1(Debug方式)1.在MF2KP环境下输入汇编程序,编译、连接,生成.exe文件。

2.启动调试程序(Debug)。

3.在程序的退出处设置断点,利用Add Watch命令查看BUF2中的内容是否正确。

(二)方式2(人-机交互方式)1.在MF2KP环境下输入汇编程序,编译、连接、运行。

2.按提示输入数据,在屏幕显示的结果中查看BUF1,2中的内容是否正确。

3.输入不同的字符串,可得到不同的结果。

⑷实验资源配置IBMPC微机,Win2000操作系统,MF2KP微机原理实验集成开发环境。

⑸实验软件的编程◇实验流程图如图1.1.1所示将存储区BUF1中的内容复制到BUF2中的程序主功能模块如图1.1.1中的虚线框中所示。

◇实验参考程序如下所示;*--------------------------------------------------* ;* Aexp1.asm(汇编语言编程认识实验) * ;* Copyright (c) 2002 by HUST * ;* 程序调试:在EXIT处设置断点,利用Add Watch命令 * ;* 查看BUF1和BUF2的内容是否正确 * ;*-------------------------------------------------* DATA SEGMENTBUF1 DB 'MASM HELLO WORLD'COUNT EQU $-BUF1BUF2 DB20DUP(?)DATA ENDSSTACK1 SEGMENT STACKDB20DUP(?)STACK1 ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK1,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUF1 ;建立源地址指针MOV DI,OFFSET BUF2 ;建立目标地址指针MOV CX,COUNT ;字节数送入CX寄存器L1: MOV AL,[SI] ; 取源数据一个字节送入AL中MOV [DI],AL;将源数据送入目标地址单元中INC SIINC DIDEC CXJNZ L1 ;判断是否传送完毕EXIT: MOV AH,4CHINT21HCODE ENDSEND START⑹实验要求◇按要求完成实验得出正确结果.◇试着自己写出人机对话方式的汇编程序.◇完成实验报告实验二分支程序设计实验⑴实验目的掌握分支程序的结构。

微机原理实验指导

微机原理实验指导

微机原理实验指导部门: xxx时间: xxx整理范文,仅供参考,可下载自行编辑微机原理实验指导第一部分实验的目的和要求一实验要求1、实验前作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。

实验时要遵守实验室的规章制度,爱护实验设备。

要熟悉与实验相关的系统软件<如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。

在程序的调试过程中,有意识地学习及掌握DEBUG程序的各种操作命令,以便掌握程序的调试方法及技巧。

b5E2RGbCAP3、为了更好地进行管理,要求用硬盘<注:D盘下)存储程序,以避免文件丢失。

注:文件名必须完整,源程序要带有后缀 .asm 。

路径名以及文件名中不能包含汉字,只能使用字符。

4、程序调试完后,须由实验辅导教师在机器上检查运行结果。

5、每个实验完成后,应写出实验报告。

二实验报告规范1、要求使用学校专用的实验报告纸。

填写的信息包括:课程名称、实验序号、专业、班级、姓名、同组实验者、实验时间。

2、报告书写要规范,内容言简意赅。

内容应包括:实验名称、目的、内容、原理、实验步骤、实验记录、数据处理<或原理论证、或实验现象描述、或结构说明等)。

p1EanqFDPw3、一个实验对应一份实验报告。

三实验的目的实验目的不仅是为了验证书本理论,更重要的是对实践能力的培养。

其中包括:实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等。

开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。

DXDiTa9E3d对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序<或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或部分改变程序加以实现。

RTCrpUDGiT四实验的评价方式每次实验的考核结果按优秀、良好、中等、及格和不及格来评价。

《微机原理》实验指导

《微机原理》实验指导

《微机原理》实验指导书制订教师:王晓锐2015年4月目录实验1 EMU8086操作 (3)实验2 简单程序设计 (4)实验3 分支程序设计 (5)实验4 循环程序设计 (6)实验5 简单LED控制实验 (7)附录A:Emu8086使用指南 (8)附录B:源程序代码 (17)实验1 EMU8086操作1 实验目的:熟悉仿真软件emulator的使用。

熟悉指令系统和常用的伪指令,掌握简单程序的设计方法。

2 实验内容1:编写计算F=XY+Z-500的程序,其中X,Y,Z均为无符号的字节操作数。

程序代码如下所示。

DATA SEGMENTX DB 29Y DB 8Z DB 25F DW ?DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART: MOV AX,DATAMOV DS,AXMOV AL,XMUL YMOV BH,0MOV BL,ZADD AX,BXSUB AX,500MOV F,AXMOV AX,4C00HINT 21HCODE ENDSEND START(1)请阅读该程序,并写出注释。

(2)在emulator中输入以下代码,进行调试。

(3)请写出计算的结果是多少。

(4)请说明变量X,Y,Z和F的物理地址是多少。

4 实验报告:请采用标准的实验报告纸,按照以上实验要求完成实验报告,最后进行实验总结,给出在调试过程中遇到的问题以及如何实验2 简单程序设计实验题目:进一步熟悉指令系统和常用的伪指令,掌握简单程序设计的方法、熟悉逻辑运算指令与算术运算指令。

实验内容:编写一个32位无符号数除法的程序。

存放在NUM1中的32位无符号数与存放在NUM2中的16位无符号数相除,商和余数分别存放在NUM3和NUM4中。

数据段的定义如下以及除法程序片段如下所示。

写出该程序,并在emulator中调试这个程序。

数据定义片段:NUM1 DD 2A8B7654HNUM2 DW 5ABCHNUM3 DW ?NUM4 DW ?除法程序片段:MOV AX,WORD PTR NUM1MOV DX,WORD PTR [NUM1]+2DIV NUM2MOV NUM3,AXAND NUM4,DX实验知识点:伪指令,简单的程序设计,逻辑操作,算术运算指令实验报告:1、画出实验程序的流程图。

2023年微机原理实验指导书

2023年微机原理实验指导书

2.1系统生疏试验【试验目的】把握TD 系列微机原理及接口技术教学试验系统的操作,生疏Wmd86 联机集成开发调试软件的调试环境。

【试验设备】PC 机一台,TD-PITE 试验装置一套。

【试验内容】编写试验程序,将00H~0FH 共16 个数写入到内存3000H 开头的连续16 个存储单元中。

【试验步骤】1.运行Wmd86 软件,进入Wmd86 集成开发环境。

2.在设置菜单中选择“汇编语言”和“16 位存放器”。

3.单击文集菜单的建命令,建一个文档,默认文件名为Wmd861。

4.编写试验程序,并保存,此时系统会提示输入的文件名,输完后点击保存。

5.单击编译文件,假设程序编译无误,则科技连续单击进展链接,链接无误前方可以加载程序。

6.连接PC 与试验系统的通讯电缆,翻开试验系统电源。

7.编译、链接都正确并且上下机通讯成功后,就可以下载程序,联机调试了。

可以通过端口列表中的“端口测试”来检查通讯是否正常。

点击下载程序。

为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。

下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。

起始运行语句下会有一条绿色的背景。

8.将输出区切换到调试窗口,试验命令D0000:3000 查看内存3000H 起始地址的数据。

9.点击按钮运行程序,等待程序运行停顿后,通过命令来观看程序结果。

10.也可以设置端点,要修改内存中的数据可以使用命令E,如E0000:3000 可以修改地址0000:3000 处的数据,修改完一个后,可按“空格”键连续输入下一个数。

输入完成后按“回车”键退出。

2.2数制转换试验【试验目的】1 把握不同进制数及编码相互转换的程序设计方法,加深对数值转换的理解。

2.生疏程序调试的方法。

【试验设备】PC 机一台,TD-PITE 试验装置一套。

【试验内容】编写程序,将ASCII 码表示的十进制数转换为二进制数。

【试验步骤】1.依据程序流程图编写程序。

微机原理实验指导书.

微机原理实验指导书.

微机原理与接口实验指导书皖西学院机械与电子工程学院2012.10实验一 DOS命令与汇编源程序输入、汇编、连接、运行一、实验目的掌握在计算机上运行汇编语言程序的整个操作过程。

学会将自己编制的汇编语言源程序用EDIT编辑程序输入计算机并存盘;学会用MASM宏汇编程序对汇编语言源程序进行汇编形成二进制目标文件;学会用LINK连接程序对二进制目标文件连接形成可执行文件;学会运行经汇编和连接后形成的可执行文件;学会用DEBUG调试程序运行和调试可执行文件。

二、实验设备1、PC系列不低于80286档次的微型机;2、DOS3.3以上版本的操作系统;3、EDIT,MASM,LINK,DEBUG执行程序。

三、实验步骤1、用EDIT编辑汇编源程序(1)MS-DOS Editor的启动与退出Editor是在DOS系统提示符下启动,其命令格式为:C:EDIT [Path] [filename]在编辑完成后,选择屏幕菜单的File命令(按“ALT+F”键)中的Exit项即可退出Editor。

(2)建立文本文件在MS-DOS Editor的屏幕菜单栏中File命令就是对文本文件的建立、存储和打印的操作。

A.建立文件(New)打开屏幕菜单栏中File下拉菜单,选择New项。

B.编辑文件将写好的汇编语言源程序输入到编辑文本区。

输入时,一行结束后按回车键(Enter)换行。

C.保存文件(Save)打开屏幕菜单栏中File下拉菜单,选择Save项在弹出的对话框中键入文件名。

如果要把文件保存到非默认路径下,则在键入文件名的同时键入路径。

D.打开文件(Open)打开屏幕菜单栏中File下拉菜单,选择Open项。

该窗口中有三个区可以选择要打开的文件:文件名区:可以直接键入要打开的文件名;文件表区:文件表中列出要打开的所有文件名,供用户选择;目录/磁盘区:键入的文件名是哪个磁盘目录中的,在该区中选择。

在Open对话框中用“Tab”或“Shift+Tab”键选择各区。

微机原理实验指导书

微机原理实验指导书

微机原理实验指导书第一章DEBUG调试系统的使用。

1一、DEBUG的作用。

1二、DEBUG的使用。

1第二章 Intel 80x86 指令系统及寻址方式和基本程序设计。

18一、数据传送指令。

18二、算术运算类指令及线性程序设计。

20三、逻辑及移位类指令与线性程序设计。

22四、转移类指令与分支型程序设计。

24五、循环控制类指令与循环程序设计。

25第三章 DOS 功能调用。

28一、源程序的编辑和可执行文件的形成。

28二、输入输出程序设计。

29第四章循环和分支结构汇编语言程序设计。

30一、循环程序结构。

30二、分支程序结构。

31三、综合程序练习。

32第五章子程序结构汇编语言程序设计。

32一、子程序之一___原程序结构的编辑和可执行文件的形成。

32二、子程序之二___子程序的设计。

38第六章高级汇编语言程序设计。

39一、宏汇编语言程序的结构。

39二、宏汇编语言程序设计。

40三、重复汇编技术。

40第七章键盘程序设计。

40一、键盘输入程序。

40第八章音乐程序设计。

42一、发音程序。

42二、音乐程序。

42第九章活动图形显示程序。

44一、活动字符图形显示。

44二、静止复合图形显示。

45第十章磁盘文件操作程序。

47一、文本文件内容显示。

47二、磁盘文件拷贝。

50 第十一章绝对磁盘读写程序。

53一、误删除文件的恢复。

53二、磁盘目录显示程序。

53第一章DEBUG调试系统的使用一、DEBUG的作用DEBUG是DOS提供的用于程序调试的系统,作为DOS的外部命令随DOS的其它外部命令一起由DOS的提供产商向用户提供。

因此用户在使用DEBUG系统时一定要注意当前用户所使用的DOS 的外部命令中是否提供该命令(若DOS命令不全,有可能没有此命令)。

二、DEBUG的使用1、DEBUG的调用由于DEBUG是DOS的外部命令,因此必须在DOS的提示符状态下进行调用。

调用的方法如下:C:\>DEBUG [FILENAME]此处FILENAME应是文件的全名,即应包括文件的主名和扩展名(若文件有扩展名),如文件不在当前目录,则还因包括文件所存放的目录名。

微机原理实验 原理

微机原理实验 原理

微机原理实验原理
实验1:微机原理实验的实验目的
实验2:微机原理实验的仪器和材料
实验3:微机原理实验的实验步骤
实验4:微机原理实验的实验结果与分析
实验5:微机原理实验的实验结论
实验1:实验目的
本实验旨在通过使用微机原理实验仪器和材料,了解微机原理的基本原理和工作方式。

实验2:仪器和材料
本实验所需的仪器和材料包括微机原理实验仪器、计算机、电源线、串口通信线、示波器等。

实验3:实验步骤
1. 将微机原理实验仪器与计算机连接,确保连接稳定。

2. 打开电源线,将微机原理实验仪器通电。

3. 配置串口通信线,确保仪器与计算机之间的串口通信正常。

4. 在计算机上开启相关的软件程序,进行实验参数的设置与调整。

5. 根据实验要求,进行数据采集、数据处理以及实验结果的观察与记录。

6. 分析实验结果,根据实验目的得出相应的结论。

实验4:实验结果与分析
根据实验数据的采集和处理,我们得到了实验结果。

经过对实
验结果的分析和比较,可以得出以下结论:
- 实验结果符合预期,验证了微机原理的基本原理和工作方式。

- 实验过程中出现了一些异常情况,为了更好地理解这些异常
状况,需要进一步分析和研究。

实验5:实验结论
通过本次微机原理实验,我们深入了解了微机原理的基本原理和工作方式。

我们可以得出以下结论:
- 微机原理是计算机科学中的基础课程,对于理解和掌握计算
机系统的工作原理至关重要。

- 通过实验,我们可以进一步深入理解微机原理,为今后的学
习和科研工作奠定基础。

微机原理试验指导书

微机原理试验指导书

《微型计算机原理》实验指导书上海行知学院计算机系二零零六年五月实验一DEBUG 调试指令的认识实验一、实验目的(1)熟悉 DEBUG的调试命令和 DEBUG的调试指令的使用方法(2)掌握各种寻址方式和指令的功能二、实验内容1、已知:(DS)=3000H、(ES)=3500H、(SS) =4000H、(BX)=0038H 、(BP)=0019H 、(SI) =0012H、(3005AH)=56H、(3005BH)=78H、(30068H)=11H、(30069H)=22H、(32000H)=12H、(32000H)=34H、( 35038H) =0AAH、( 35039H) =0BBH、( 4002BH) =88H、( 4002BH) =99H。

分别下列指令, 请说明其源操作数的寻址方式、有效地址和物理地址,以及AX寄存器中的内容。

(1)MOV AL,2000H(2)MOV AX , [2000H](3)MOV AX,BX(4) MOV AL , ES: [BX](5)MOV AX , 30H[BX](6)MOV AX , [BP][SI](7)MOV AL,10H[BX][SI](8)MOV DX , ES: [BX](9) MOV AL,ES:[BX]2、已知: (SS)= 2200H,(SP)=0010H,(DX)=ABCDH,(CX)=5678H执行下列指令段:PUSHDXPOPCX请说明 DX、CX以及 SP寄存器中的内容,用T 命令跟踪,观察执行结果3、已知:(BX) =82A8H、( AX) =9FA3H执行面这指令,求 AX寄存器及 CF, SF, ZF 和 OF 的内容是什么?ADD AX,BX4、假设( DX) =97B5H,确定下列各条指令单独执行后的结果。

(1) AND DX, 0F54H(2) XOR DX, 0FFFFH三、实验要求(1)掌握 DEBUG的调试 R 、 A、 U、 D、 E、T 命令使用方法(2)掌握数据传送、算术和逻辑运算指令的功能四、实验步骤1、首先进入DEBUG状态,用R 命令修改各寄存器的内容,以满足题目的要求。

微机原理实验指导书

微机原理实验指导书

微机原理实验指导书实验一数据传送实验目的 :1. 熟悉 8086 指令系统的数据传送指令及 8086 的寻址方式。

2. 利用 Turbo Debugger 调试工具来调试汇编语言程序。

实验任务 :1.通过下述程序段的输入和执行来熟悉Turbo Debugger 的使用,并通过显示器屏幕观察程序的执行情况。

练习程序段如下:MOV BL , 08HMOV CL , BLMOV AX , 03FFHMOV BX , AXMOV DS : [0020H] , BX2.用以下程序段将一组数据压入( PUSH )堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。

压栈程序段如下:MOV AX , 0102HMOV BX , 0304HMOV CX , 0506HMOV DX , 0708HPUSH AXPUSH BXPUSH CXPUSH DX出栈程序段请自行编写(用不同的出栈顺序)。

.3. 指出下列指令的错误并加以改正,上机验证之。

(1) MOV [BX] , [SI](2) MOV AH , BX(3) MOV AX , [SI][DI](4) MOV BYTE PTR[BX] , 2000H(5) MOV CS , AX(6) MOV DS , 2000H4. 设置各寄存器及存储单元的内容如下:(BX) = 0010H , (SI) = 0001H(10010H) = 12H , (10011H) = 34H , (10012H) = 56H ,(10013H) =78H (10120H) =0ABH ,(10121H) =0CDH ,(10122H) = 0EFH说明下列各条指令执行完后 AX 寄存器中的内容,并上机验证。

(1) MOV AX , 1200H(2) MOV AX , BX(3) MOV AX , [0120H](4) MOV AX , [BX](5) MOV AX , 0110H[BX](6) MOV AX , [BX][SI](7) MOV AX , 0110H[BX][SI]5. 将 DS : 1000H 字节存储单元中的内容送到 DS : 2020H 单元中存放。

微机原理实验指导书1-二进制多位加法运算

微机原理实验指导书1-二进制多位加法运算

微机原理实验指导书1-二进制多位加法运算实验一二进制多位加法运算一、实验目的1.熟悉实验系统键盘显示的使用。

2.掌握使用加法类运算指令编程及调试方法。

3.掌握加法类指令对状态标志位的影响。

二、实验设备与工具1.微机原理与接口技术实验箱。

2.微型计算机。

三、实验原理及方法实验内容:计算X+Y+Z=?(X、Y、Z为16位二制数)本实验是三个十六位二制数相加运算,因此,当X+Y时要考虑用ADC指令,把进位C加到结果的高16位中,当(X+Y)+Z时,再把进位C加到结果的高16位中,本实验如设定三个加数0FFFFH,计算结果应为2FFFDH。

四、实验步骤1.打开实验箱前盖。

检查:(1)JK(开关)置‘系统’:键盘/显示接口选择系统配置的8255接口芯片,进入监控状态。

(2)KB6:通讯选择开关,KB6开关拨向88一侧(单8086实验仪无KB6),选择PC机和8086系统通讯。

(3)不插或卸掉已装的CPU卡(单8086实验仪无CPU卡安装、插座)。

2.将随机配送的串行通讯线,一端与实验仪的RS232D型插座CZ1相连,另一端与PC机COM1或COM2串行口相连。

3.接通实验系统电源,+5V LED指示灯应正常发光,实验仪数码管应显示闪动P.,说明实验仪初始化成功,处于待命状态。

(否则应及时关闭电源,待修正常后使用)4.打开PC机电源,执行DJ8086K的集成调试软件,关于该软件的详细说明请参阅《DJ8086K实验系统与PC机联机操作部分》。

5.编写程序,在PC机和实验系统联机状态下,运行该实验程序。

如可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598k8Asm文件夹,点击S1.ASM 文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或“单步运行”,即开始运行程序。

6.运行完后,运算结果保留在内存4100H~4102H单元中,点击DJ-8086K软件中存贮器RAM窗口,输入RAM的起始地址4100、4101、4102,当三个被加数为0FFFFH,三个单元内容应为FD、FF、02。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 MASM For Windows 的使用及顺序程序设计一、实验目的1、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。

2、熟悉masm for windows调试环境及DEBUG常用命令的使用二、实验内容1.DEBUG常用命令(U、R、D、E、F、T、G、Q)的操作使用2.编程实现两个16位无符号数的加、减、乘、除运算。

有两个两字节无符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显示。

相加若有进位不存入存储单元。

三、实验设备PC机一台、masm for windows 汇编语言集成环境四、实验准备1) 分析题目,将程序中的原始数据和最终结果的存取方法确定好。

2) 画出流程图。

3) 写出源程序。

4) 对程序中的结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。

五、实验步骤1) 输入源程序。

2) 汇编、连接程序,生成 .EXE文件,执行文件,检查结果。

六、学生实验报告的要求1) 列出源程序,说明程序的基本结构,包括程序中各部分的功能。

2) 说明程序中各部分所用的算法。

3) 说明主要符号和所用到寄存器的功能。

4) 上机调试过程中遇到的问题是如何解决的。

5) 对调试源程序的结果进行分析。

4) 说明标志位CF、SF和OF的意义。

DEBUG的常用命令1、R 显示或修改寄存器的内容命令格式:-R2、 D 显示存储单元的内容命令格式:-D[地址1, 地址2]3、E修改存储单元的内容命令格式:-E[地址1, 地址2]4、U反汇编命令格式:-U[地址1, 地址2]5、T单步执行命令格式:-T6、G连续执行命令格式:-G[=起始地址, 结束地址]A小汇编命令格式:-A7、Q退出DEBUG,返回DOS实验一源程序 EXAM1-2 .ASMDATA SEGMENTA DB 34H,18H,2 DUP(0),’$’B DB 56H,83HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AL,AMOV BL,BADD AL,BLMOV AH,A+1MOV BH, B+1ADC AH, BHMOV A, ALMOV A+1, AHMOV CX, 0004HMOV DI, OFFSET AMOV DX, [ DI]ADD DI,03NEXT: MOV AX, DXAND AX,000FHCMP AL,0AHJB QQQADD AL, 07HQQQ: ADD AL, 30HMOV [DI], ALDEC DIPUSH CXMOV CL, 04SHR DX, CLPOP CXLOOP NEXTMOV DX, OFFSET AMOV AH, 09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START执行程序EXAM1-2·EXE,屏幕上显示结果:9B8A实验二分支、循环程序设计一、实验目的1) 掌握分支、循环程序的结构。

2) 掌握分支、循环程序的设计,调试方法。

二、实验内容1 当X>0时1.编程求Y值。

其中Y= 0 当X=0时-1 当X<0时2、在一串给定个数的数中寻找最大值(或最小值),并且放至指定的存储单元。

每个数用16位表示。

3、编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。

其程序的逻辑框图如图3. 1所示。

三、实验准备1) 阅读教材中有关顺序、分支程序的内容。

2) 按要求编写程序。

3) 对照实验步骤,将要测的数据事先画好表格。

四、实验设备PC机一台五、实验步骤1) 输入源程序。

2) 汇编、连接程序,生成 .EXE文件,执行文件检查结果。

六、学生实验报告的要求1) 列出源程序。

2) 将实验测得的数据与理论分析比较。

3) 总结为什么在设计分支程序时必须解决三个问题:判断、转向和定标号。

源程序清单:EXAM2-1.ASMdata segmentbuffer dw 10y dw ?data endscode segmentasumme cs:code,ds:datastart:mov ax,datamov ds,axmov ax,bufferor dx,axje zerojns plusmov bx,0ff hjmp contizero: mov bx,0jmp contiplus: mov bx,1conti: mov y,bxcode endsend start执行程序EXAM2-1·EXE:查看Y=1[调试中应注意的问题]:应改变X(buffer单元)的值,分X>0,X<0,X=0三种情况执行.源程序清单:EXAM2-2DATA SEGMENTBUF DB’S=1+2×3+3×4+4×5+…+N(N+1)+…=’,’$’RES DW 4 DUP(0),’$’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS, AXMOV DX, OFFSET BUFMOV AH, 09HINT 21HMOV DX, 1MOV BL, 2NEXT: MOV AL, BLINC BLMUL BLADD DX, AXCMP AX, 200JNA NEXTMOV CX, 0004HMOV DI, OFFSET RESADD DI, 03HNEXT1:MOV AX, DXAND AX, 000FHCMP AL, 0AHJB NEXT2ADD AL, 07NEXT2:ADD AL, 30HMOV [DI],ALDEC DIPUSH CXMOV CL,04SHR DX,CLPOP CXLOOP NEXT1MOV DX, OFFSET RESMOV AH, 09HINT 21HMOV AH, 4CHINT 21HCODE ENDSEND START执行程序EXAM3-2.EXE,屏幕上显示结果:S=1+2×3+3×4+4×5+...+N(N+1)+ (045)EXAM3-3ORG 2000H2000 BF0030 MOV DI, 30002003 B164 MOV CL, 642005 C60500 MOV BYTE PTR[DI],0 2008 47 INC DI2009 FEC9 DEC CL200B 75F8 JNZ 2005200D F4 HLT实验三综合程序设计一、实验目的1) 掌握汇编语言程序的设计方法。

2) 熟练掌握汇编语言程序的调试方法。

二、实验内容1、选择排序法程序设计。

2、有关I/O法程序设计。

实验四 8253定时/计数器实验一、实验目的1) 学会通过62芯总线驱动器,译码器等在PC 机外扩展新的芯片。

2) 掌握8253定时/计数器的工作原理方式及应用编程。

二、实验内容编程将定时器0设置为模示3,定时器1设置为模示2,定时器0的输出作为定时器1的输入时钟信号,在示波器中观察定时器0与定时器1的输出波形及其关系。

三、实验设备TPC-1A教学实验箱,PC机,SR-8示波器四、8253工作原理及初始化编程1、工作原理2、工作方式方式0—方式5方式2:速率发生器方式3:方波速率发生器3、8253的控制字计数器读/写格式工作方式数制00 选择计数器0 00 计数器锁存命令 000 方式0 0=二进制01选择计数器 1 10 只读写最高有效位字节 001 方式1 1=BCD码(高8位) X10 方式210选择计数器 2 01只读写最低有效位字节 X11 方式3(低8位) 100 方式411 非法选择 11先写最低有效位字节 101 方式5然后写最高有效位字节0 0 1 1 0 1 1 000 选择计数器0 11先写最低有效位字节 x11 方式3 0=二进制然后写最高有效位字节1、8253的初始化编程过程如下图所示:TPC-1A教学实验箱上的8253芯片接法介绍实验要求,8253 0#计数器的CLK0与250HZ信号源相连,作为时钟输入信号;8253的0#计数器OUT0与1#计数器的CLK1相连作为1#计数器时钟输入信号,引出信号端为OUT0,OUT1(在示波器中观察)。

四、实验步骤(1) 编制程序,并输入调试生成可执行文件。

(2) 按图连接好实验线路。

(3) 运行程序,在示波器中观察OUT0,OUT1波形及其关系。

(4) 修改8253的1#计数器时间常数,再运行程序,在示波器中观察OUT0,OUT1波形变化。

五、思考题1) 在将计数初值赋给8253后,马上就可以启动并进行定时或计数吗?2) 若CLK0输入1.1925MHZ的时钟,能否在OUT0实现输出30ms的定时脉冲?提示:计数初值=f clk/f out=T out/T clk程序清单:EXAM8-1.ASMTIM_CTL EQU 203HTIMER0 EQU 200HTIMER1 EQU 201HMODE03 EQU 36HMODE12 EQU 74HDATA SEGMENTMESS DB '8253A TIMER0 IN MODE3! COUNT=0200H',0AH,0DHDB '8253A TIMER1 IN MODE2! COUNT= 0aH',0AH,0DH,'$' DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXCLIMOV DX,TIM_CTLMOV AL,MODE03OUT DX,ALMOV DX,TIMER0MOV AL,00hOUT DX,ALMOV AL,02HOUT DX,ALMOV DX,TIM_CTLMOV AL,MODE12OUT DX,ALMOV DX,TIMER1MOV AL,0aHOUT DX,ALMOV AL,00OUT DX,ALSTIMOV DX,OFFSET MESSMOV AH,09 INT 21HRETMAIN ENDPCODE ENDSEND START实验四中断一、实验目的1、加深对微机中断系统的了解 ,熟悉8259的工作原理和工作过程,2、掌握8259的编程和中断处理程序的编制方法。

二、实验要求1、中断请求通过PC62芯总线的IRQ4端输入,中断源可以是片外8253定时器输出的脉冲,也可以是其它脉冲,2、编写程序要求主机每次响应外部中断IRQ4时,显示中断处理信息,中断十次后,程序退出。

相关文档
最新文档