微机原理实验五输入与输出程序设计

合集下载

《微机原理及接口技术》实验指导书

《微机原理及接口技术》实验指导书

《微机原理及接口技术》实验指导书福建工程学院计算机与信息科学系计算机系统结构教研室实验一 汇编语言程序上机过程一、实验目的1.掌握EDIT 、MASM 、LINK 等软件工具的使用。

2.掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

二、实验内容1.将DISP 单元中存放的一压缩BCD 码内容显示出来。

2.将BUF 单元开始的两个BCD 码相加存放到SUM 单元中,并显示结果。

3.将字节变量DISP 的内容(00H-FFH 任意值)显示出来。

三、实验准备与报告 1.了解实验操作方法,准备好实验程序和数据。

2.记录汇编、连接过程产生的错误及解决办法,设置相关的出错情况,查看汇编结果; 3.记录运行结果,更改数据再运行,记录结果。

4.实验报告主要内容:实验名称、实验目的、实验内容、<实验电路>、程序、实验结果、调试过程记录、总结。

(其它实验也按此要求书写实验报告)实验二 DEBUG 使用实验一、实验目的1.掌握DEBUG 常用命令的使用。

2.进一步了解80X86的存储器和寄存器结构。

3.进一步理解有关指令的功能与应用。

二、实验内容1.进入与退出DEBUG 。

2.用R 命令检查和修改寄存器内容并记录。

3.用D 命令显示内存单元内容并记录。

4.用E 命令修改内存单元内容并记录。

5.A 、U 、T 、P 、G 、N 、W 、L 命令使用。

程序:MOV SI ,0 MOV AX ,[SI] INC SI INC SIADD AX ,[SI] MOV BX ,AX INT 20H(1)使用A 命令输入以上程序;(2)使用U 命令查看输入的程序;(3)使用N 、W 命令将程序存盘;用N 、L 命令重新装载,用U 命令查看; (4)使用DEBUG 的D 、E 命令检查设置(DS ):0000H 起始的四个单元内容; (5)使用R 命令检查、设置有关寄存器的值;(6)分别使用T 、G 命令运行程序,注意观察有关寄存器和单元的变化。

微机原理简单程序设计实验流程图

微机原理简单程序设计实验流程图

微机原理简单程序设计实验流程图下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 实验目的:了解微机原理和程序设计的基本概念。

掌握使用汇编语言或高级语言进行程序设计的方法。

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

实验五、可编程并行接口实验(8255方式0)

实验五、可编程并行接口实验(8255方式0)

实验五、可编程并行接口实验(8255方式0)一、实验目的1、掌握微机原理硬件实验系统的运行方法;2、掌握8255A 工作方式、与和微机接口方法、编程原理;3、掌握微机硬件系统的设计步骤。

二、实验原理1、8255A 芯片简介: 8255A 可编程外围接口芯片是INTEL 公司生产的通用并行接口芯片,它具有A 、B 、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l :选通输入/ 输出方式方式2:双向选通工作方式图5-1三、实验内容1、8255基本输入/出程序分析与调试;(1)编程指南使8255A端口A工作在方式0并作为输入口,读取K8~K1个开关量,PB口工作在方式0作为输出口,接发光二极管L8-L1。

(2)参考源码;SY5_1.ASMPORT_A EQU 0FF28H ;8255 PA口地址PORT_B EQU 0FF29H ;8255 PB口地址PORT_C EQU 0FF2AH ;8255 PC口地址PORT_CTL EQU 0FF2AH ;8255 控制字地址CODE SEGMENTASSUME CS:CODEORG 11B0H ;代码起始地址START: MOV AL,90H ;定义端口工作方式与输入、输出MOV DX,PORT_CTLOUT DX,ALIOLED1: MOV DX,PORT_A ;读PA口状态IN AL,DXMOV DX,PORT_B ;写PB口OUT DX,ALJMP IOLED1CODE ENDSEND START(3)操作步骤a、根据图5-1连线;b、在dice8088应用程序(见桌面快捷图标)下完成以上代码的编辑、编译与连接(执行菜单项:“调试”-“编译程序”);c、译连接通过的程序通过RS232串口装载置实验硬件系统中(执行菜单项:“调试”-“编译程序”)。

