微机原理及应用 上机实验报告2 数据传送

合集下载

微机原理及应用实验报告

微机原理及应用实验报告
2•深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。
3•掌握各种寻址方法以及简单指令的执行过程。
二、实验要求
1实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法以及对程序结果的分 析等。
2•本实验要求在PC机上进行。
3•本实验只要求在DEBUC调试状态下进行,包括汇编程序,调试程序,执行程序。
4•熟悉建立源文件,进行汇编和连接的全过程,并对程序进行调试。
二、实验要求
1•实验前准备
1分析题目,将程序中的原始数据、中间结果和最终结果的存取方式确定好。
2写出算法或画出流程图。
3写出源程序。
4对程序中的结果进行分析,并准备好上机调试的过程。
2•本实验要求在PC机上进行。
3•汇编过程中出现问题,可用DEBU(进行调试。
xorax,ax pushax movax,data movds,ax leasi,data1 leadi,data2 leabx,data3 moval,[si+3] movah,[di+3] an dal,0fh an dah,0fh addal,ah oral,30h mov[bx+3],al moval,[si+2] movah,[di+2] an dal,0fh an dah,0fh adcal,ah oral,30h mov[bx+2],al moval,[si+1] movah,[di+1] an dal,0fh an dah,0fh adcal,ah oral,30h mov[bx+1],al moval,[si] movah,[di] an dal,0fh an dah,0fh adcal,ah
;exercize21

微机原理及应用实验(题目)

微机原理及应用实验(题目)

微机原理及应用实验实验一开发环境的使用一、实验目的掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部RAM内容的查看、修改;PSW中个状态位的查看;机器码的查看;程序的各种运行方式,如单步执行、连续执行,断点的设置。

二、实验内容在伟福开发环境中编辑、汇编、执行一段汇编语言程序,把单片机片内的30H~7FH 单元清零。

三、实验设备PC机一台。

四、实验步骤用连续或者单步的方式运行程序,检查30H-7FH 执行前后的内容变化。

五、实验思考1.如果需把30H-7FH 的内容改为55H,如何修改程序?2.如何把128B的用户RAM全部清零?六、程序清单文件名称:CLEAR.ASMORG 0000HCLEAR: MOV R0,#30H ;30H 送R0寄存器MOV R6,#50H ;50H 送R6寄存器(用作计数器)CLR1: MOV A,#00H ;00 送累加器AMOV @R0,A ;00 送到30H-7FH 单元INC R0 ;R0 加1DJNZ R6,CLR1 ;不到50H个字节,继续WAIT: LJMP WAITEND实验二数据传送一、实验目的掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。

二、实验内容1.编制一段程序,要求程序中包含7中不同寻址方式。

2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。

3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H 中。

4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。

三、实验设备PC机一台。

四、实验步骤逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。

五、实验思考1.如何把片外RAM中1000H~100FH单元中的数传送到片外RAM中2000H~200FH单元中?2.如何把ROM中0200H~0207H单元的数传送至片外RAM0000H~0007H单元中?实验三数码转换一、实验目的掌握采用软件方法进行不同形式数据之间的转换,如十进制数与二进制数的转换、十六进制数与BCD码的转换、BCD数与ASCII码之间的转换、非压缩BCD码与压缩BCD码之间的转换。

微机原理实验报告2g(参考答案)

微机原理实验报告2g(参考答案)

实验步骤及结果记录: 实验步骤: (1) 打开 DVCC-598JH 实验箱电源。 (2) 启动计算机,运行 DVCC-598JH 实验系统。 (3) 新建文件、输入程序并保存文件。 (4) 按 F9 键调试程序。 (5) 按 Ctrl+F9 键编译链接并传送文件至 DVCC-598JH 实验箱。 (6) 打开内部数据区,将 20H 单元的值更改为 00H 运行,观察程序运行情况。 (7) 分别将 20H 单元的值更改为正数(01H~7FH) 、负数(80H~0FFH)运行, 观察程序运行情况。 结果记录: 将 20H 单元的值更改为 00H 运行,观察到 21H 单元的值为 00H; 将 20H 单元的值更改为 08H 运行,观察到 21H 单元的值为 01H; 将 20H 单元的值更改为 87H 运行,观察到 21H 单元的值为 0FFH;
实验步骤及结果记录: 实验步骤: (1) 新建文件、输入程序并保存文件。 (2) 按 F9 键调试程序。 (3) 按 Ctrl+F9 键编译链接并传送文件至 DVCC-598JH 实验箱。 (4) 打开内部数据区,更改从 20H 单元的 8 个数据,观察程序运行情况。 (5) 打开外部数据区,观察从 2000H 开始的 16 个单元数据,检查运行结果的正确性。 结果记录: 20H 给定值 观察值 观察值 87H 2000H 07H 2001H 08H 21H 54H 2002H 04H 2003H 05H 22H 36H 2004H 06H 2005H 03H 23H 23H 2006H 03H 2007H 02H 24H 19H 2008H 09H 2009H 01H 25H 43H 200AH 03H 200BH 04H 26H 77H 200CH 07H 200DH 07H 27H 69H 200EH 09H 200FH 06H

微机原理——数据传送实验

微机原理——数据传送实验

微机原理数据传送实验【实验目的】(5分)1 学习汇编语言的数据传送的方法,练习一道综合题;2 掌握汇编应用程序的编辑和编译、调试和运行的方法。

【实验环境】(5分)1.实验设备:Windows 10 64位笔记本2.软件:Masm for Windows集成实验环境共享版2015 DOSBox 0.74【实验原理】(30分)将存储区BUF1中的内容复制到BUF2中,在数据区中定义源数据区BUF1变量,存放待传送的数据(字符串),在数据区中定义目的数据区BUF2变量,存放接收的数据(字符串),使用寄存器SI作为源地址指针,DI作为目标地址指针,每次传送一个字节的数据,AL用来存放传送的字节,CX用于记录数据个数,并作为循环变量。

通过一个循环进行字节传送,直到所有字节传送结束。

【实验内容】(50分)1.数据传送:【代码】DATA SEGMENTBUF1 DB'HELLO 18030213 $!'COUNT EQU $-BUF1BUF2 DB 20 DUP(?)DATA ENDSSTACK1 SEGMENT STACKDB 20 DUP(?)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 ;判断是否传送完毕CODE ENDSEND START【操作步骤】1.编译成目标文件2.生成可执行文件3.调试4.输入-u;–g=0 17;–d ds:000 –d ds:0010并查看结果【结果】运行后给出截图1,ds:0000H开始地址单元中内容(XXH)0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 48H 45H 4CH 4CH 4FH 20H 31H 38H- 30H 33H 30H 32H 31H 33H 20H 24H ds:0010H开始地址单元中内容(XXH)0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F21H 48H 45H 4CH 4CH 4FH 20H 31H- 38H 30H 33H 30H 32H 31H 33H 20H2.求和实验【代码】STACK SEGMENTDW1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20; 1-20个数STACK ENDSDATA SEGMENTCOUNT EQU 1NUM EQU 10DATA ENDSCODES SEGMENTASSUME CS:CODES,DS:DATA,SS:STACK START:MOV AX,STACKMOV SS,AXMOV SI,COUNT;下标从0开始MOV AX,0000H; 累计和初始为0MOV CX,0000H; 累计个数,从0开始LP1:MOV DX,[BP+SI];从数组中获取下标为SI的数ADD AX,DX ;累计求和INC SI ;下标增加2,因为是每个数是字长INC SIINC SI ;下标增加2,因为是每个数是字长INC SI ;下标增加2,因为是每个数是字长INC CX ;累计个数加1CMP CX,NUMJNZ LP1CODES ENDSEND START【操作步骤】1.编译成目标文件2.生成可执行文件3.调试4.输入-u;-g=0 1c;-d ss:0000【结果】运行后给出截图1,看AX中累加和是多少给出截图2,看ss段中是否存放了数组【实验结论】(10分)1.通过此次实验,了解了汇编语言的数据传送的方法.2.掌握汇编应用程序的编辑和编译、调试和运的方法。

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

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

微机原理与接口技术实验报告实验目的:本次实验旨在熟悉并掌握微机原理与接口技术的相关知识,通过实例操作和分析实验数据,加深对微机原理与接口技术的理解。

一、实验器材与软件1. 硬件器材:计算机主机、外设设备2. 软件工具:操作系统、编程软件二、实验步骤及结果分析1. 实验1:计算机开机自检在实验中,通过开机启动计算机,观察计算机进行自检的过程。

根据显示屏上的自检信息,可以判断计算机硬件的工作状态。

2. 实验2:串口通信测试在本实验中,通过串口通信实现计算机与外设设备之间的数据传输。

首先,将串口接口连接到计算机主机,然后进行相应的设置,包括波特率、数据位、停止位和校验位等。

在实验中,通过编写相应的程序,实现计算机与外设设备之间的数据交互。

通过观察实验结果,判断串口通信是否正常。

3. 实验3:并口通信测试本实验旨在通过并行口通信实现计算机与外设设备之间的数据传输。

首先,将并行口接口连接到计算机主机。

然后,根据实验要求进行相应的设置,包括数据总线的宽度、传输模式等。

通过编写程序,实现计算机与外设设备之间的数据交互。

观察实验结果,判断并口通信是否正常。

4. 实验4:USB接口测试在本实验中,通过USB接口实现计算机与外设设备之间的数据传输。

首先,将USB接口连接到计算机主机。

然后,在计算机中安装相应的驱动程序。

通过编写程序,实现计算机与外设设备之间的数据交互。

观察实验结果,判断USB接口是否正常工作。

5. 实验5:网络接口测试本实验旨在通过网络接口实现计算机之间的数据传输。

首先,将计算机连接到局域网中的其他计算机。

然后,进行相应的设置,包括IP地址、子网掩码等。

通过编写程序,实现计算机之间的数据交互。

观察实验结果,判断网络接口是否正常工作。

三、实验总结通过本次实验,我对微机原理与接口技术有了更深入的了解,掌握了串口、并口、USB接口和网络接口等常用接口的使用方法。

通过实验的操作和分析,我对接口通信的原理和实现方式有了更详细的了解,对计算机与外设设备之间的数据传输有了更清楚的认识。

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

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

微机原理及应用的实验报告1. 实验介绍在本次实验中,我们将学习微机原理及应用的基本知识,并通过实践来深入理解和应用这些知识。

本实验旨在让我们熟悉微机系统的原理、组成部分以及在实际应用中的一些常见问题和解决方案。

2. 实验目的•了解微机系统的基本组成部分•掌握微处理器的工作原理和操作方法•学习使用汇编语言编写简单的程序•熟悉实验中常用的开发工具和调试技术3. 实验步骤1.首先,我们需要了解微机系统的基本组成部分。

微机系统主要由中央处理器(CPU)、内存、输入输出设备和总线组成。

其中,CPU是微机系统的核心部件,它负责执行程序的指令和处理数据。

内存用于存储程序和数据,输入输出设备用于与外部环境进行数据交互,总线则负责连接各个部件之间的数据传输。

2.接下来,我们将学习微处理器的工作原理和操作方法。

微处理器是CPU的核心组成部分,它由运算器、控制器和寄存器组成。

运算器负责执行各种算术和逻辑运算,控制器负责控制程序的执行流程,寄存器用于保存指令、数据和中间结果。

3.在实验中,我们将学习使用汇编语言编写简单的程序。

汇编语言是一种低级语言,它与机器语言直接相对应。

通过编写汇编程序,我们可以更加直观地了解指令的执行过程以及数据的处理方式。

同时,在实验中我们还将学习如何使用调试工具对程序进行调试和测试。

4.最后,我们将熟悉实验中常用的开发工具和调试技术。

在实验中,我们将使用一些开发工具如汇编器、编译器和调试器来编写、编译和调试程序。

同时,我们还将学习如何使用逻辑分析仪和示波器等调试工具来对程序进行分析和验证。

4. 实验结果通过本次实验,我对微机原理及应用有了更深入的了解。

我学会了微机系统的基本组成部分,了解了微处理器的工作原理和操作方法,并且能够使用汇编语言编写简单的程序。

同时,我还熟悉了实验中常用的开发工具和调试技术,能够使用它们来进行程序的编写、编译和调试。

通过实验,我对微机系统的原理和应用有了更加直观和深入的认识。

微机原理实验报告

微机原理实验报告

校区实验报告课程名称____________________________ 专业班级_____________________________ 学生及学号____________________________指导教师____________________________实验地点————————————————2015 ~2016 学年第二学期《微机原理与接口技术》实验一(1)实验名称存贮器部数据传送姓名系院专业电子信息类班级学号实验日期2016.6.14 指导教师成绩一、实验目的和要求1、初步掌握星研集成环境工具软件的使用方法。

2、掌握存储器部不同位置间数据传送的方法。

3、认真预习本节实验容,尝试自行编写程序,填写实验报告。

二、实验容(包括实验步骤和代码)1、编写源程序,要求将数据段中3000H~30FFH 单元的容传送给6000H~60FFH 单元中。

2、编译、连接所编写的源程序。

3、执行程序前,利用存贮器窗口将DS:3000H~300FH 中的数据改为11、22、33、44、55、66、77、88、99、AA、BB、CC、DD、EE、FF、00,存贮器窗口支持数据的直接修改功能,在相对应的地址中直接输入数据即可。

4、进入调试状态后,分别以“全速运行”、“全速断点”、“单步”、“单步进入”等方式运行程序,同时在工作区窗口的CommonRegister 视图中查看本程序所使用的寄存器(CX、DI、SI)容的变化。

5、在如下图所示的存贮器窗口中检查程序运行结果是否正确。

程序如下:.MODEL TINY ;memory mode : tiny.STACK 100 ;堆栈.CODE ;开始程序段START: MOV AX,DATAMOV DS,AXMOV ES,AXNOPMOV CX,100HMOV SI,3000HMOV DI,6000HCLDREPE MOVSBMOV CX,100HMOV SI,3000HMOV DI,6000HREPE CMPSBJNE ERRORTRUE: JMP $ERROR: JMP $END START三、实验结果及其分析1、通过该实验,成功地将数据段中3000H~30FFH 单元的容传送到了6000H~60FFH 单元中。

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

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

微机原理与接口技术实验报告实验一显示程序实验一、实验目的1. 掌握在PC机上以十六进制形式显示数据的方法;2. 掌握部分DOS功能调用使用方法;3. 熟悉Tddebug调试环境和Turbo Debugger的使用。

二、实验所用设备1. PC微机一台。

三、实验内容一般来说,程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。

本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。

实验中可使用DOS功能调用(INT 21H)。

(1) 显示单个字符输出入口:AH=02H调用参数:DL=t出字符(2) 显示字符串入口:AH=09H调用参数:DS:DX串地址,’$'为结束字符(3) 键盘输入并回显入口:AH=01H返回参数:AL=t出字符(4) 返回DO系统入口:AH=4CH调用参数:AL=M回码四、实验步骤1. 运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1-1示;2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;3. 使用Rmrun菜单中的Run,运行程序,观察运行结果;4. 使用Rmrun菜单中的Debug调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;5. 更改数据区中的数据,考察程序的正确性。

图1-1显示程序实验流程图五、程序清单DATA SEGMENTMES DB 'laoshihao:', 0AH,0DH,'$' SD DB 'b'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MESMOV AH, 09HINT21HMOV DI, OFFSET SDMOV AL, DS:[DI]AND AL, 0F0HSHR AL,4CMP AL, 0AHJB L1ADD AL, 07HL1: ADD AL, 30HMOV DL, ALMOV AH, 02HINT21HMOV AL, DS:[DI]AND AL, 0FHCMP AL, 0AHJB L2ADD AL, 07HL2: ADD AL, 30HMOV DL, ALMOV AH, 02HINT21HMOV AX, 4C00HINT21HCODE ENDSEND START六、实验调试过程调试过程中出现警告,显示没有使用堆栈段。

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

课程名称:_________微机原理及应用___________指导老师:_____钟崴_______成绩:__________________ 实验名称:_________数据传送___________实验类型:________________同组学生姓名:__________ 一、实验目的和要求(必填)二、实验内容和原理(必填)
三、主要仪器设备(必填)四、操作方法和实验步骤
五、实验数据记录和处理六、实验结果与分析(必填)
七、讨论、心得
一、实验目的和要求(必填)
掌握MCS-51指令系统中的数据传送类指令的应用,通过实验,切实掌握数据传送类指令的各种不同的寻址方式的应用。

二、实验内容和原理(必填)
1.编制一段程序,要求程序中包含7中不同寻址方式。

2.编制一段程序,将片内RAM30H~32H中的数据传送到片内RAM38H~3AH中。

3.编制一段程序,将片内RAM30H~32H中的数据传送到片外RAM1000H~1002H中。

4.编制一段程序,将片内RAM40H~42H中的数据与片外RAM2000H~2002H中的数据互换。

三、主要仪器设备(必填)
PC机一台。

四、操作方法和实验步骤
逐段编制程序,汇编无误后,用连续或者单步的方式运行程序,检查程序的运行结果,看是否达到预期的效果。

五、程序清单
1. ORG 0000H
CLEAR MOV R0,#30H ;间接寻址
MOV A,#40H ;立即寻址
MOV @R0,A ;间接寻址
MOV A,30H ;直接寻址
MOV DPTR,#0100H ;间接寻址
MOV A,#36H
MOVX @DPTR,A
MOV R0,#50H ;立即寻址
MOV A,#10
MOVC A,@A+DPTR ;变址寻址
END
实验名称:_______数据传送________姓名:_____许川______学号:____3120103533____
0000H
CLEAR:
MOV 30H,#1H
MOV 31H,#2H
MOV 32H,#3H
MOV 38H,30H
MOV 39H,31H
MOV 3AH,32H
END
3. ORG 0000H
CLEAR:
MOV 30H,#1H
MOV 31H,#2H
MOV 32H,#3H
MOV DPTR,#1000H
MOV A,30H
MOVX @DPTR,A
MOV DPTR,#1001H
MOV A,31H
MOVX @DPTR,A
END
4. ORG 0000H
CLEAR:
MOV 40H,#1H
MOV 41H,#2H
MOV 42H,#3H
MOV A,40H
XCH A,2000H
XCH A,40H
MOV A,41H
XCH A,2001H
XCH A,41H
END
六、实验思考
1.如何把片外RAM中1000H~100FH单元中的数传送到片外RAM中2000H~200FH单元中?
2.如何把ROM中0200H~0207H单元的数传送至片外RAM0000H~0007H单元中?
1. ORG 0000H
MOV DPTR,#1000H
MOV R7,#16H
LOOP: MOV R0,#2000H
MOVX A,@DPTR
MOVX @R0,A
INC DPTR
INC R0
DJNZ R7,LOOP
SJMP $
END
2. ORG 0000H CLEAR:
MOV R0,#0000H
MOV R6,#08H
MOV DPTR,#0200H CLR1: MOV A,R0
MOVC A,@A+DPTR
MOV @R0,A
INC R0
DJNZ R6,CLR1
LJMP WAIT
END。

相关文档
最新文档