微机原理及应用实验报告81487

合集下载

微机原理及应用课程设计报告

微机原理及应用课程设计报告

微机原理及应用课程设计设计题目: 基于PC机串行通信的点到点文件传输系统专业讣算机科学与技术班级计104学生 D指导教师2013 年秋季学期LI录U录 2实验LI3的二实验内容及要求 3、三课设基本思想 3、程序流程图以及程序设讣 5四、五. 实验结果截图6六. 程序源代码7七. 课程设计心得体会14A.参考文献151、实验目的1.学习虚拟串口的使用方法。

2.学会在windows平台上进行串口通信的方法。

二、实验内容及要求1•基本要求:采用VB,VC,C#或其他开发工具设计一个简易的聊天系统。

用户可以设置波特率或釆用自动协商机制。

界面如下图:接收信息|Text1发送信息Text22.设汁提示:在Windows平台上通过API或MSComn控件实现串行通信。

3.进一步设计要求:采用多线程完成通信任务。

三、课设基本思想1.在.\ET平台下使用C#创建串口通信程序,.NET2.0提供了串口通信的功能,其命名空间是System. 10. PortSo这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。

我们将使用标准的RS 232 C在PC间通信。

它丄作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接。

2.串口的硬件知识:在数据传输的时候,每个字节的数据通过单个的电缆线传输。

包包括开始位,数据,结束为。

一旦开始位传出,后面就会传数据,可能是5, 6, 7或8位, 就看你的设定了。

发送和接收必须设定同样的波特率和数据位数。

3.关于本程序使用SerialPort的一些属性和方法:4、程序流程图以及程序设计开始、程序流程图:使用函数获取系统、“|前的可用串口初始化串JI初始化波特率建立串11连接并通信是否发送…进制文件发送二进制文件(二)、程序设计思想:首先需要定义一个SerialPort对象,添加DataReceived事件响应收到数据。

然后利用系统提供函数获取当前端口号,以及用户选择的波特率,对对象进行初始化。

精石油大学《微机原理及应用》实验报告

精石油大学《微机原理及应用》实验报告
1、根据实验内容写出完整的预习报告(画出程序流程图并编写出程序代码);
2、复习内存分段概念、数据类型伪指令语句中的表达式、无进位加法和带进位加法的实现、多位10进制数带进位加法的实现、简单循环的实现;
3、观察数据段和代码段的位置和大小。
四、编写完整的程序代码
DATA SEGMENT ;定义数据段
X DB 32,-43,76,95,-1
代码段的大小:0001FH规范字节
C:\masm>LINK TEST3;
C:\masm>DEBUG TEST3.EXE;
其中TEST3为源程序的名字
2.写出程序的数据段、代码段的位置和大小
数据段位置:
起始地址:00000H,终止地址:0000EH,
数据段的大小:0000FH规范字节
代码段的位置:
起始地址:00010H,终止地址:0002EH,
Y DB -78,127,-128,-125,88
S DB 5 DUP(?)
DATA ENDS
CODE SEGMENT ;定义代码段
ASSUME CS: CODE, DS:DATA
START: MOV AX,DATA;数据段初始化
MOV DA,AX
MOV CL,5
MOV BX,0
NEXT MOV AL,X[BX]
中国石油大学(华东)现代远程教育
实验报告
课程名称:微机原理及应用
实验名称:循环程序设计
实验形式:在线模拟+现场实践
提交形式:在线提交实验报告
学生姓名:学 号:
年级专业层次:1606级机械设计制造及其自动化专升本
学ห้องสมุดไป่ตู้中心:青岛直属学习中心
提交时间:2017年12月20日

微机原理实训报告完整

微机原理实训报告完整

资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载微机原理实训报告完整地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容一、设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。

通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。

为以后学生结合专业从事微机应用设计奠定基础。

二、设计的原始资料及依据(1)查阅微机原理及应用、汇编语言程序设计等书籍;(2)掌握字符串的输入,输出和排序。

三、设计的主要内容及要求内容:从PC键盘输入5个字符串,排序及显示要求1)输入5个字符串。

2)对输入的字符串进行排序并正确显示。

四、对设计说明书撰写内容、格式、字数的要求1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。

2.学生应撰写的内容为:目录、正文、参考文献等。

课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。

应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.说明书(论文)手写或打印均可。

手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。

4. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、总结、参考文献。

五、设计完成后应提交成果的种类、数量、质量等方面的要求;提交课程设计说明书一份。

在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。

