实验2数据块传送实验程序设计实验

合集下载

实验指导书

实验指导书

实验一系统认识实验一、实验目的掌握TDN86/51教学系统的基本操作二、实验设备TDN86/51教学实验系统一台三、实验内容及步骤1.系统认识实验(1)(1)程序的输入与修改从3500H内存单元开始建立0-15共16个数据。

实验步骤a.使用串行通讯电缆将实验系统与PC微机相连。

b.将位于线路板右下角的系统状态选择开关拨至86档,开启实验系统。

c.在系统软件所在目录下键入MD86↙,选择对应串口号,进入集成操作软件环境,出现系统提示符“>”。

按下F1功能键,进入全屏幕编辑界面,按ALT+F建立新文件(NEW),即可开始输入源程序。

实验程序及流程如下:STACK SEGMENT STACK ;8088宏汇编程序DW 64 DUP() ;定义堆栈段STACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODESTART: MOV DI,3500H ;程序开始设数据区首址MOV CX,0010H ;字节数送入CX中MOV AX,0000HSAHFA1: MOV [DI],AL ;写入一字节INC DI ;修改地址指针INC AX ;修改数据DAA ;十进制调整LOOP A1 ;未填完转移A2: JMP A2CODE ENDS ;代码段结束END START ;程序段结束d.输入程序后,按F2保存程序(规定扩展名为*.asm),使用ALT+X返回集成软件环境。

e.按F2,输入源程序名↙(省略扩展名,系统默认为.asm),对源程序进行汇编,生成目标文件(*.obj)及错误信息文件(*.m)。

若给出LST文件名则生成相应*.lst文件。

f.汇编无误后,按F3输入文件名↙对汇编生成的*.obj文件进行连接,连接信息显示于屏幕上,生成相应*.exe可执行文件。

g.按F5,输入*.exe可执行文件名↙,填入程序段地址CS:0000↙及偏移地址IP:2000↙,PC开始将程序从磁盘装入到教学系统内存,提示装载完毕后使用U0000:2000↙命h.当发现源程序输入错误或需要调整时,在调试界面下可用A命令来修改,如修改2000句为(2)运行程序系统提供了单步运行、设断点运行、连续运行等方式,具体操作如下:a.单步运行:其操作如下表,每运行一条指令后会显示下一条待执行指令并以蓝底白字显示变化寄存器的内容,重复T↙(或按F4键)就可一步一步地运行,直至程序结束。

汇编语言程序设计实验报告二(分支循环程序实验)

汇编语言程序设计实验报告二(分支循环程序实验)

汇编语言程序设计实验报告二(分支循环程序实验)一、实验目的1、掌握分支程序、循环程序的设计方法。

2、熟悉DEBUG程序的使用方法。

3、掌握汇编语言程序的编辑、汇编、连接以及调试过程。

二、实验内容1、编写一程序,将内存中某一区域的数据传送到另一个区域中(要求用循结构,不考虑数据块重叠问题)。

2、编写一程序,将内存中某一区域的数据传送到另一区域(要求考虑数据块重叠问题)。

三、实验准备1、预习数据传送指令,熟悉分支和循环程序设计方法。

2、预习DEBUG调试程序的使用方法。

3、根据实验内容要求,编写好实验源程序。

四、实验步骤1、用QE或其它编辑软件,在计算机上编辑源程序,使其正确无误。

2、汇编、连接源程序,产生.EXE可执行文件。

3、运行程序。

(1) 进入DEBUG。

打入DEBUGT MYPROG.EXE。

MYPROG为所编程序的文件名。

(2) 先用G命令连续剧连续执行程序,程序执行完毕后,观察运行结果。

如果执行后是对的,说明程序编写是正确的,如果结果不对,说明程序有错误,则执行下一步。

(3) 检查程序。

在程序中设置若干断点,以便杳出错误所在。

(4) 采用单步命令T或执行程序,观察各寄存器和存储单元内容,以便找到错误之处。

五、实验报告要求1、列出程序清单,并给出程序流程图。

2、总结实现数据传送的几种方法,指出它们的区别。