此操作必须在PC机与实验箱通信正常连接的前提下进行(在dice8088应用程序中状态栏中有联机信息);造成联机失败的主要原因有:串口线未连接(重新连接串口线);通信数据出错(关闭实验箱电源和dice8088应用程序,然后先打开实验箱电源,再执行dice8088应用程序);硬件系统处于非接收状态(只有在实验箱上的第一位数码管显示P. 时方可装载程序,可通过按实验箱上的复位按钮使其恢复到P. 状态);d、运行程序:方法一、通过dice8088应用程序控制实验箱中的程序运行(执行菜单项:“调试”-“连续运行”);方法二、通过实验箱的小键盘运行程序,先在P. 状态下输入代码起始地址(本程序的起始地址为:11B0),后按小键盘上的执行按钮(EX),此时数码管的最高位显示程序运行提示符“┌”。

微机原理与单片机实验报告

微机原理与单片机实验报告

微机原理与单片机实验报告Prepared on 22 November 2020北京联合大学信息学院实验报告课程名称:微型计算机原理学号:姓名:2012 年 6 月 9 日目录实验1 EMU8086模拟器的使用一实验要求利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的:熟悉EMU8086实验环境三 EMU8086环境:1 模拟器编辑窗口2 模拟器调试窗口四实验内容实验内容1:新建文件。

运行 emu80861. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码:MOV AX, 1020HMOV BX, 2030HMOV AX, BXADD AX, BXMOV [BX], AXMOV [2032H], AXHLT2. 编译:单击“编译”按钮,对程序段进行编译;3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。

4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。

5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。

6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。

7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为 400毫秒,单击“全速”按钮,运行程序,8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序的关联。

10.将“存储器”中地址改为1000:0100,并将从其开始的连续10个单元的内容改为55H。

实验内容2:运行范例在模拟器编辑窗口中1.点击典型范例2.选择:hellow,word程序,编译,运行,观察结果。

微机原理与接口技术输入输出实验

微机原理与接口技术输入输出实验

实验一:输入输出实验实验环境PC机+Win 2010+emu8086 实验日期2016.6.3 一.实验内容1.熟悉emu8086仿真系统,清楚调试环境,能熟练的查看8086仿真系统的寄存器、内存、堆栈等相关内容。

2.设计并单步调试实现一位十进制数的加法运算。

例如:屏幕显示效果为3+2=5,其中,加数和被加数为键盘输入,其他为屏幕自动输出。

3.在实现了一位十进制数加法运算的基础上,尝试实现两位十进制加法运算、一位十进制数的四则运算以及十进制多位数运算等扩展要求。

二.理论分析或算法分析1、Emu8086的使用(1)打开桌面上的云端软件,选择微机原理分类,点击Emu8086的图标,,选择【新建】。

(2)选择COM模板,点击【确定】,软件出现源代码编辑器的界面在源代码编辑器的空白区域,编写如下一段小程序:代码编写结束,点击菜单【文件】【另存为……】,将源代码换名保存。

本例将源代码保存为.asm。

:(3)如果源程序无错误,则编译通过单击【单步运行】可以单步调试,程序将每执行一条指令便产生一次中断(建议使用)。

单击【后退一步】可以返回到上一条指令(这个功能也是一般调试器没有的)。

单击【运行】,程序将从第一句直接运行到最后一句。

2、设计并单步调试实现一位十进制数的加法运算。

(1)选择新建一个.COM类型的文件。

(2)在编辑界面中,键入代码。

(3)点击工具栏的【模拟】按钮,进入调试窗口,单步调试并观察寄存器的变化情况。

3、进一步完善上述程序,实现一位十进制数的加法运算。

4、在实现了一位十进制数加法运算的基础上,选择完成如下题目:两位十进制加法运算、一位十进制数的四则运算、十进制多位数运算等。

三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)一位加法:org 100hmov ah, 1int 21hmov bl, al mov ah, 2 mov dl, '+' int 21hmov ah, 1int 21hand bl, 0fh and ax, 0fh add al, bl aaaor ax, 3030h mov bx, ax mov ah, 2 mov dl, '=' int 21h cmp bh, 30hje j1mov ah, 2 mov dl, bhint 21hj1:mov ah, 2 mov dl, blint 21hret 多位加法:org 100hmov ah, 1int 21hmov bh, al int 21hmov bl, al mov ah, 2mov dl, '+'int 21hmov ah, 1int 21hmov ch, al int 21hmov cl, aland bx, 0f0fh and cx, 0f0fh mov ax, cxadd ax, bxaaaor ax, 3030h mov bx, ax mov ah, 2mov dl, '='int 21h cmp bh, 30hje j1mov ah, 2mov dl, bhint 21hj1:mov ah, 2mov dl, blint 21hret一位减、乘、除:mov ah, 1int 21hand al, 0fhmov bl, al mov ah, 1int 21hmov dl, alint 21hand al, 0fhxor ah, ahcmp dl, '+'jne jp1add al, blaaajmp short jp4jp1:cmp dl, '-'jne jp2xchg al, blsub al, blaasjmp short jp4jp2:cmp dl, '*'jne jp3mul blaamjmp short jp4jp3:xchg al, bldiv blaam jp4:mov bx, axmov ah, 2mov dl, '='int 21hor bx, 3030h cmp bh, '1'jc j1mov dl, bhint 21hj1:mov dl, blint 21h四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)一位数加法:多位数加法:一位数减、乘、除法五.结论通过这次实验,我对EMU8086实验模拟环境有相应的了解,熟悉了基本的EMU8086的使用方法,同时也对mov这个指令有了深入的理解,并且知道了各个存储器里面的值得存储过程,为以后的的学习打下了坚实的基础。