六、时间进度安排;沈阳工程学院微机原理及汇编语言程序设计程设计成绩评定表系(部):信息学院班级:学生姓名:目录TOC \o "1-3" \h \z \uHYPERLINK \l "_Toc359478386" 第1章绪论 PAGEREF_Toc359478386 \h 1HYPERLINK \l "_Toc359478387" 1.1 背景 PAGEREF_Toc359478387 \h 1HYPERLINK \l "_Toc359478388" 1.2 设计目的与任务 PAGEREF _Toc359478388 \h 1HYPERLINK \l "_Toc359478389" 1.2.1 本课程设计的目的 PAGEREF _Toc359478389 \h 1HYPERLINK \l "_Toc359478390" 1.2.2 本课程设计的任务 PAGEREF _Toc359478390 \h 1HYPERLINK \l "_Toc359478391" 第2章汇编语言的运行环境及运行步骤 PAGEREF _Toc359478391 \h 2HYPERLINK \l "_Toc359478392" 2.1 汇编语言的起源 PAGEREF _Toc359478392 \h 2HYPERLINK \l "_Toc359478393" 2.2 汇编语言的特点 PAGEREF _Toc359478393 \h 2HYPERLINK \l "_Toc359478394" 2.2.1 能够保持机器语言的一致性,直接、简捷 PAGEREF _Toc359478394 \h 2HYPERLINK \l "_Toc359478395" 2.2.2 目标代码简短,占用内存少,执行速度快 PAGEREF _Toc359478395 \h 2HYPERLINK \l "_Toc359478396" 2.2.3 汇编语言是面向机器的PAGEREF _Toc359478396 \h 2HYPERLINK \l "_Toc359478397" 2.2.4 难于从汇编语言代码上理解程序设计意图,可维护性差 PAGEREF _Toc359478397 \h 2HYPERLINK \l "_Toc359478398" 2.2.5 高速度和高效率 PAGEREF _Toc359478398 \h 2HYPERLINK \l "_Toc359478399" 2.3 汇编语言的运行环境 PAGEREF _Toc359478399 \h 3HYPERLINK \l "_Toc359478400" 2.4 汇编语言的运行步骤 PAGEREF _Toc359478400 \h 3HYPERLINK \l "_Toc359478401" 第3章总体设计思路 PAGEREF _Toc359478401 \h 6HYPERLINK \l "_Toc359478402" 3.1 功能设计分析 PAGEREF_Toc359478402 \h 6HYPERLINK \l "_Toc359478403" 3.1.1 设计思路分析 PAGEREF _Toc359478403 \h 6HYPERLINK \l "_Toc359478404" 3.1.2 系统功能分析: PAGEREF _Toc359478404 \h 6HYPERLINK \l "_Toc359478405" 3.2 总体设计分析 PAGEREF_Toc359478405 \h 6HYPERLINK \l "_Toc359478406" 3.2.1 系统功能模块图 PAGEREF _Toc359478406 \h 6HYPERLINK \l "_Toc359478407" 3.2.2 具体设计方案 PAGEREF _Toc359478407 \h 6HYPERLINK \l "_Toc359478408" 第4章程序实现 PAGEREF_Toc359478408 \h 8HYPERLINK \l "_Toc359478409" 4.1 运行程序 PAGEREF_Toc359478409 \h 8HYPERLINK \l "_Toc359478410" 4.1.1 单步运行 PAGEREF_Toc359478410 \h 8HYPERLINK \l "_Toc359478411" 4.1.2 暂停执行程序 PAGEREF _Toc359478411 \h 8HYPERLINK \l "_Toc359478412" 4.1.3 连续运行程序 PAGEREF _Toc359478412 \h 8HYPERLINK \l "_Toc359478413" 4.2 各个模块程序流程图设计PAGEREF _Toc359478413 \h 9HYPERLINK \l "_Toc359478414" 4.2.1 第一模块输入字符串PAGEREF _Toc359478414 \h 9HYPERLINK \l "_Toc359478415" 4.2.2 第二模块字符串排序PAGEREF _Toc359478415 \h 9HYPERLINK \l "_Toc359478416" 4.2.3 第三模块输出字符串PAGEREF _Toc359478416 \h 10HYPERLINK \l "_Toc359478417" 第5章遇到问题及解决方法PAGEREF _Toc359478417 \h 12HYPERLINK \l "_Toc359478418" 5.1 所遇到的问题 PAGEREF_Toc359478418 \h 12HYPERLINK \l "_Toc359478419" 5.2 对应问题的解决方法 PAGEREF _Toc359478419 \h 12HYPERLINK \l "_Toc359478420" 总结 PAGEREF_Toc359478420 \h 13HYPERLINK \l "_Toc359478421" 致谢 PAGEREF_Toc359478421 \h 14HYPERLINK \l "_Toc359478422" 参考文献 PAGEREF_Toc359478422 \h 15HYPERLINK \l "_Toc359478423" 附录 PAGEREF_Toc359478423 \h 16HYPERLINK \l "_Toc359478424" 源程序代码: PAGEREF_Toc359478424 \h 16第1章绪论1.1 背景计算机技术作为信息化的核心技术受到全社会的普遍重视。

微机原理与应用课程实验报告

微机原理与应用课程实验报告

2014-2015秋学期微机原理与应用课程实验报告实验分工:报告人(签名)姓名:学号:班级:同组人(签名)姓名:学号:班级:实验时间:微机原理与应用课程设计报告一、设计目的1.熟悉emu8086的使用方法。

2.掌握汇编语言设计和调试方法。

3. 提高编程设计能力,掌握结构化编程的方法。

二、课程设计任务及其分析、流程图、代码本课程设计采用自上而下的结构化编程方法,将整个课程设计分为5个任务,并将第4、5个任务都分成第一步和第二步,依次完成这些任务。

先对DS、ES等初始化,再给这5个任务编写5个子程序,其中第4、5个子程序又分成两步。

最后,返回DOS系统,程序结束。

流程图:代码:title 1104520121陈冬冬_课程设计源程序page 60,132.model small.stack 64.data.codemain proc farmov ax,0100hmov ds,axmov es,axcall sub1call sub2call sub3call sub4call sub5mov ax,4chint 21h;返回dos系统main endp(二)每个设计任务及其分析、流程图、代码1.在数据段首址为0100H开始的内存区1按从大到小的顺序顺次存入二进制数15~0共16个字节的数据;分析:任务1要求将15~0共16个字节的数据存入首址为0100H的内存区1。

首先,将内存区1的首址赋给数据段地址偏移寄存器SI。

显然,不能将立即数一个一个立即数存入内存区1,这样在编程上是不现实的。

所以,我先用一个寄存器AL来存放这些数,再将AL的值存入内存区1。

可以先给AL赋值15,然后存入内存区1,以后每次AL自减1,内存区地址加1,这样就用少量代码实现了任务1。

流程图:NY代码:mov si,0100h;内存区1的偏移地址 mov cx,0010h;循环次数,十进制数为16 mov al,0fh;将要赋的值15~0放在al 中 intram:mov [si],al inc si开始初始化目标内存区首址SI=0100H循环次数CX=0100H 初始化将要赋值的寄存器AL=000FH 目标单元赋值 目标内存区SI<—SI-1要赋的值AL<—AL-1 CX<—CX-1 CX=0? 结束dec al;每循环一次,地址加1,数据减1loop intram2.将上述源区内容传送到目的内存区2(首址为1100H)中;分析:任务2要求将内存区1的内容传送到内存区2中。

(完整版)北航微机原理实验报告