开始3、分析实验中所遇到的一些问题,分析错误原因。

4、说明本实验中是如何使用DEBUG进行调试的。

CX、SI、DI置初值六、流程图勤开始设置增量方式CX、SI、DI置初值保存SI内容AL [SI] SI SI+源块长度[DI] AL N SI>DIYSI SI+1 恢复SI内容恢复SI内容DI DI+1CX CX-1 设置减量方式N CX=0, SI指向源块末尾DI指向目的块末尾Y结束 [DI] [SI]题一流程图 N 传完了吗, 书馆 Y结束题二流程图七、程序清单题一程序清单:STACK SEGMENT STACK ‘STACK’DB 100 DUP(0)STACK ENDSDATA SEGMENT PARA ‘DATA’SOUR DB 0、1、2、3、4、5、6、7、8、9 DEST DB 10 DUP(,)DB ‘$’DATA ENDSSEGMENT PARA‘CODE’ASSUME CS:CODEMAIN PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV CX,10MOV SI,offset SOURMOV DI, offset DESTAGAIN: MOV AL,[SI]MOV [DI],ALINC SIIN DILOOP AGAINMOV DX,offset DESTMOV AH,09HINT 21HRETMAIN ENDPCODE ENDSEND START题二程序清单:DATA SEGMENT PARA ‘DATA’STRG DB ‘ABCDEFGHIJKLMNOP’STG1 EQU STRG+4STG2 EQU STHG+8STRSE EQU 6DATA ENDSSTACK SEGMENT PARA ‘CODE’DB 100 DUP(0) STACK ENDSCODE SEGMENT PARA ‘CODE’ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV CX,STRSEMOV SI,OFFSET STG1MOV DI,OFFSET STG2CLDPUSH SIADD SI,STRSE-1CMP SI,DIPOP SIJL MOVESTDADD SI,STRSE-1ADD DI,STRSE-1 MOVE: REP MOVSB RETMAIN ENDPCODE ENDSEND START。

单片机实验

单片机实验

实验一数据传送指令的使用及编程方法1.片内RAM的数据传送【实验程序】源程序单元内容ORG 0000HLJMP MAINORG 0030HMAIN:MOV R0,#40H R0MOV R1,#41H R1MOV A,R0 AMOV 30H,A 30HMOV 20H,30H 20HMOV A,#30H AMOV @R0,A 40HMOV A,30H AMOV R7, A R7MOV A,@R0 AMOV R7,A R7MOV DPTR,#0A702H DPTRMOV 30H,R7 30HMOV 20H,@R0 20HMOV 21H,#10H 21HMOV @R0,21H 10HMOV @R1,#01H 41HSJMP $END【实验要求】(1)理解源程序中每条数据传送指令的操作含义,将结果填入每个单元的相应“内容”中。

(2)单步运行源程序,逐条检查“内容”是否正确。

2.外部RAM的数据传送。

【实验程序】源程序单元内容ORG 0000HLJMP MAINORG 0030HMAIN:MOV DPTR,#1A33H DPTRMOV A,#80H AMOVX @DPTR,A 1A33HMOV A,#00H AMOV P2,#1AH P2MOV R0,#34H R0MOV R1,#35H R1MOVX @R0,A 1A34HMOVX A,@DPTR AMOVX @R1,A 1A35HMOVX A,@R0 AMOVX A,@R1 ASJMP $END【实验要求】(1)理解源程序指令含义,指出各存储单元的内容,写在右边的“内容”中。

(2)单步运行源程序,逐条验证分析结果。

3.片内特殊功能寄存器(SFR)的数据传送【实验程序】源程序ORG 0000HLJMP MAINORG 0030HMAIN:MOV SP,#60H ;设栈指针MOV R0,#30H ;#30H送R0(0区)MOV P1,#0EFH ;#EFH送P1口(直接地址为90H)MOV @R0,P1 ;将P1内容送R0所指单元MOV C,P1. 1 ;将P1口的D1位内容送CMOV P1. 7,C ;将CY的内容送P1. 7PUSH PSW ;保护0区寄存器MOV PSW,#08H ;选择1区寄存器MOV R0,#40H ;#40H送1区寄存器R0(08H)MOV @R0,P1 ;P1口内容送1区R0所指单元POP PSW ;恢复0区寄存器SJMP $END【实验要求】(1)理解源程序指令含义,并参照注释写出结果。