微机原理软件实验报告

微机原理软件实验报告

信息与通信工程学院微机原理软件实验报告班级:姓名:学号:日期:2011年12月实验一DEBUG的使用 (1)一、实验目的 (1)二、实验内容 (1)三、预习思考 (3)四、实验过程 (4)五、实验总结 (9)实验二分支、循环程序设计 (10)一、实验目的 (10)二、实验内容 (10)三、预习思考 (10)四、实验过程 (10)(一)、流程图 (11)(二)、源代码 (11)(三)、实验分析 (11)五、实验总结 (14)实验三代码转换程序设计 (15)一、实验目的 (15)二、实验内容 (15)三、预习思考 (15)四、实验过程 (16)(一)流程图 (16)(二)模块层次图 (16)(三)源代码 (17)(四)实验分析 (21)五、实验总结 (22)实验四子程序设计 (23)一、实验目的 (23)二、实验内容 (23)三、预习思考 (23)四、实验过程 (24)(一)流程图 (24)(二)模块层次图 (25)(三)源代码 (25)(四)实验分析 (34)五、实验总结 (35)实验五中断程序设计 (37)一、实验目的 (37)二、实验内容 (37)三、预习思考 (37)四、实验过程 (38)(一)流程图 (38)(二)源代码 (39)(三)实验分析 (45)五、实验总结 (46)实验一 DEBUG 的使用一、实验目的1.掌握汇编程序的编辑、编译、连接和执行的全过程;2.学习和掌握用DEBUG调试程序的方法。

二、实验内容1.用编辑软件,输入以下汇编语言源程序:DAT SEGMENTA DB 20B DB 15Y DB 3 DUP(0)Z DB 0,0DAT ENDSSTA SEGMENT STACKDW 50 DUP(?)STA ENDSCOD SEGMENTASSUME CS:COD,DS:DATSTAR PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATMOV DS,AXMOV AX,STAMOV SS,AXMOV AL,AMOV Z,ALMOV Z+1,ALCALL SUB1MOV AL,BMOV Z,ALMOV Z+1,ALCALL SUB1MOV AL,AMOV Z,ALMOV AL,BMOV Z+1,ALCALL SUB1ADD WORD PTR Y,AXADC BYTE PTR[Y+2],0RETSTAR ENDPSUB1 PROCMOV AL,ZMOV AH,Z+1MUL AHADD WORD PTR Y,AXADC BYTE PTR[Y+2],0RETSUB1 ENDPCOD ENDSEND STAR2.通过编译,连接形成可执行文件。

最新东南大学-微机原理-微机系统与接口-实验五-六-实验报告-自动化学院

最新东南大学-微机原理-微机系统与接口-实验五-六-实验报告-自动化学院

东南大学《微机实验及课程设计》实验报告实验五8253 计数器/定时器实验六8255 并行输入输出姓名:学号:08011专业:自动化实验室:计算机硬件技术实验时间:2012年04月27日报告时间:2013年05月15日评定成绩:审阅教师:一. 实验目的实验五:1)掌握计数器/定时器8253 的基本工作原理和编程应用方法;2)了解掌握8253 的计数器/定时器典型应用方法实验六:1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示;2)掌握8段数码管的动态刷新显示控制;3)分析掌握8255工作方式1时的使用及编程,进一步掌握中断处理程序的编写。

二. 实验内容实验五:必做:5-1 将计数器0设置为方式0,计数初值为N(小于等于0FH),用手动的方式逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化。

(参考程序p63)5-2 将计数器0、1分别设置在方式3,计数初值设为1000,用逻辑笔观察OUT0电平的变化。

(参考程序p64)实验六:(1)8255方式 0:简单输入输出实验电路如图一,8255C口输入接逻辑电平开关K0~K7,编程A口输出接 LED显示电路L0~L7;用指令从 C口输入数据,再从A口输出。