(完整版)北航微机原理实验报告

微计算机原理及运用实验报告目录实验一:I/O地址译码实验 (4)一、实验目的 (4)二、实验原理和内容 (4)三、实验程序 (4)四.实验总结 (5)实验二:8255并行接口实验 (6)一、实验目的 (6)二、实验原理和内容 (6)三、程序框图 (7)四.实验程序 (7)五.实验总结 (8)实验三:键盘显示控制实验 (9)一、实验目的 (9)二、实验内容及原理 (9)三、流程图 (10)四.程序 (10)五.实验总结 (13)实验四:8254定时器/计数器实验 (14)一、实验目的 (14)二、实验原理和内容 (14)三、实验程序 (14)四.实验总结 (15)实验五:继电器控制实验 (16)一、实验目的 (16)二、实验原理和内容 (16)三、实验中使用的程序 (16)四.实验总结 (18)实验六:DMA传送 (18)一、实验目的 (18)二、实验原理和内容 (18)三、程序 (19)四.实验总结 (20)实验七:8259 中断控制实验 (20)一、实验目的 (20)二、实验原理和内容 (21)三、流程图 (21)四.程序 (21)五.实验总结 (25)实验八:8255中断实验 (25)一、实验目的 (25)二、实验原理和内容 (25)三.实验程序 (26)四.实验总结 (27)实验一:I/O地址译码实验一、实验目的掌握I/O地址译码电路的工作原理。

二、实验原理和内容实验电路如附图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

附图1 I/O地址译码电路利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

微机原理与应用实验报告范文

微机原理与应用实验报告范文

微机原理与应用实验报告范文姓名:专业:学院:学号:指导老师:微机原理实验一一、实验目的1、熟悉汇编程序调试方法2、80某86指令运用及顺序结构程序设计二、实验设备80某86微型计算机三、实验内容1、编程并调试显示“HelloWord!”字符串的汇编程序STACKSSEGMENTSTACK;堆栈段DW128DUP()STACKSENDSDATASSEGMENT;数据段DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART:MOVA某,DATAS;初始化MOVDS,A某OUTBUFDB'HelloWord!$'MOVD某,OFFSETOUTBUFMOVAH,9;显示在屏幕上INT21HMOVAH,4CH;退出程序INT21HCODESENDSENDSTART程序调试运行结果如下图:屏幕显示有“HelloWord!”字符串2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。

编写一个完整段定义的汇编语言程序(包含必要的伪指令),计算W=(A+B)某(C—D)。

STACKSSEGMENTSTACK;堆栈段DW128DUP()STACKSENDSDATASSEGMENT;数据段ADW1HBDW2HCDW5HDDW6HWDW2DUP()DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART:MOVA某,DATAS;初始化MOVDS,A某MOVA某,AADDA某,BMOVB某,CSUBB某,DIMULB某MOVW,A某MOVW+2,D某MOVAH,4CH;退出程序INT21HCODESENDSENDSTART调试验证结果:W=(A+B)某(C—D)=(1H+2H)某(5H-6H)=-3H,结果存于097E:0008开始的的4个单元里。

微机原理实验二一、实验目的1、熟悉80某86指令及汇编程序调试方法2、掌握分支和循环结构程序设计方法的运用二、实验设备80某86微型计算机三、实验内容3、设某、Y为在数据段中定义的有符号字变量。

微机原理(单片机汇编)实验报告

微机原理(单片机汇编)实验报告

软件实验报告软件实验一一、实验目的1.熟悉软件实验的基本步骤和汇编程序的调试方法;2.了解内存块的移动方法;3.了解将十六进制数转换成ASCII值的方法。

二、实验原理用MOV和MOVX指令可以进行数据的赋值和移动,用循环可以完成大量数据的复制。

三、实验内容及步骤1、软件设置为模拟调试状态,在所建的Project文件中添加例程1的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。

打开CPU窗口,观察CPU窗口各寄存器的变化。

打开View菜单中的Memory Window,可以观察内部RAM、外部RAM的数据和程序存储器中的程序。

在Address窗口输入X:8000H后回车,观察8000H-800FF起始的256个字节单元的内容。

2、新建一个Project文件,添加例程2的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。

打开View菜单中的Memory Window,在Address 窗口的Memory#1输入X:3000H后回车,点击运行按钮后, 在Memory#2输入X:4000H后回车,观察外部RAM3000H和4000H中的内容。

3、添加将片内30H-3FH单元的内容复制片外片外1030H~103FH中的源程序,编译运行,观察比较30-3FH单元中的内容和片外1030H-103FH中的内容。

4、添加将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中的源程序,编译运行,观察结果。

5、添加求内部RAM 30H—37H单元中8个无符号数的算术和的源程序,8个无符号数设定为25H,36H,4AH,65H,7FH,82H,9BH,1DH,观察39H,38H中的数字是否分别为02H,C3H。

四、实验结果1.步骤1的结果为8000H-80FFH的内容都为1.2.步骤2的结果为3000H起始的256个字节存储块与4000H起始的256个字节存储块各单元内数据对应相同。

微机原理及应用-汇编语言上机实验报告

微机原理及应用-汇编语言上机实验报告

西南石油大学实验报告实验一一、实验目的熟悉汇编语言的上机过程,掌握各项工具软件的使用方法二、实验内容1.硬件:PC微机2.软件:DOS系统、EDIT.EXE、MASM.EXE、LINK.EXE、DEBUG.EXE三、实验过程1.前期准备:在开始进行汇编语言上机练习之前,建立并进入自己的工作子目录,准备好相关工具软件如MASM.EXE、LINK.EXE等,其后所有工作均在自己的子目录中进行,以避免因路径概念不清而导致的文件存取错误,以及对系统其它部分造成影响。

2.编写源程序:原则上可以用任何文字处理软件(如EDIT、写字板、甚至WORD)编写源程序,但必须注意,源程序应为ASCII码文件(或称纯文本文件),扩展名一般为.ASM。

因此,建议使用DOS环境下的EDIT软件。

