微机原理及应用 上机实验报告2 数据传送
- 格式:doc
- 大小:36.50 KB
- 文档页数:3
微机原理及应用实验实验一开发环境的使用一、实验目的掌握伟福开发环境的使用方法,包括源程序的输入、汇编、修改;工作寄存器内容的查看、修改;内部、外部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码之间的转换。
微机原理数据传送实验【实验目的】(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.熟悉8086指令系统的数据传送指令及8086的寻址方式。
2.利用Emulator仿真器来调试汇编语言程序。
二、实验预习要求1.复习8086指令系统中的数据传送类指令和8086的寻址方式。
2.按照题目要求预先编写好实验中的程序段。
三、实验任务1.通过下述程序段的输入和执行来熟悉Emulator仿真器的使用,并通过显示器屏幕观察程序的执行情况。
练习程序段如下: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.硬件: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)。
微机原理上机实验报告实验一基本输入/输出实验:本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。
用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入/输出功能。
8255基本输入/输出实验参考接线图如图所示。
流程图:操作步骤:按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。
DATA SEGMENTCS0 EQU 300OHMY8255_A EQU CS0+00HMY8255_B EQU CS0+01HMY8255_C EQU CS0+02HMY8255_MODE EQU CS0+03HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV DX,3003HMOV AL,10000010BOUT DX,ALTEST_IT:MOV DX,3001HIN AL,DXMOV DX,3000HOUT DX,ALJMP TEST_ITCODE ENDSEND START实验现象:闭合开关,对应控制灯泡发光。
实验二流水线指示灯显示实验:首先分别将A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,在送到端口上,这样循环下去,从而实现流水灯的显示。
8255流水灯显示实验参考接线图如图所示。
流程图:操作步骤:按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。
DATA SEGMENTCSO EQU 3000HA EQU CSO+0000HB EQU CSO+0001HC EQU CSO+0002HM EQU CSO+0003HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR AX,AXMOV AL,10000000BMOV DX,MOUT DX,AL;MOV DX,B;IN AL,DXL1:MOV AL,00001000BMOV DX,AOUT DX,ALMOV AL,00000001BMOV DX,BOUT DX,ALMOV CX,00FFHC1: MOV BX,CXMOV CX,0FFFFHD1:LOOP D1MOV CX,BXLOOP C1MOV AL,00000100BMOV DX,AOUT DX,ALMOV AL,00000010BMOV DX,BOUT DX,ALMOV CX,00FFHC2: MOV BX,CXMOV CX,0FFFFHD2:LOOP D2MOV CX,BXLOOP C2MOV AL,00000010BMOV DX,AOUT DX,ALMOV AL,00000100BMOV DX,BOUT DX,ALMOV CX,00FFHC3: MOV BX,CXMOV CX,0FFFFHD3:LOOP D3MOV CX,BXLOOP C3MOV AL,00000001BMOV DX,AOUT DX,ALMOV AL,00001000BMOV DX,BOUT DX,ALMOV CX,00FFHC4: MOV BX,CXMOV CX,0FFFFHD4:LOOP D4MOV CX,BXLOOP C4JMP L1MOV AX,4C00HINT 21HCODE ENDSEND START实验现象:灯泡如流水般从左至右依次流动发光,并始终保持在同一时间只有一个灯亮着。
实验名称:汇编语言程序设计实验日期:2023年3月10日实验地点:计算机实验室实验者:张三一、实验目的1. 熟悉汇编语言的基本语法和指令系统。
2. 掌握汇编语言程序设计的基本方法。
3. 通过实验,加深对微机原理的理解。
二、实验内容本次实验主要涉及以下内容:1. 数据传送指令的应用2. 算术运算指令的应用3. 控制转移指令的应用4. 子程序设计三、实验步骤1. 编写一个简单的程序,实现以下功能:(1)将数据0x1234存入寄存器AX;(2)将数据0x5678存入寄存器BX;(3)计算AX和BX的乘积,并将结果存入寄存器DX;(4)将乘积的高16位和低16位分别存入寄存器CX和AX。
2. 编写一个程序,实现以下功能:(1)将数据0x1A2B3C4D存入内存单元[0x1000];(2)从内存单元[0x1000]开始,读取连续4个字节的数据;3. 编写一个程序,实现以下功能:(1)定义一个子程序,实现两个整数的加法运算;(2)在主程序中调用该子程序,实现两个整数的加法运算。
四、实验结果与分析1. 数据传送指令的应用(1)将数据0x1234存入寄存器AX;MOV AX, 0x1234(2)将数据0x5678存入寄存器BX;MOV BX, 0x5678(3)计算AX和BX的乘积,并将结果存入寄存器DX;MUL BX(4)将乘积的高16位和低16位分别存入寄存器CX和AX; MOV CX, DXMOV AX, DX2. 算术运算指令的应用(1)将数据0x1A2B3C4D存入内存单元[0x1000];MOV [0x1000], 0x1A2B3C4D(2)从内存单元[0x1000]开始,读取连续4个字节的数据; MOV AX, [0x1000]MOV BX, [0x1000+2]MOV CX, [0x1000+4]MOV DX, [0x1000+6]MOV AH, 0x0EINT 0x103. 控制转移指令的应用(1)定义一个子程序,实现两个整数的加法运算;ADD procedure:ADD AX, BXRET(2)在主程序中调用该子程序,实现两个整数的加法运算;MOV AX, 0x1MOV BX, 0x2CALL ADDMOV CX, AX五、实验心得通过本次实验,我深刻理解了汇编语言的基本语法和指令系统,掌握了汇编语言程序设计的基本方法。
微机原理数据传送的实验数据传送是微机原理中非常重要的一部分,它是指在微机系统中将数据从一个地方传送到另一个地方的过程。
数据传送分为内部数据传送和外部数据传送两种。
内部数据传送主要是指在微机系统内部进行数据传送,常涉及到寄存器和存储器之间的数据传输。
寄存器是微机系统中用于暂时存放数据的地方,而存储器则是用于永久存储数据的地方。
在微机系统中,数据的传输主要是通过总线来实现的。
总线是连接CPU、存储器和输入输出设备的一种通信线路。
数据传输通过总线分为三个步骤:地址传输、数据传输和控制传输。
首先是地址传输。
CPU通过地址总线将要访问的存储单元的地址发送给存储器。
存储器接收到地址后,将对应地址的数据准备好待传输。
然后是数据传输。
CPU通过数据总线将数据发送给存储器。
存储器接收到数据后,将数据写入相应的存储单元。
或者CPU从存储器中读取数据,存储器将所需的数据通过数据总线发送给CPU。
最后是控制传输。
控制传输是控制数据传输的信号传输。
在数据传输过程中,控制信号包括读使能、写使能、读取信号和写入信号等。
读使能信号用于告诉存储器将数据写入总线,写使能信号用于告诉存储器从总线读取数据。
读取信号和写入信号是为了使数据传输的时序正确。
除了内部数据传送,微机系统还需要和外部设备进行数据传送。
外部设备包括键盘、显示器、鼠标等。
外部设备与微机系统的数据传输需要通过接口电路来实现。
接口电路是把外部设备的数据格式转换成微机系统可识别的数据格式的电路。
通过接口电路,外部设备的数据可以传送到微机系统中,或者由微机系统的数据传送到外部设备中。
在外部数据传输中,数据传输方式主要有并行传输和串行传输两种。
并行传输是指多位数据同时传输的方式,而串行传输则是指一位一位地进行数据传输。
总之,数据传送是微机系统中非常重要的一个环节,它涉及到内部数据传送和外部数据传送。
在内部数据传送过程中,需要通过总线来进行地址传输、数据传输和控制传输。
而外部数据传送则需要通过接口电路将外部设备的数据格式转换成微机系统可识别的数据格式。
微机原理上机实验(一)实验报告主题:数据传送一、实验目的熟悉星研集成环境软件的使用方法。
熟悉Borland公司的TASM编译器熟悉8086汇编指令,能自己编写简单的程序,掌握数据传输的方法。
二、实验内容1、熟悉星研集成环境软件。
2、编写程序,实现数据段的传送、校验。
三、实验代码_STACK SEGMENT STACKDW 100 DUP()_STACK ENDSDATA SEGMENTDATA ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, DS:DATA, SS:_STACKMOV AX, DATA ;将数据段的地址存入AX寄存器。
AX=004DHMOV DS,AX ;对DS段寄存器赋值。
DS=004DHMOV ES,AX ;对ES段寄存器赋值。
ES=004DHNOP ;空指令MOV CX,100H ;把100H送到CX寄存器。
CX=0100HMOV SI,3000H ;把3000H送到SI寄存器。
SI=3000HMOV DI,6000H ;把6000H送到DI寄存器。
DI=6000HCALL Move ;调用Move子程序MOV CX,100H ;把100H送到CX寄存器。
CX=0100HMOV SI,3000H ;把3000H送到SI寄存器。
SI=3000HMOV DI,6000H ;把6000H送到DI寄存器。
DI=6000HCLD ;将DF标志位置0。
设置SI、DI为递增移动,DF=0 REPE CMPSB ;比较[SI]和[DI],CX减1,ZF=0或CX=0跳出;若ZF=0或CX=0不成立,则继续比较。
SI和DI持续递增1JNE ERROR ;若ZF=0,跳到ERROR子程序TRUE: JMP $ ;跳到目前地址ERROR: JMP $ ;跳到目前地址Move PROC NEAR ;Move子程序CLD ;将DF标志位置0。
设置SI、DI为递增移动。
深圳大学实验报告课程名称: _________ 微机原理及应用实验实验项目名称:数据传送及两个多位十进制数相加学院_________________________________专业__________________________________________________指导教师: __________________________________________________报告人:_学号:班级: ________________实验时间: ________________________________________实验报告提交时间: ___________________________________________教务处制、实验名称:数据传送及两个多位十进制数相加二、实验目的(1)学习数据传送和算术运算指令的用法。
(2)熟悉在PC机上建立、汇编、链接、调试和运行 8088汇编语言程序的过程。
三、实验内容将两个多位十进制数相加。
要求被加数均以ASCII码形式各自顺序存放在以DATAI和DATA2为首的5个内存单元中(低位在前),结果送回DATAI处。
四、实验电路及连线(硬件实验)此实验属于软件实验,故无硬件实验的电路及连线。
五、程序说明(预习)包括程序功能,程序框图,算法说明及所用到的寄存器等。
功能:将被加数和加数分别显示,接着运行加法运算,然后将结果显示出来。
算法说明:①定义数据段:定义被加数和加数,且要使其用ASCII码以十六进制之间的转换;②定义堆栈段,并给SP_TO单元赋初值0;③定义代码段,并将源代码放在里面首先,编写主程序;接着,编写显示、回车换行和加法运算的子程序。
④程序结束。
所用到的寄存:AX SS、CS、DS ES、SI、SP、DI六、源程序清单(预习);DATAS SEGMENT ; DATA1 DB 33H,32H,38H,34H,37H DATA2 DB 34H,35H,39H,37H,31H DATAS ENDS数据段;定义DATA1为被加数;定义DATA2为加数STACKS SEGMENT ; 堆栈段STA DB 64 DUP(O) ; 为STA预留64个字节的存储空间SP_TOP DB 0 ; 定义SP_TO单元的数值为0 STACKS ENDSCODES SEGMENT ; 代码段ASSUME CS:CODES,DS:DATAS,ES:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX ; 设置数据段MOV AX,STACKSMOV SS,AX ; 设置堆栈段LEA SP,SP_TOP ; 设置栈顶指针MOV SI,OFFSET DATA1 ; 把DATA1偏移量地址赋予SIMOV BX,05CALL DISPL ; 显示被加数CALLCRLF ; 回车、换行MOV SI,OFFSET DATA2 ; 把DATA2偏移量地址赋予SIMOV BX,05CALL DISPL ; 显示加数CALLCRLF ; 回车、换行MOV DI,OFFSET DATA1 ; 把DATA1偏移量地址赋予DICALL ADDA ; 调用ADDAF程序,实行加法运算MOV BX,05CALL DISPL ; 显示结果CALLCRLF ; 回车、换行MOV AX,4C00H ;INT 21H ; 调用DOS21H功能,返回CRLF PROC NEAR ; 回车、显示功能过程定义,属性为 NEAR MOV DL,0DH ; 把回车的ASCII码0DH传给DLMOV AH,02H ; 送DOS的中断调用功能号INT 21H ; DOS 的中断调用MOV DL,0AH ; 把换行的ASCII码0AH传给DLMOV AH,02H ;INT 21H ; DOSRET ; CRLF ENDP ;送DOS的中断调用功能号的中断调用返回完成过程定义DISPL PROC NEAR DSL: MOV AH,02 ;MOV DL,[SI+BX-1];INT 21H ; DOSDEC BX ;BXJNZ DSL ;RET ; DISPL ENDP ; 显示功能过程定义,属性为NEAR 送显示功能号显示字符串中一字符的中断调用减1,修改偏移量如果BX未减到零,跳到DSL执行指令返回完成显示功能子程序定义ADDA PROC NEARMOV DX,SIMOV BP,DIMOV BX,05实行加法运算子程序过程定义,属性为TRAN_HEX: SUB BYTE PTR[SI+BX-1],30H ;把 ASCII 码数转化为十六进制SUB BYTE PTR[DI+BX-1],30HDEC BX ;BXJNZ TRAN_HEXMOV SI,DXMOV DI,BPMOV CX,05 ;CLC ;THE_ADD: MOV AL,[SI]MOV BL,[DI]ADC AL,BL ;AAA ;MOV [SI],AL ;INC SI ;SIINC DI ;DILOOP THE_ADD ;MOV SI,DXMOV DI,BPMOV BX,05 减1,修改偏移量;如果BX未减到零,跳到TRAN_HEX执行指令包括进位,共5位进位标志位 CF清零 (clear carry flag )带进位相加,把结果存在AX进行AAA调整,非结合BCD码的加法调整结果送被加数区加1加1 (指向下一位)循环TRAN_ASCI: ADD BYTE PTR[SI+BX-1],30HADD BYT田TR[DI+BX-1],30H ; 使用PTR转换属性并相加,将十六进制数转化为ASCII表示DEC BX ; BX 减1,修改偏移量RET ; 返回ADDA ENDP ;加法子程序定义完成CODES ENDS ; 代码段完成END START七、实验源程序清单(实验后以电子报告形式存储到指定位置)1.源程序路径及文件名:实验三\l3.asm2.可执行程序路径及文件名:实验三\l3.exe;八、上机调试情况说明1.上机调试步骤A .通过dos对pts3.asm文件进行操作。
微机原理及应用微机原理及应用引言:微机是一种小型电子计算机,它具有体积小、功耗低、价格便宜等特点,被广泛应用于各个领域。
本文将介绍微机的原理和应用,并探讨其在信息技术领域的重要性。
一、微机的原理1. 中央处理器(CPU):微机的核心部件,负责执行指令、进行运算和控制其他硬件设备。
2. 存储器:包括随机存取存储器(RAM)和只读存储器(ROM),用于存储程序和数据。
3. 输入设备:如键盘、鼠标、摄像头等,用于将外部信息输入微机。
4. 输出设备:如显示器、打印机、音响等,用于将微机处理后的信息输出到外部。
5. 总线:用于连接微机内部各个部件,实现数据传输和控制信号传递。
6. 操作系统:控制和管理微机的软件系统,提供用户界面和资源管理等功能。
二、微机的应用1. 个人电脑:微机最常见的应用形式,广泛用于个人办公、学习和娱乐等领域。
个人电脑具有较高的处理能力和良好的用户界面,可以进行文字处理、图形设计、多媒体播放等任务。
2. 服务器:用于提供网络服务的微机,具有较高的计算和存储能力。
服务器广泛应用于互联网、企业内部网络等场景,提供网站托管、数据库管理、文件共享等功能。
3. 嵌入式系统:将微机集成到其他设备中,用于控制和管理这些设备。
嵌入式系统广泛应用于家电、汽车、工业自动化等领域,实现智能化和自动化控制。
4. 移动设备:微机的小型化和低功耗特点使其成为移动设备的核心。
智能手机、平板电脑、智能手表等都是基于微机技术的产品,提供了丰富的应用和便捷的移动计算能力。
5. 人工智能:微机的高性能和强大的计算能力使其成为人工智能技术的基础。
深度学习、机器学习等人工智能算法在微机上得以实现,推动了人工智能技术的发展和应用。
三、微机在信息技术领域的重要性微机作为信息技术的基础设施,对现代社会的发展起到了重要的推动作用。
1. 提高工作效率:微机的广泛应用使得信息处理速度和效率大幅提升,极大地提高了工作效率和生产力。
2. 促进信息交流:微机的网络功能使得信息交流变得便捷和全球化。
微机原理上机实验报告微机原理上机实验报告姓名:刘⾃祥学号:04103154实验⼀ Debug程序的使⽤⼀、实验⽬的1.学习使⽤DEBUG调试命令。
2.学习⽤DEBU G调试简单程序。
3.通过程序验证码制及其对标志位的影响。
4.通过调试熟悉和掌握个寄存器的作⽤与特点。
⼆、实验内容⽤DEBUG调试简单程序。
三、实验仪器微机⼀台四、实验步骤1.由DOS进⼊DEBUG调试环境。
(1)C:>DEBUG将调试程序装⼊内存注意:当机器控制权由DOS成功地转移给调试程序后,将显⽰“-”号,它是DEBUG 的状态提⽰符,表⽰可以接受调试⼦命令了。
(2)-R 显⽰CPU中各寄存器当前初始内容,请记录下列各项:AX=0000 BX=0000 CX=0000 DX=0000 BP=0000 SI=0000 DI=0000 DS=13B2 ES=13B2 SS=13B2 SP=FFEE CS=13B2 IP=0100 FLAG寄存器中的8个标志位状态值是:OF DF IF SF ZF AF PF CF0 0 1 0 0 0 0 0 DEBUG⽤符号给出标志寄存器中8个标志位的当前状态,其含义如下表所⽰。
标志位含义‘1’的对应符号‘0’的对应符号OF溢出OV有NV⽆DF⽅向DN递减UP递增IF中断EI允许DI禁⽌SF符号NG负PL正ZF全零ZR零NZ⾮零AF辅助进位AC有NA⽆PF奇偶性PE偶PO奇CF进位CY有NC⽆2.⽤DEBUG调试简单程序例1 -A CS:0106MOV AX,1234MOV BX,2345MOV CX,0ADD AX,BXMOV CX,AXINT 20运⾏程序(注:执⾏程序时IP应指向要执⾏的指令,需要修改时-RIP当前值输⼊需要值该处为0106当然也可以在T或G命令中指出程序起始地址)-R 显⽰各寄存器当前内容及⾸条指令-T 3 跟踪执⾏三条赋值传送指令,观察寄存器及标志位变化-T 2跟踪执⾏相加及送和数指令,观察寄存器及标志位变化-G 执⾏软件中断指令INT 20,机器将显⽰“程序正常终⽌”的信息,并显⽰“-”,表明仍处在DEBUG的调试控制状态下,注意未⽤T命令,因为我们不想进⼊到20H 中断处理程序中去,P命令也可实现相同操作实验现象记录:观察每条指令执⾏后各相关寄存器值及标志位状态例2 -A CS:116MOV AX,[0124]MOV BX ,[0126]ADD AX,BXMOV [0128],AXINT 20DW 2222DW 8888DW 0设置断点分段运⾏程序-G=CS:116 11D 从指定⼊⼝运⾏程序,⾄断点11D停,可见两个数已取⾄AX,BX,但还没有求和-G122 从上⼀断点运⾏⾄新断点停,已完成求和并存⼊指定结果单元-G 完成程序观看内存内容-DCS:116 12A显⽰本程序⼩段⽬标代码和数据单元内容-UCS:116 12A反汇编指定范围的内存内容-实验现象记录:通过反汇编,记录程序执⾏前指定范围的内存内容,并记录每条指令执⾏后各相关寄存器值及指定范围的内存内容)例3 -A CS:0192MOV DX,19BMOV AH,9INT 21INT 20DB …HELLO,WORLD! $?-P 命令单步执⾏实验现象记录:观察每条指令执⾏后各寄存器的变化,记录DX,AX的变化。
微机原理及应用实验报告实验名称:微机原理及应用实验实验目的:通过实际操作,学习微机原理及应用,了解微机硬件组成和工作原理,掌握微机汇编语言的基本操作及应用。
实验器材与软件:电脑、汇编语言编译软件、实验板、示波器。
实验内容:1.微机硬件组成及工作原理-学习微机硬件包括中央处理器(CPU)、存储器(RAM和ROM)、输入输出设备(I/O)等组成部分。
-了解CPU的工作原理,包括指令译码、执行和数据传输。
-掌握存储器的分类和作用,了解RAM的读写操作和ROM的存储功能。
-理解输入输出设备的工作原理,例如键盘、显示器、串口等。
2.微机汇编语言基础-学习汇编语言的基本语法和指令格式。
-掌握汇编语言中的数据存储和操作方法。
-学习汇编语言的控制结构,包括顺序、选择和循环结构。
3.实验操作-实验前准备:连接实验板、示波器和电脑,启动汇编语言编译软件。
-编写简单的汇编程序,例如实现两个数字相加的功能。
-编译和调试汇编程序,观察电路的输出情况。
-修改程序代码,实现其他功能,例如实现数字的乘法和除法。
实验结果与分析:根据实验内容,我们成功学习了微机硬件组成和工作原理,掌握了汇编语言的基础知识并进行了实际操作。
在实验过程中,我们发现CPU是整个微机系统的核心,通过执行指令和数据操作来实现各种功能。
存储器用于存储程序和数据,RAM可以读写操作,而ROM只能读取。
输入输出设备是与外部环境进行数据交互的媒介。
通过编写简单的汇编程序,例如实现两个数字相加的功能,我们深入了解了汇编语言的语法和指令格式。
在编译和调试过程中,我们发现对于了解指令执行的效率和结果的正确性非常重要。
在修改程序代码的过程中,我们扩展了功能,例如实现数字的乘法和除法。
在这个过程中,我们学会了如何在程序中使用循环结构和控制结构。
总结与心得:通过本次实验,我们深入了解了微机原理及应用的相关知识。
通过实际操作,我们掌握了微机的硬件组成和工作原理,学会了使用汇编语言编写和调试程序。
微机原理与接口技术实验报告实验一、认识Tddebug集成操作软件一.实验内容(一)实验题目:数据传送实验1. 编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
2. 修改此程序,采用字符串传送指令完成。
(二)实验目的:通过对该程序进行调试,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各个寄存器及数据区的内容。
(三)实验步骤:1. 运行Tddebug软件,选择Edit菜单编写实验程序2. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。
3. 使用Rmrun菜单中的Run运行程序,观察运行结果。
4. 使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各寄存器及数据区的内容。
过程如下:1) 按F7单步执行,在代码区中有一个三角,表示正在执行的指令。
每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。
2) 检查内存数据区的内容,关键是找出用户程序的数据段和附加段:方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区方法2:选择菜单View| Dump,弹出内存数据显示窗口。
3) 查看执行结果:按Alt+F5,切换到用户窗口。
5. 更改数据区中的数据,考察、调试程序的正确性。
二.分析设计思想,绘制实验原理图、流程图。
汇编语言程序的开发过程如图1.1所示,这个过程主要有编辑、编译、链接几个步骤构成。
三.程序清单及相关注释。
DDATA SEGMENTMSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENTMSD DB LEN DUP(?);定义源数据段;定义附加数据段EXDA ENDS;定义堆栈段 MYSTACK SEGMENTSTACK DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV MOV MOV MOV MOV ES,AX ;装载附加数据段寄存器SI,OFFSET MSR DI,OFFSET MSD CX,LEN BX,0NEXT: MOV AL,MSR[BX] ;开始传输数据MOV ES:MSD[BX],ALINC BXLOOP NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9I N T 2 1 H M O V A H , 4 C H / p >。
2015年微机原理及应用实验指导书实验一数据传送一、实验目的1.熟悉8086指令系统的数据传送指令,掌握传送指令的寻址方式。
2.利用DEBUG调试工具来调试汇编程序。
二、实验设备PC机及相应的软件。
三、实验内容1、从3500H内存单元开始建立(0~15共16个数据。
程序如图1所示。
图1实验步骤:(1)打开PC机电源,进入Windows XP(2)点击开始,指向运行,在打开窗口键入CMD ↙,(划线部分是实际输入的内容),↙代表回车键。
(3) 在提示符下,输入 DEBUG ↙,此命令是调用调试程序DEBUG程序,所幕显示“一”提示符,表示进入DEBUG状态。
(4)输入程序 A命令:(在“一”提示符开始输入程序段)-A 2000 ↙程序流程图输入程序过程中,若在Enter前发现本行有错误字符,则可以按←键删除重输;当Enter 后,系统提示“eeror”的,地址指针仍旧会停留在当前行,等你重新输入。
输入程序后,可以按以下操作进行反汇编,查看程序:(5)修改程序:当发现源程序有输入错误时,可做相应的修改,例如;修改2003语句为MOV CX,000FH的操作如下:注意:当输入程序出现多语句或少语句时,DEBUG调试工具没有删除和插入功能,修改输入程序的错误,需从出错的源程序的偏移地址IP开始,顺序输入正确的观程序。
(6)运行程序:程序的运行方式有跟踪与显示、设置断点、连续运行方式。
每次运行一条指令就显示行寄存器和8个标志位的内容以及下一条要执行的指令及地址IP,重复T ↙就可一条一条地运行整个程序,且到程序结束。
○2连续运行命令G-G=2000 2011 ↙用G命令执行程序段,起始地址为2000H,终止地址为20llH,并列出执行后CPU各寄存器的内容和最后一条指令。
如果只用G命令不加地址参数,程序运行的起始地址IP为100H。
该命令方式每次显示128个字节的内容。
显示的内容为两种方式:左边为十六进制内容,右边为与十六进制相对应的ASCII码字符,对不可见的字符以“.”代替。
课程名称:_________微机原理及应用___________指导老师:_____钟崴_______成绩:__________________ 实验名称:_________数据传送___________实验类型:________________同组学生姓名:__________ 一、实验目的和要求(必填)二、实验内容和原理(必填)
三、主要仪器设备(必填)四、操作方法和实验步骤
五、实验数据记录和处理六、实验结果与分析(必填)
七、讨论、心得
一、实验目的和要求(必填)
掌握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。