图一 8255简单输入输出(2)编程将A口 L0-L7控制成流水灯,流水间隔时间由软件产生;流水方向由K0键在线控制,随时可切换;流水间隔时间也可由K4~K7键编码控制,如 0000对应停止,0001对应 1秒,1111对应 15秒,大键盘输入 ESC键退出。

(3)8段数码管静态显示:按图二连接好电路,将 8255的 A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端 S1接+5V(选中),S0、dp接地(关闭)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

图二单管静态显示(4) 8段数码管动态显示:按图三连接好电路,七段数码管段码连接不变,位码驱动输入端S1、S0 接8255 C口的PC1、PC0。

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

实验六输入与输出程序设计
一、实验目的
1.掌握常用DOS中断调用的功能以及在应用程序中的使用方法。

2.学习键盘输入和屏幕输出的基本方法。

3.宏指令、子程序在应用程序中的使用。

4.汇编语言程序设计的调试与完善。

二、设计指标与实验要求
1.设计内容
本实验要求设计完成:①屏幕输出提示(如“Want input(Y/N)?”),若键入N 则结束程序返回操作系统;键入Y则转2步;键入的是其它字母则回①步。

②换行后输出提示(如“please input a strings:”),且在该提示后键入一字符串(输入到输入缓冲区)。

③换行后输出提示(如“your inputting is:”),在该提示后输出由②步输入的字符串。

④换行后输出提示“Want continue(Y/N)? ”,若键入Y则转②步;键入N则结束程序返回操作系统;其它字母则回第④步。

2.设计要求
①按屏幕提示要求输入,从屏幕上获得正确结果。

②把程序中常用的中断调用定义成宏指令(至少定义2个)。

③字符串回显部分设计成子程序,可以选择用21H中断的2号或9号功能来实现,应
能显示由主程序指定的任一字符串。

要注意这两种方法实现的设计过程是不同的。

采用2号功能的,子程序输入参数为“回显字符串地址”和“回显字符数”;采用
9号功能的,子程序输入参数为“回显字符串地址”。

④屏幕的提示信息显示格式尽量做到兼顾美观。

3.实验步骤
①.选用合适的程序文本编辑软件编辑源程序,并为文件取以.ASM为扩展名的文件存盘。

②.用宏汇编软件MASM对源程序文件进行汇编,若有错误,根据提示(行号,错误类型)回源程序文件中修改。

③.用LINK对由MASM汇编后产生的目标文件做连接,生成可执行文件;若有错误(同
上)回步骤1修改源程序文件。

④.对存在问题的程序,用CV调试程序,检察运行结果,并调试程序。

⑤.反复验正程序的正确性。

⑥.完善、改进所设计的程序算法、功能、界面、或性能等指标。

四、思考题
1. 输入串若以指定字符(非回车)做结束标志时的输入部分应如何改写。

2. 若为应用程序添加启动时的密码检验功能,密码输入时采用什么中断功能比较合适?
3.如何为应用程序添加字母的大小写转换功能?
OUTPUT MACRO
MOV AH,9
INT 21H
ENDM
INPUTS MACRO
MOV AH,10
INT 21H
ENDM
DATA SEGMENT
BUF1 DB 0dh,0ah,'Want input(Y/N)?$'
BUF2 DB 0dh,0ah,'please input a strings:$'
BUFIN DB 20,?,20 DUP(?)
BUF3 DB 0dh,0ah,'your inputting is:$'
BUF4 DB 0dh,0ah,'Want continue(Y/N)?$'
DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA
START:MOV AX,DATA
MOV DS,AX
X1: MOV DX,OFFSET BUF1
OUTPUT
MOV AH,1
INT 21H
CMP AL,'Y'
JZ X2
CMP AL,'N'
JZ OVER
JMP X1
X2: MOV DX,OFFSET BUF2
OUTPUT
MOV DX,OFFSET BUFIN
INPUTS
MOV DX,OFFSET BUF3
OUTPUT
MOV DX,OFFSET BUFIN+2
OUTPUT DX
X3: MOV DX,OFFSET BUF4
OUTPUT
MOV AH,1
INT 21H
CMP AL,'Y'
JZ X2
CMP AL,'N'
JZ OVER
JMP X3
OVER:MOV AH,4CH
INT 21H
INPUT PROC NEAR
MOV AH,1
INT 21H
CMP AL,'Y'
JZ X2
CMP AL,'N'
JZ OVER
ret
INPUT ENDP
CODE ENDS
END START。

相关文档
最新文档