3.汇编:利用MASM.EXE宏汇编程序,将已经存盘的ASCII码源程序翻译成二进制目标程序,其扩展名一般为.OBJ。

4.连接:利用LINK.EXE连接程序,将二进制目标程序整理成DOS系统下的可执行程序,其扩展名必须为.EXE。

5.运行:四、实验内容1、从键盘输入一个字符,进行大小写互换后显示。

源程序:结果:2、输入两个个位数字相加并显示结果。

代码:结果实验二一、实验目的:学习利用DEBUG调试程序的基本思想及方法二、实验环境:1.硬件:PC微机2.软件:DOS系统、EDIT.EXE、MASM.EXE、LINK.EXE、DEBUG.EXE三、实验内容与过程:利用DEBUG调试程序,可以将一个可执行程序(如.EXE、.COM等)装入内存中,并接管对程序运行的控制权,通过采取如反汇编、断点运行、单步执行、寄存器内容修改等方法,对可执行程序进行跟踪、调试,以找出其中的设计错误,然后再对源程序进行相应修改,重新生成正确的可执行程序。

1.准备被调试程序:假定所有有关文件均在当前路径C:\MYTEST>下,按照实验一的步骤生成一个被调试的可执行程序(如TEST.EXE)。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告实验一,微机原理实验。

1. 实验目的。

本实验旨在通过对微机原理的实验,加深学生对微机原理相关知识的理解,提高学生的动手能力和实验技能。

2. 实验内容。

本实验主要包括微机原理的基本知识、微处理器的结构和功能、微机系统的总线结构、存储器与I/O接口。

3. 实验步骤。

(1)了解微机原理的基本知识,包括微处理器的分类、功能和工作原理。

(2)学习微机系统的总线结构,掌握总线的分类、功能和工作原理。

(3)了解存储器与I/O接口的基本概念和工作原理。

(4)进行实际操作,通过实验板进行微机原理实验,加深对微机原理知识的理解。

4. 实验结果。

通过本次实验,我深刻理解了微机原理的基本知识,掌握了微处理器的结构和功能,了解了微机系统的总线结构,以及存储器与I/O接口的工作原理。

通过实际操作,我对微机原理有了更深入的认识,提高了自己的动手能力和实验技能。

实验二,接口技术实验。

1. 实验目的。

本实验旨在通过对接口技术的实验,加深学生对接口技术相关知识的理解,提高学生的动手能力和实验技能。

2. 实验内容。

本实验主要包括接口技术的基本知识、接口电路的设计与调试、接口技术在实际应用中的作用。

3. 实验步骤。

(1)了解接口技术的基本知识,包括接口的分类、功能和设计原则。

(2)学习接口电路的设计与调试,掌握接口电路设计的基本方法和调试技巧。

(3)了解接口技术在实际应用中的作用,包括各种接口的应用场景和实际案例。

(4)进行实际操作,通过实验板进行接口技术实验,加深对接口技术知识的理解。

4. 实验结果。

通过本次实验,我深刻理解了接口技术的基本知识,掌握了接口电路的设计与调试方法,了解了接口技术在实际应用中的作用。

通过实际操作,我对接口技术有了更深入的认识,提高了自己的动手能力和实验技能。

总结。

通过微机原理与接口技术的实验,我对微机原理和接口技术有了更深入的理解,提高了自己的动手能力和实验技能。

希望通过今后的学习和实践,能够更加深入地掌握微机原理与接口技术的知识,为将来的工作和研究打下坚实的基础。

微机原理及应用实验报告

微机原理及应用实验报告

实验一 程序调试实验(顺序结构程序设计)一、实验目的: 1.学习及掌握汇编语言源程序的基本结构,明确程序中各段的功能和相互之间的关系。

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

3、熟悉和掌握DEBUG 常用命令的使用 二、实验要求:1、上机前,要认真阅读前言和课本相关章节2、上机前,画好流程图,编写好程序3、上机时,注意出现的错误,记录下出错信息,翻译之4、完成好实验报告 三、实验内容:在内存TAB 开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤ X ≤ 15),求X 的平方值,并把结果存放在Y 单元中。

(2).分析X 平方的值是tab 为首地址且x 的值为有效地址中的值。

data segmentx db 8 y db ?data endsstack segment para'stack' db 100 dup(0) stack ends code segmentassume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax xor ax,ax mov al,x lea si,tab add si,ax mov al,[si] mov y,al mov ah,4ch int 21h code ends end start(3).程序调试:4.心得体会了解了顺序结构,掌握了程序的运行,调试。

实验二分支程序设计一、实验目的:熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法;掌握条件转移、无条件转移指令的使用方法。

掌握分支程序设计、编写、调试和运行的方法。

二、实验要求:1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序。

2、认真调试程序,对程序可能存在的所有分支都要进行运行,只有这样才能证明程序的正确性。

二、实验内容1.判断X单元数据的奇偶性,若为奇数,将Y单元设置为0FFH,若为偶数,将Y单元清0。

微机原理实验报告

微机原理实验报告

实验名称:微机原理与接口技术实验实验日期:2023年11月X日实验地点:微机原理实验室实验仪器:微机原理实验箱、计算机、仿真软件等实验人员:XXX、XXX、XXX一、实验目的1. 理解微机原理的基本概念和组成结构。

2. 掌握计算机的基本工作原理和指令系统。

3. 学习计算机接口技术的基本原理和方法。

4. 通过实验,提高动手能力和实际操作技能。

二、实验内容1. 计算机组成结构实验:- 学习计算机的硬件组成,包括中央处理器、存储器、输入输出设备等。

- 了解计算机的工作原理,包括数据的输入、处理、输出过程。

- 使用实验箱进行计算机组成结构实验,验证计算机的基本工作原理。

2. 指令系统实验:- 学习汇编语言的基本语法和指令系统。

- 掌握指令的格式、操作数和寻址方式。

- 使用汇编语言编写程序,实现简单的计算、数据传输和逻辑运算等功能。

3. 接口技术实验:- 学习计算机接口的基本原理和方法。