《单片机原理及应用》课程标准

《单片机原理及应用》课程标准

《单片机原理及应用》课程教学标准目录一、课程名称二、适用专业三、必备基础知识四、课程的地位和作用五、主要教学内容描述六、重点和难点七、内容及要求模块一:单片机概述(前言)1、教学内容2、教学要求3、教学手段及方法模块二:MCS-51单片机的基本结构1、教学内容2、教学要求3、教学手段及方法模块三:MCS-51单片机的指令系统1、教学内容2、教学要求3、教学手段及方法模块四:MCS-51汇编语言程序设计1、教学内容2、教学要求3、教学手段及方法模块五:MCS-51单片机的功能部件(中断、定时器/计数器、串行口等)1、教学内容2、教学要求3、教学手段及方法模块六:MCS-5单片机的系统扩展1、教学内容2、教学要求3、教学手段及方法模块七:单片机应用系统的接口技术1、教学内容2、教学要求3、教学手段及方法模块八:单片机的C51程序设计1、教学内容2、教学要求3、教学手段及方法模块九:单片机应用系统的设计1、教学内容2、教学要求3、教学手段及方法八、说明1、建议使用教材和参考资料2、模块学时分配3、考核方法及手段4、注意事项5、其他说明一、课程名称:单片机原理及应用二、适用专业:电气自动化技术、应用电子技术、通信技术、通信网络与设备、电子信息工程技术、移动通信技术等电子工程系和通信工程系各专业。

三、必备基础知识1.应当学习的课程(1)电路分析基础(2)计算机应用基础(3)模拟电子技术(4)数字电子技术2.应当掌握的基本知识(1)数的进制及其相互转换(2)二进制代码(3)计算机的基本结构(4)组合逻辑电路与时序逻辑电路(5)数/模转换器与模/数转换器(6)数字逻辑代数3.应当具有的基本技能(1)简单的模拟电路分析能力(2)组合逻辑电路的分析和设计能力(3)时序逻辑电路的分析和设计能力(4)运用逻辑公式和卡若图进行逻辑化简的能力(5)数/模转换器与模/数转换器的应用能力四、课程的地位和作用1.课程的地位《单片机原理及应用》是通信技术专业及应用电子技术专业的主要专业基础课之一,是现代技术人员必备的知识。

单片机及其接口技术实验报告

单片机及其接口技术实验报告

单片机及接口技术实验报告实验一数据传送程序一、实验目的1、掌握汇编语言设计和调试方法。

2、掌握DVCC实验系统的操作步骤。

二、实验内容1、编程实现,把7000H~70FFH单元的内容清零。

2、编程实现,把源地址为6000H开始的单元内容,传送到目的地址7000H开始的单元中,传送个数为0FFFH个。

三、DVCC实验系统操作说明1、接通DVCC实验系统电源,在DVCC实验箱上应显示闪动的“P”,否则按Reset键。

2、运行DVCC软件。

(程序DVCC598H实验系统DVCC实验系统)3、单击工具栏上“新建”或“打开”按钮,编写源程序。

单击“编译”按钮,使其形成可执行文件。

4、单击工具栏上“联接”按钮,同时按下DVCC实验箱上PCDBG键(键盘上最右边第2个),实现PC机和实验箱的联接。

联机成功,屏幕上出现:.反汇编窗口、寄存器标示位窗口。

5、在成功联机后,单击工具栏上“调试”按钮,把最终目标文件装载到实验系统RAM区;或者通过单击菜单栏中的“动态调试”,选择“传送(.EXE)文件”来实现。

6、单击工具栏上“运行”或“单步”按钮,运行实验程序。

7、单击工具栏上“窗口”,选择“显示内部数据窗口”或“显示外部数据窗口”可显示数据窗口。

鼠标右击数据窗口的数据,可设置数据块新地址;鼠标左键单击数据,可修改数据数值。