- 了解常用的接口电路和芯片。

- 使用接口技术实现数据传输、信号处理等功能。

- 学习仿真软件的使用方法,包括程序编写、调试和运行等。

- 使用仿真软件模拟计算机的工作过程,验证程序的正确性。

三、实验步骤1. 计算机组成结构实验:- 搭建实验箱,连接计算机硬件设备。

- 编写程序,实现简单的计算、数据传输和逻辑运算等功能。

- 观察实验结果,验证计算机的基本工作原理。

2. 指令系统实验:- 学习汇编语言的基本语法和指令系统。

- 编写汇编语言程序,实现简单的计算、数据传输和逻辑运算等功能。

- 使用汇编语言编写程序,实现更复杂的计算和数据处理功能。

3. 接口技术实验:- 学习计算机接口的基本原理和方法。

- 使用接口技术实现数据传输、信号处理等功能。

- 编写程序,实现接口功能,并验证其正确性。

4. 仿真软件实验:- 使用仿真软件编写程序,实现计算机的基本工作过程。

- 使用仿真软件调试程序,验证程序的正确性。

- 使用仿真软件模拟接口电路的工作过程,验证接口功能的正确性。

微机原理及应用实验报告

微机原理及应用实验报告

微机原理及应用实验报告微机原理及应用实验报告1. 引言微机原理及应用是计算机科学与技术专业的一门重要课程,通过该课程的学习和实验,我们可以深入了解微机的基本原理和应用技术。

本文将对我们进行的微机原理及应用实验进行详细报告,包括实验目的、实验内容、实验步骤、实验结果及分析等。

2. 实验目的本次实验的目的是通过实际操作,加深对微机原理的理解,掌握微机的基本组成和工作原理,以及学习并应用微机的常见应用技术。

3. 实验内容本次实验主要涉及以下内容:- 微机的基本组成和结构- 微机的工作原理- 微机的存储器和输入输出设备- 微机的指令系统和编程技术4. 实验步骤4.1 实验一:微机的基本组成和结构在这个实验中,我们首先学习了微机的基本组成和结构,包括中央处理器、存储器、输入输出设备等。

通过观察实际的微机硬件设备,我们对微机的组成有了更加直观的认识。

4.2 实验二:微机的工作原理在这个实验中,我们学习了微机的工作原理,包括指令的执行过程、中央处理器的工作原理等。

通过实际操作,我们对微机的工作过程有了更加深入的理解。

4.3 实验三:微机的存储器和输入输出设备在这个实验中,我们学习了微机的存储器和输入输出设备的原理和应用。

通过实际操作,我们了解了存储器的读写过程,以及输入输出设备的工作原理。

4.4 实验四:微机的指令系统和编程技术在这个实验中,我们学习了微机的指令系统和编程技术。

通过实际编写和执行简单的汇编语言程序,我们掌握了微机的编程技术,并了解了指令的执行过程。

5. 实验结果及分析通过以上实验,我们对微机的原理和应用有了更加深入的理解。

我们通过实际操作,掌握了微机的基本组成和结构,了解了微机的工作原理,熟悉了微机的存储器和输入输出设备,掌握了微机的指令系统和编程技术。

这些知识和技能对我们今后的学习和工作都具有重要的意义。

6. 总结通过本次微机原理及应用实验,我们深入了解了微机的基本原理和应用技术。

通过实际操作,我们对微机的组成和工作原理有了更加直观和深入的理解,掌握了微机的存储器和输入输出设备的原理和应用,以及微机的指令系统和编程技术。

微机原理实习报告(带完全汇编源码)

微机原理实习报告(带完全汇编源码)

目录一.实习目的 .................................................. 错误!未定义书签。

二、实习内容及要求...................................... 错误!未定义书签。

三、方案和工作原理说明.............................. 错误!未定义书签。

四、程序流程图 .............................................. 错误!未定义书签。

五、程序源代码及注释.................................. 错误!未定义书签。

六、电路的连接 .............................................. 错误!未定义书签。

七、调试中出现的问题、原因及排除方法.. 错误!未定义书签。

一.实习目的本课程的课程设计是自动化专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。

本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。

二.实习内容及要求1.实习内容简易电子琴原理:(1) 蜂鸣器输入不同频率的方波,会发出不同的声音;(2) 通过按键,由单片机控制产生不同频率的方波,从而发出不同的声音。

(3) 通过8255的PA口,使G6区的1~7号键由低到高发出1-7的音阶。

2.设计要求从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:1)掌握汇编语言程序设计的基本方法。

2)进一步理解各种接口电路的应用。

例如8255并行接口。

3)掌握利用PC机扬声器发出不同频率声音的方法。

4)理解12864模块的应用。

(此为创新添加部分)三、方案和工作原理说明1.方案基于PC计算机的时钟晶振为1.MHz,利用电脑里面的蜂鸣器发出声音。

微机原理及应用实验报告(中南大学2014年)

微机原理及应用实验报告(中南大学2014年)

微机原理及应用实验报告班级:姓名:学号:中南大学机电工程学院精密测控实验室实验二软件程序设计1.实验目的:1、掌握MCS-51单片机指令系统及用汇编语言编程技巧;2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。

2.实验内容:1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

2.、编写多字节加法程序并上机调试通过。

8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。

3.实验设备名称、型号:4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:程序1、编写排序程序并上机调试通过。

已知8031内部RAM60H~69H单元中,依次存放了FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。

如果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列了。

则可以退出循环,结束程序。

程序结构框图和程序代码如下:ORG 1000HTEM DATA 50HMOV R7 , #9MOV 60H , #0FFHMOV 61H , #99HMOV 62H , #77HMOV 63H , #0CCHMOV 64H , #33HMOV 65H , #0DDHMOV 66H , #88HMOV 67H , #0BBHMOV 68H , #44HMOV 69H , #0EEHLOOP0: CLR F0MOV A , R7MOV R6, AMOV R0 , #60HMOV R1, #60HINC R1LOOP1: MOV A , @R0MOV TEM , AMOV A , @R1CJNE A ,TEM , NEXTSJMP NOCHANEXT: JC NOCHASETB F0MOV @R0 , AXCH A , TEMMOV @R1 , ANOCHA:INC R0INC R1DJNZ R6, LOOP1JNB F0, HALDJNZ R7, LOOP0HAL: SJMP $END程序2:编写多字节加法程序并上机调试通过。