8、运行完毕,先按实验箱上的复位按钮Reset键,再按PCDBG键,并且点击屏幕上OK,即可退出运行状态。

四、实验程序代码1、把7000H~70FFH单元的内容清零。

程序代码:ORG 0000HAJMP STARTORG 70HSTART: MOV P2, #70H ;送地址高8位到P2端口MOV R0, #00H ;R0=00H,表地址低8位CLR A ;将累加器A清0LOOP: MOVX @R0, A ;将A送入以R0内容为地址的外部RAM.INC R0 ;R0+1-->R0CJNE R0,#00H,LOOP;比较条件转移指令,若R0不等于0,则跳转到LOOPAJMP $ ;暂停END2、编程实现,将源地址为6000H开始的单元,传送到目的地址7000H开始的单元,传送个数为0FFFH个。

单片机汇编语言程序设计实验报告

单片机汇编语言程序设计实验报告

单片机实验1 汇编语言程序设计实验---- 存储器块赋值一.实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。

2 熟悉循环结构程序的编写。

3 熟悉编程环境和程序的调试。

二.实验内容指定存储器中某块的起始地址和长度,要求将其内容赋值。

例如将4000H 开始的100个字节内容清零或全部赋值为33H(参考程序),要求根据参考程序修改:修改程序,赋值内容为(10,9,8,7,6,5,4,3,2,1。

)三.实验仪器微机、VW,WAVE6000编程环境软件,(单片机实验箱)仿真器--仿真器设置-选择仿真器选择仿真头选择CPU Lab8000/Lab6000通用微控制器 MCS51实验 8051前3个软件实验勾选√使用伟福软件模拟器四实验步骤注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。

2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。

5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。

编译器默认设置:程序框图参考例程序:Block equ 4000hmov dptr, #Block ; 起始地址mov r0, #10 ; 清10个字节mov a, #33h ; 将33H赋值给aLoop:movx @dptr, a 将a写入外部RAMinc dptr ; 指向下一个地址djnz r0, Loop ; 记数减一ljmp $ ; $当前程序指针相当于一直执行自己;ljmp $ end说明:$:是当前语句的程序指针(地址)相当于一直执行自己:ljmp $,程序死循环要求赋值数据为10,9,8,7,6,5,4,3,2,1则以上程序该如何改动? 自己修改程序实现。

实验报告 数据块传送

实验报告 数据块传送

实验报告数据块传送实验报告:数据块传送引言:数据块传送是计算机科学中的一个重要概念,它指的是将大量数据以块的形式从一个地方传输到另一个地方。

在现代计算机系统中,数据块传送在各种应用中得到广泛应用,如文件传输、数据库操作、图像处理等。

本实验旨在通过实际操作和观察,深入了解数据块传送的原理和性能。

一、实验目的本实验的主要目的是研究数据块传送的原理和性能特点。

通过实验操作,我们将探索以下几个方面:1. 数据块传送的基本概念和原理;2. 数据块传送的实际应用场景;3. 数据块传送的性能评估指标。

二、实验方法1. 实验环境搭建在实验开始前,我们需要搭建一个合适的实验环境。

选择一台性能较好的计算机作为实验主机,安装操作系统和相关软件,确保实验环境的稳定性和可靠性。

2. 实验过程(1)数据块传送的基本操作首先,我们需要了解数据块传送的基本操作。

选择一个较大的文件作为实验对象,通过不同的方式进行传输,如使用命令行工具、编程语言或网络传输协议等。

记录传输过程中的时间、速度和传输成功率等数据,并进行分析。

(2)数据块传送的实际应用在实验过程中,我们还可以探索数据块传送的实际应用。

选择一个具体的应用场景,如文件备份、大规模数据处理等,通过实际操作和观察,了解数据块传送在不同应用中的优势和局限性。

(3)数据块传送的性能评估最后,我们需要对数据块传送的性能进行评估。

选择不同大小的数据块,分别进行传输,并记录传输时间和速度等数据。

通过对比分析,找出最佳的数据块大小,并评估传输过程中的性能瓶颈和改进方法。