微机原理及应用实验报告

微机原理及应用实验报告

实验报告课程名称实验日期学生专业学生学号学生姓名教师姓名成绩南京理工大学机械工程学院实验一DEBUG命令及其操作一、实验目的1.熟练掌握debug的常用命令,学会用debug来调试程序。

2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。

3.掌握各种寻址方法以及简单指令的执行过程。

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

2.本实验要求在PC机上进行。

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

三、实验内容实验内容1:学习用DEBUG调试工具进行源程序的输入、汇编、调试和执行。

答:1运行结果:.2.小结debug常用命令及使用体会a 汇编d显示内存单元内容e修改单元内存内容g执行命令t单步(或多步)调试n指定文件路径文件名(含扩展名)u反汇编r查看寄存器值及修改l加载程序w写盘命令体会:●实验内容2设AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

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

实验报告要求:1.写出完成上述功能的程序段;2.单步执行,并记录寄存器AX, BX及堆栈指针SP的值答:●实验内容3设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~304H连续单元装入0AH,0BH,0CH,0DH,0EH。

在DEBUG状态下送入下面的程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?A100 ;给各内存单元赋值Mov di,0300Mov dx,0aMov cx,51oop1:mov[di],dxInc diInc dx1oop loop1程序清单如下:寻址方式和AX的内容MOV BX,0300 立即寻址MOV SI,0002 立即寻址MOV AX,BX 寄存器寻址AX: 0300MOV AX,0304H 立即寻址AX:0304MOV AX,[0304H] 存储器直接寻址AX:ds:0304 内存单元的内容0EH MOV AX,[BX] 寄存器间接寻址AX:ds:0300 内存单元的内容0AH MOV AX,0001[BX] 基址相对寻址AX:ds:0301 内存单元的内容0BH MOV AX,[BX][SI] 基址变址寻址AX:ds:0302 内存单元的内容0CH MOV AX,0001[BX][SI] 基址变址寻址AX:ds:0303内存单元的内容0DH 实验内容4设AX=0002H,编写程序将AX的内容乘10,要求用移位的方法完成。

微机原理实验 原理

微机原理实验 原理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

微机原理及应用实验报告

微机原理及应用实验报告

微机原理及应用实验报告实验名称:微机原理及应用实验实验目的:通过实际操作,学习微机原理及应用,了解微机硬件组成和工作原理,掌握微机汇编语言的基本操作及应用。

实验器材与软件:电脑、汇编语言编译软件、实验板、示波器。

实验内容:1.微机硬件组成及工作原理-学习微机硬件包括中央处理器(CPU)、存储器(RAM和ROM)、输入输出设备(I/O)等组成部分。

-了解CPU的工作原理,包括指令译码、执行和数据传输。

-掌握存储器的分类和作用,了解RAM的读写操作和ROM的存储功能。

-理解输入输出设备的工作原理,例如键盘、显示器、串口等。

2.微机汇编语言基础-学习汇编语言的基本语法和指令格式。

-掌握汇编语言中的数据存储和操作方法。

-学习汇编语言的控制结构,包括顺序、选择和循环结构。

3.实验操作-实验前准备:连接实验板、示波器和电脑,启动汇编语言编译软件。

-编写简单的汇编程序,例如实现两个数字相加的功能。

-编译和调试汇编程序,观察电路的输出情况。

-修改程序代码,实现其他功能,例如实现数字的乘法和除法。

实验结果与分析:根据实验内容,我们成功学习了微机硬件组成和工作原理,掌握了汇编语言的基础知识并进行了实际操作。

在实验过程中,我们发现CPU是整个微机系统的核心,通过执行指令和数据操作来实现各种功能。

存储器用于存储程序和数据,RAM可以读写操作,而ROM只能读取。

输入输出设备是与外部环境进行数据交互的媒介。

通过编写简单的汇编程序,例如实现两个数字相加的功能,我们深入了解了汇编语言的语法和指令格式。

在编译和调试过程中,我们发现对于了解指令执行的效率和结果的正确性非常重要。

在修改程序代码的过程中,我们扩展了功能,例如实现数字的乘法和除法。

在这个过程中,我们学会了如何在程序中使用循环结构和控制结构。

总结与心得:通过本次实验,我们深入了解了微机原理及应用的相关知识。

通过实际操作,我们掌握了微机的硬件组成和工作原理,学会了使用汇编语言编写和调试程序。

微型计算机原理及应用实验报告

微型计算机原理及应用实验报告

机电工程学院
微型计算机原理及应用实验报告
实验一:数据查找实验
实验二:工业顺序控制模拟实验
实验三:交通灯控制模拟实验
实验四:模数转换实验
班级:
学号:
姓名:
撰写日期:
实验一数据查找实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图和主程序
四、实验步骤
五、思考
欲统计片外RAM 8100H ~ 811FH中05H的数目,如何修改实验程序?
实验二工业顺序控制模拟实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图
六、思考
欲使每道工序有多位输出,如何修改实验程序?
实验三交通灯控制模拟实验
实验日期:指导老师:成绩:一、实验目的
二、实验设备
三、实验内容
四、实验要求
1. 画出状态转换图
2. 画出实验接线图
3.
4. 设计延时方案
5. 设计中断服务子程序
6. 设计控制程序
写出每条基本指令的地址、目标代码和源程序代码
五、实验步骤
六、实验总结
实验四模数转换实验
实验日期:指导老师:成绩:一、实验目的
二、实验内容
三、实验程序框图和程序
四、实验接线图
五、实验步骤与记录。

微机原理与应用-实验报告

微机原理与应用-实验报告