三、实验结果与分析通过实验操作和观察,我们得到了以下结论:1. 数据块传送的基本操作相对简单,但在实际应用中需要考虑数据的完整性和安全性等因素。

2. 数据块传送在不同应用场景中具有不同的优势和局限性,需要根据具体需求进行选择和优化。

3. 数据块大小对传输性能有明显影响,过小的数据块会增加传输开销,过大的数据块会降低传输效率。

上机实验报告

上机实验报告

微机原理与接口技术实验报告实验汇编实验专业:电力系统自动化班级:电力1203 学号: 0911 姓名:李国杰预习报告成绩实验成绩:机位号:试验一:数据块传送1.将数据段中2000H单元开始存放的的10个数(8位数)传送到3000H开始的10个字节中。

源程序:DATAS SEGMENT;此处输入数据段代码ORG 2000HDATA1 DB 1,2,3,4,5,6,7,8,9,10ORG 3000HDATA2 DB 10 DUP(0)DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV SI,2000HMOV DI,3000HMOV CX,10NEXT:MOV AL,[SI]MOV [DI],ALINC DIINC SIDEC CXJNZ NEXTMOV AH,4CHINT 21HCODES ENDSEND START结果展示:2.将数据段中2000H单元开始存放的10个数(16位数)传送到3000H开始到的10个字节中。

源程序:DATAS SEGMENT;此处输入数据段代码ORG 2000HDATA1 DW 1,2,3,4,5,6,7,8,9,10ORG 3000HDATA2 DW 10 DUP(0)DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV SI,2000HMOV DI,3000HMOV CX,10NEXT:MOV AL,[SI]MOV [DI],ALINC DIINC SIDEC CXJNZ NEXTMOV AH,4CHINT 21HCODES ENDSEND START结果展示:3.将数据DATA1中的10个字节数据传送到数据段DATA2中源程序:DATAS SEGMENT;此处输入数据段代码DATA1 DB 1,2,3,4,5,6,7,8,9,10DATA2 DB 10 DUP(0)DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV SI,OFFSET DATA1MOV DI,OFFSET DATA2MOV CX,10NEXT:MOV AL,[SI]MOV [DI],ALINC DIINC SIDEC CXJNZ NEXTMOV AH,4CHINT 21HCODES ENDSEND START结果展示:4.将数据段中2000H开始的20个数据传送到2010H开始的20个单元中。

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

实验2 数据块传送实验程序设计实验
实验目的
㈠学习和掌握DSP汇编语言程序的基本结构。

㈡熟悉和掌握常用的数据传送类指令。

熟练掌握数据块传送的方法。

二、实验原理
数据传送的常用指令
数据存储器((数据存储器:MVDK Smem,dmad
MVKD dmad,Smem
MVDD Xmem,Ymem
数据存储器((MMR:MVDM dmad,MMR
MVMD MMR,dmad
MVMM mmr,mmr
程序存储器((数据存储器MVPD Pmad,Smem
MVDP Smem,Pmad
READA Smem
WRITA Smem
Smem——数据存储器的地址;Pmad——16位立即数程序存储器地址;MMR——任何一个存储映象寄存器;Xmem,Ymem——双操作数数据存储器地址;dmad——16位立即数数据存储器地址;
数据传送指令是最常用的一类指令,与RPT指令相结合,可以实现数据块传送。

例如,在系统初始化过程中,可以将数据表格与文本一道驻留在程序存储器中,复位后通过程序存储器到数据存储器的数据块传送将数据表格传送到数据存储器,从而不需要配制数据ROM,使系统的成本降低。

另外,在数字信号处理(如FFT)时,经常需要将数据存储器中的一批数据传送到数据存储器的另一个地址空间等等。

实验内容
阅读实验程序example,上机运行程序后,查看:
㈠检查程序存储器(PM)1000H~101DH空间中的内容,检查程序存储器(PM)FF80H~FF83H空间中的内容。

㈡数据存储器(DM)60H~69H(.bss)空间中的内容是什么?
㈢数据存储器(DM)80H~90H(STACK)空间中的内容是什么?。

相关文档
最新文档