《微机原理与应用》实验报告姓名:***学号:**********年级:2014专业:电子2016年春季学期实验一.熟悉单片机开发环境1.功能要求在 P1 端口接8 个LED,并编程依次循环点亮。

要求用软件延时程序控制LED 的亮灭时间,并能精确地计算和用软件测量延时时间。

2.硬件原理3.程序清单ORG 0000HLJMP STARTORG 0030HSTART: MOV R2,#8MOV A,#01H LOOP1: MOV P1,ALCALL DELAY RL ADJNZ R2,LOOP1 MOV R2,#8RR ALOOP2: MOV P1,ALCALL DELAY RR ADJNZ R2,LOOP2 LJMP STARTDELAY: MOV R5,#20 D1: MOV R6,#80 D2: MOV R7,#248 DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND4.实验心得首次接触开发板,通过实验1加强了对单片机的了解,学会使用仿真软件,学会搭线的各种技巧,并且掌握了LED亮灭的原理。

实验二.并行口输入输出实验——循环彩灯控制1.功能要求P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。

开关断开时,灯灭。

用5 个开关K0~K4,控制P0 口所接8 个灯的循环,各开关的功能要求如下:(1)K1~K2 分别选择灯的四种闪动方式;(2)K3 用于控制灯的循环方向(顺时针或逆时针);(3)K4 用于选择灯的两种循环速度;(4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定 的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。

当K0 没有引发 中断时,保持上一次的循环方式。

2.硬件原理3.程序清单ORG 0000HLJMP MAINDELAY2: MOV R0,#200 D4: MOV R1,#200ORG 0003HLJMP INTERRUPTORG 0030HMAIN: SETB EX0SETB IT0SETB EAMOV A,#01HA1: MOV P0,AJB 20H.2,B1JNB 20H.2,B2A2: JB 20H.3,LOOP11 JNB 20H.3,LOOP22 B1: LCALL DELAY1LJMP A2B2: LCALL DELAY2LJMP A2LOOP11: RL ALJMP A1LOOP22: RR ALJMP A1ORG 0600HDELAY1: MOV R0,#100D1: MOV R1,#100D2: MOV R2,#10D3: DJNZ R2,D3DJNZ R1,D2DJNZ R0 ,D1RET4.实验心得开始熟悉开发板,通过实验2加强了对单片机的了解,学会中断程序的书写方法,学会搭线的各种技巧,并且掌握了跑马灯工作的原理。

微机原理及应用实验报告(中南大学2014年)

微机原理及应用实验报告(中南大学2014年)

微机原理及应用实验报告
班级:
姓名:
学号:
中南大学
机电工程学院精密测控实验室
实验二软件程序设计
.实验目的:
、掌握单片机指令系统及用汇编语言编程技巧;
、了解和熟悉用单片机仿真开发机调试程序的方法。

.实验内容:
、编写排序程序并上机调试通过。

已知内部单元中,依次存放了,它们均为无符号数,编程将它们按递减次序排序,即
最大数放在中,最小数放在中。

.、编写多字节加法程序并上机调试通过。

内部单元中,存放了字节被加数(低字节在前),在单元中存放字节加数(低字节在
前),求两数之和,并将结果存入以为起始地址的区域中(低字节在前)。

.实验设备名称、型号:
.画出软件程序流程图,写出上机调试通过的汇编语言程序清单:
程序、编写排序程序并上机调试通过。

已知内部单元中,依次存放了
,它们均为无符号数,编程将它们按递减次序排序,即最大数放在中,最小数放在
中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较次后,最小的那个数就会沉底,
在下一次比较时将减少一次比较次数。

如果一次比较完毕,没有发生交换,说明已
经按照从大到小的顺序排列了。

则可以退出循环,结束程序。

程序结构框图和程序代码如下:。

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

实 验 报 告课 程 名 称实 验 名 称实 验 日 期学 生 专 业学 生 学 号学 生 姓 名教 师 姓 名成 绩南京理工大学机械工程学院微机原理及应用 实验1 DEBUG 操作实验 实验2 汇编程序设计实验 实验3 8253定时/计数器实验 实验4 8255 并行接口实验 年 月 日 至 年 月 日实验一DEBUG命令及其操作一、实验目的1.熟练掌握debug的常用命令,学会用debug来调试程序。

2.深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。

3.掌握各种寻址方法以及简单指令的执行过程。

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

2.本实验要求在PC机上进行。

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

三、实验内容●实验内容1:学习用DEBUG调试工具进行源程序的输入、汇编、调试和执行。

实验报告要求:1.写出运行结果;2.小结debug常用命令及使用体会答:1.原文已给出(略)2.a 汇编d显示内存单元内容e修改单元内存内容g执行命令t单步(或多步)调试n指定文件路径文件名(含扩展名)u反汇编r查看寄存器值及修改l加载程序w写盘命令体会:提升学习热情和动手能力有助于理解代码执行过程●实验内容2设AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。

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

实验报告要求:1.写出完成上述功能的程序段;2.单步执行,并记录寄存器AX, BX及堆栈指针SP的值答:A100Mov ax,3000 ;ax:3000 bx:0000 sp:ffeeMov bx,5000 ;ax:3000 bx:5000 sp:ffeePush ax ;ax:3000 bx:5000 sp:ffecMov ax,bx ;ax:5000 bx:5000 sp:ffecPop bx ;ax:5000 bx:3000 sp:ffeeInt 20●实验内容3设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~304H连续单元装入0AH,0BH,0CH,0DH,0EH。

在DEBUG状态下送入下面的程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?实验报告要求:1.写出源操作数的寻址方式;2.单步执行,并记录相关寄存器及存储单元的值A100 ;给各内存单元赋值Mov di,0300Mov dx,0aMov cx,51oop1:mov[di],dxInc diInc dx1oop loop1程序清单如下:寻址方式和AX的内容MOV BX,0300 立即寻址MOV SI,0002 立即寻址MOV AX,BX 寄存器寻址AX: 0300MOV AX,0304H 立即寻址AX:0304MOV AX,[0304H] 存储器直接寻址AX:ds:0304 内存单元的内容0EHMOV AX,[BX] 寄存器间接寻址AX:ds:0300 内存单元的内容0AHMOV AX,0001[BX] 基址相对寻址AX:ds:0301 内存单元的内容0BHMOV AX,[BX][SI] 基址变址寻址AX:ds:0302 内存单元的内容0CHMOV AX,0001[BX][SI] 基址变址寻址AX:ds:0303内存单元的内容0DH●实验内容4设AX=0002H,编写程序将AX的内容乘10,要求用移位的方法完成。

写出实现上实验报告要求:1.述功能的程序段;2.单步执行程序,记录每条指令的机器码及相关寄存器的内容注意:左移指令用SHL,而不能使用SALA100Mov ax,2 机器码:b80200 ax:0002 dx:0000 cl:00Mov dx,0 机器码:ba0000 ax:0002 dx:0000 cl:00Shl ax,1 机器码:d1e0 ax:0004 dx:0000 cl:00Mov dx,ax 机器码:01d0 ax:0004 dx:0004 cl:00Mov cl,2 机器码:b102 ax:0004 dx:0004 cl:02Shl ax,cl 机器码:d3e0 ax:0010 dx:0004 cl:02Add ax,dx 机器码:01d0 ax:0014 dx:0004 cl:02Int 20 机器码:cd20 ax:0014 dx:0004 cl:02实验二简单程序的编写及汇编连接一、实验目的1.熟练掌握编写汇编语言源程序的基本方法和基本框架。

2.学会编写顺序结构、分支结构和循环结构的汇编程序,掌握宏定义与宏调用的方法。

3.掌握程序中数据的产生与数输出的方法。

4.熟悉建立源文件,进行汇编和连接的全过程,并对程序进行调试。

二、实验要求1.实验前准备①分析题目,将程序中的原始数据、中间结果和最终结果的存取方式确定好。

②写出算法或画出流程图。

③写出源程序。

④对程序中的结果进行分析,并准备好上机调试的过程。

2.本实验要求在PC机上进行。

3.汇编过程中出现问题,可用DEBUG进行调试。

三、实验内容1.实验内容1①编辑源程序(参考程序见下),建立.ASM文件;②用MASM程序汇编,生成.OBJ文件;查看.LST文件的内容③用LINK程序链接,生成.EXE文件;④使用DEBUG命令将.EXE文件调进内存,执行后查看程序运行结果;⑤使用DEBUG命令,检查各段在内存当中分配情况。

参考程序:; exercize21data segmentorg 0200hbuffer dw 0, 1, -5, 10, 256, -128, -100, 45, 6, 3,dw -15,-67, 39, 4, 20, -1668, -32766, 32765, -525,dw 300count equ ($-buffer)/2max dw ?data endsstack segment stack 'stack'db 100 dup ('s')stack endscode segment para 'code'assume cs:code, ds:data, ss:stacksta proc farpush dsxor ax, axpush axmov ax, datamov ds, axlea si, buffermov cx, countdec cxmov ax, [si]chkmax: add si, 2cmp [si], axjle nextmov ax, [si]next: loop chkmaxmov max, axretsta endpcode endsend sta实验报告要求:1.小结汇编语言源程序的编译及连接过程;2.记录数据段在程序执行前后的内容3.写出程序调试中出现的问题及解决方法;答:1.把待汇编的程序放在存放汇编、链接程序的文件夹里打开汇编程序输入待汇编的程序名字,以默认配置生成obj文件,再打开链接程序输入待链接的程序名字以默认配置生成exe文件2.执行前后buff数据数据块不变max执行前数据为0000H执行后为7ffdH3.很顺利作业:编程并且在计算机上调试。

①用汇编语言编写一个加法程序:1234+5678请用ASCII码的形式将加数与被加数存放在数据区DA TA1和DATA2中,并将相加的结果显示输出。

②假设有一组数据:5,-4,0,3,100,-51,……,请编一程序,判断每个数是否大于0,等于0,还是小于0,并输出判断结果。

即:1 当x>0y = 0 当x=0-1 当x<0①sstack segmentdw 32 dup(?)sstack endsdata segmentdata1 db ‘1234'data2 db ‘5678’data3 db 4 dup(?)data endscode segmentassume cs:code,ss:sstack,ds:data sta:push dsxor ax,axpush axmov ax,datamov ds,axlea si,data1lea di,data2lea bx,data3mov al,[si+3]mov ah,[di+3]and al,0fhand ah,0fhadd al,ahor al,30hmov [bx+3],almov al,[si+2]mov ah,[di+2]and al,0fhand ah,0fhadc al,ahor al,30hmov [bx+2],almov al,[si+1]mov ah,[di+1]and al,0fhand ah,0fhadc al,ahor al,30hmov [bx+1],almov al,[si]mov ah,[di]and al,0fhand ah,0fhadc al,ahor al,30hmov [bx],almov cx,4mov ah,2ha1:mov dl,[bx]int 21hinc bxloop a1retcode endsend sta②sstack segment stack 'stack'dw 32 dup(?)sstack endsdata segmentbuff db 12,-23,5,-4,0,3,100,-51,3,-45,9,2 data endscount equ $-buffcode segmentassume ss:sstack,ds:data,cs:codestart prog farpush dsxor ax,axpush axmov ax,datamov ds,axlea bx,bufflea si,countmov cx,[si]loop1:mov al,[bx]cmp al,0jz aa1and al,80hjz aa2mov ah,2mov dl,2dhint 21haa: inc bxloop loop1jmp ovaa1:mov ah,2mov dl,30hint 21hjmp aaaa2:mov ah,2mov dl,31hint 21hjmp aaov:retstart endpcode endsend start实验三8254定时/计数器应用实验一、实验目的1、掌握8254的工作方式及应用编程;2、掌握8254典型应用电路的接法。

二、实验设备PC机一台,TD-PIE实验装置一套,示波器一台。

三、实验内容1、计数应用实验。

编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按动‘KK1 +’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。

相关文档
最新文档