32位微机原理上机实验报告:数据传送实验

合集下载

数据传递实验报告

数据传递实验报告

实验名称:数据传递实验实验日期:2023年11月10日实验地点:实验室实验人员:[姓名]一、实验目的1. 理解数据在不同系统、设备之间传递的过程和原理。

2. 掌握使用常见的数据传递协议和方法。

3. 提高在实际工作中处理数据传递问题的能力。

二、实验原理数据传递是指在不同系统、设备之间传输数据的过程。

数据传递过程中,需要使用一定的协议和方法,以确保数据的正确、完整和高效传输。

三、实验内容1. 使用TCP/IP协议进行数据传递2. 使用串口通信进行数据传递3. 使用Modbus协议进行数据传递四、实验步骤1. 使用TCP/IP协议进行数据传递(1)搭建实验环境:两台计算机,一台作为服务器,一台作为客户端。

(2)编写服务器端程序:使用Python编写一个简单的TCP服务器程序,监听指定端口,接收客户端发送的数据。

(3)编写客户端程序:使用Python编写一个简单的TCP客户端程序,连接到服务器,发送数据。

(4)测试:在客户端发送数据,观察服务器端是否接收到数据。

2. 使用串口通信进行数据传递(1)搭建实验环境:一台计算机,一台具有串口功能的设备(如Arduino)。

(2)编写设备端程序:使用C语言编写一个简单的设备端程序,实现数据的读取和发送。

(3)编写计算机端程序:使用Python编写一个简单的计算机端程序,通过串口接收设备端发送的数据。

(4)测试:在设备端发送数据,观察计算机端是否接收到数据。

3. 使用Modbus协议进行数据传递(1)搭建实验环境:一台计算机,一台具有Modbus接口的设备(如PLC)。

(2)编写设备端程序:使用C语言编写一个简单的设备端程序,实现Modbus协议的数据读取和发送。

(3)编写计算机端程序:使用Python编写一个简单的计算机端程序,通过Modbus协议与设备端通信。

(4)测试:在设备端发送数据,观察计算机端是否接收到数据。

五、实验结果与分析1. 使用TCP/IP协议进行数据传递实验结果:客户端发送数据后,服务器端成功接收到数据。

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

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

《微机原理与接口技术》实验报告姓名:学号:班级:专业:电气工程及其自动化学院:电气与信息工程学院目录实验一数据传送 (2)实验二算术运算 (4)实验三代码转换 (6)实验四程序的基本结构 (9)1、分支程序 (9)2、循环程序 (13)3、子程序 (16)实验五中断实验(8259) (19)实验六并行接口实验(8255) (25)实验七定时器/计数器实验(8235) (31)实验八D/A接口实验 (36)实验九A/D接口实验 (40)实验十串行通信实验 (43)实验一数据传送一、实验目的1. 掌握与数据有关的不同寻址方式。

2. 继续熟悉实验操作软件的环境及使用方法。

二、实验设备PC微机一台、TD-PIT + 或TD-PIT ++ 实验系统一套。

三、实验内容本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

四、实验步骤(1) 运行Tdpit 集成操作软件,编写实验程序。

(2) 编译连接无误后,进入调试环境,进行程序的调试。

按F8 键单步运行程序,执行完MOV DS,AX 语句后,观察DS 寄存器中出现的段地址。

如图1-1所示可以看出DS数据段中MSR源数据串"HELLO,WORLD!$"。

图1-1 进入调试环境(3)继续单步运行程序,执行MOV ES,AX 语句后,可以看数据段出现的段地址,用同样的方法可以查看ES:0000 的数据。

数据传输还没开始进行,此时ES 段的数据为空,如图1-1所示。

继续单步运行程序如图1-2可以看出数据正在逐渐的进入ES段中。

图1-2 DS源数据段数据(4)直到数据传输完毕,可以看到ES 数据段中目的数据串MSD 已经被写入了数据串"HELLO,WORLD!$"。

如图1-3所示。

图1-3 根据ES值查看附加段的数据实验二算术运算一、实验目的1. 掌握运算类指令编程及调试方法。

2. 掌握运算类指令对各状态标志位的影响及测试方法。

计算机组成原理实验报告_32位ALU设计实验

计算机组成原理实验报告_32位ALU设计实验

实验三32位ALU设计实验一、实验目的学生理解算术逻辑运算单元(ALU)的基本构成,掌握Logisim 中各种运算组件的使用方法,熟悉多路选择器的使用,能利用前述实验完成的32位加法器、Logisim 中的运算组件构造指定规格的ALU 单元。

二、实验原理、内容与步骤实验原理、实验内容参考:1、32位加法功能的原理与设计1)设计原理1,被加数A(32位),2,被加数B(32位),3,前一位的进位CIN(1位),4,此位二数相加的和S(32位),5,此位二数相加产生的进位COUT(1位)。

要实现32位的二进制加法,一种自然的想法就是将1位的二进制加法重复32次(即逐位进位加法器)。

这样做无疑是可行且易行的,但由于每一位的CIN都是由前一位的COUT提供的,所以第2位必须在第1位计算出结果后,才能开始计算;第3位必须在第2位计算出结果后,才能开始计算,等等。

而最后的第32位必须在前31位全部计算出结果后,才能开始计算。

这样的方法,使得实现32位的二进制加法所需的时间是实现1位的二进制加法的时间的32倍。

2)电路设计32位加法功能2、32位减法功能的原理与实现1)变减法为加法的原理1.在Y引脚处使用求补器(32位),即可变减法为加法2.用构造好的32位加法器。

Y各位取反,C0取1,即可达到减法变加法。

无符号数的减法溢出,带加减功能的ALU的进位取反后表示,有符号数的减法溢出,仍然用最高位和符号位是否相等来判断2)电路设计32位减法功能3、加减溢出检测的设计(不考虑乘除法)1)有符号数溢出的设计有符号数溢出的设计2)无符号数溢出的设计无符号数溢出的设计4、移位的原理与设计1)逻辑移位逻辑移位2)算术移位算术移位5、逻辑运算功能的原理与设计2)与、或、异或、或非逻辑6、大于、等于、小于功能设计大于、等于、小于功能设计7、AluOP的控制原理与设计1)原理:AluOP的控制原理与设计8、总电路设计图算术逻辑运算单元ALU三、实验结论及分析(实验完成功能情况、存在问题分析或改进思路、自己的心得体会等。

微机原理实验报告(两个32位无符号数乘法程序以及码制转换程序设计)

微机原理实验报告(两个32位无符号数乘法程序以及码制转换程序设计)

微机原理实验报告(两个32位无符号数乘法程序以及码制转换程序设计)----05f17e0a-6eb2-11ec-86e4-7cb59b590d7d微机原理实验报告姓名:班级:学号:时间:实验名称:基本汇编语言程序设计实验1:两个32位无符号数乘法程序实验2:代码系统转换程序设计<1>十六进制到ascii<2>从二进制到ascii一、程序流程图1、两个32位无符号数乘法程序:2.十六进制到ASCII二、程序的实现:1、实验一程序:名称32位多数据段mulnumdw0000,0ffffh,0000,0ffffh,4dup(?)dataendsstack'stack'db100dup(?)斯塔克恩兹codesegment假设:代码,ds:data,ss:stack,es:datastartprocfarbegin:pushdsmovax,0pushaxmovax,datamovds,axmoves,axleabx,mulnummulu32:movax,[bx]movsi,[bx+4]movdi,[bx+6]乳化液mov[bx+8],axmov[bx+0ah],dxmovax,[bx+2]mulsiaddax,[bx+0ah]adcdx,0mov[bx+0ah],axmov[bx+0ch],dxmovax,[bx]muldiaddax、[bx+0ah]adcdx、[bx+0ch]mov[bx+0ah]、axmov[bx+0ch]、DXFmovax,[bx+2]muldipopfadcax,[bx+2]adcdx,0mov[bx+0ch],axmov[bx+0eh],dxretSTARTENDPCODENDSENDSTART2、实验二的程序:1)名称HEX_uu更改为uuidatasegmentl1dw2stringdb34h,98hl2dw?缓冲区db2*2dup(?)数据端stacksegmentparastack'stack'db100dup(?)stackends代码段assumecs:code,ds:data,es:data,ss:stackstartprocfarbegin:pushdsmovax,0pushaxmovax,datamovds,axmoves,axmovcx,l1leabx,stringleasi,buffermovl2,cxmovcx,ax再次:moval,[bx]movdl,alandal,0fhcallchangemoval,dlpushcxmovcl,4shral,clpopcxcallchangeincbxretstartendpchangeproccmpal,10jladd_0addal,'a'-'0'-10add_0:addal,'0'mov[si],alincsiretchangeendpcodeendsendstart2)namebinary_to_acsiidatasegmentnumdw4f78hstringdb16dup(?)dataendsstack'stack'db100dup(?)斯塔克恩兹codesegment假设:代码,ds:data,ss:stack,es:datastartprocfarbegin:pushdsmovax,0pushaxmovax、数据MOVDS、axmoves、axleadi、字符串movcx,lengthstringpushdipushcxmoval,30h;repstowpopcxpopdimoval,31hmovbx,numagain:rclbx,1jncnextmov[di],alnext:incdiloopagainretstartendpcodeendsendstart三、实验感想:在实验过程中,我根据书慢慢理解了这些代码的含义,并纠正了代码中的错误。

32位微机原理上机实验报告:8255流水灯显示实验

32位微机原理上机实验报告:8255流水灯显示实验

西北工业大学明德学院实验报告实验项目 微机原理及应用 班 级 121204 姓 名 田家豪 王辰硕 学 号 121566 121567 指导老师 伍明高时 间 2015-4-21实验题目8255并口控制器应用实验实验目的(1) 掌握8255的工作方式及应用编程。

(2) 掌握8255的典型应用电路接法。

实验内容(1) 基本输入输出实验。

编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就改变。

(2) 流水灯显示实验。

编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。

实验原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。

实验说明及步骤1.基本输入输出实验本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。

用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

实验步骤如下。

(1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2) 如图1所示连接实验线路。

(3) 首先运行CHECK程序,查看I/O空间始地址。

(4) 利用查出的地址编写程序,然后编译链接。

(5) 运行程序,拨动开关,看数据灯显示是否正确。

图12.流水灯显示实验首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。

实验步骤如下:(1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2) 首先运行CHECK程序,查看I/O空间始地址。

微机原理实验: 数据传送

微机原理实验:  数据传送

实验二数据传送一、实验目的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. 理解数据传送的基本原理和过程。

2. 掌握数据传送的方法和步骤。

3. 熟悉数据传送过程中的关键技术,如数据压缩、加密等。

4. 通过实验加深对数据传送原理的理解,提高实际操作能力。

二、实验环境1. 实验设备:PC一台、网络连接设备、数据传送软件(如FTP、TFTP等)。

2. 实验软件:Windows操作系统、网络连接工具、数据传送软件。

三、实验内容1. 数据传送实验概述数据传送实验主要分为两个部分:本地数据传送和远程数据传送。

(1)本地数据传送:将本地计算机上的数据传输到另一台本地计算机。

(2)远程数据传送:将本地计算机上的数据传输到远程服务器。

2. 实验步骤(1)本地数据传送1)准备实验数据:选择需要传送的文件,并确保目标计算机已连接到同一网络。

2)启动数据传送软件:打开FTP或TFTP等数据传送软件。

3)配置数据传送参数:设置源文件路径、目标文件路径、传输模式(上传或下载)等。

4)开始数据传送:点击“开始”按钮,软件开始进行数据传送。

5)检查传送结果:传送完成后,检查目标计算机上的文件是否已成功接收。

(2)远程数据传送1)准备实验数据:选择需要传送的文件,并确保远程服务器已连接到网络。

2)启动数据传送软件:打开FTP或TFTP等数据传送软件。

3)配置数据传送参数:设置源文件路径、目标服务器地址、目标文件路径、传输模式(上传或下载)等。

4)开始数据传送:点击“开始”按钮,软件开始进行数据传送。

5)检查传送结果:传送完成后,检查远程服务器上的文件是否已成功接收。

3. 实验关键技术(1)数据压缩:为了提高数据传送效率,通常需要对数据进行压缩。

常用的数据压缩算法有Huffman编码、LZ77、LZ78等。

(2)数据加密:为了确保数据传送的安全性,通常需要对数据进行加密。

常用的数据加密算法有DES、AES、RSA等。

四、实验结果与分析1. 本地数据传送实验结果:成功将源文件传输到目标计算机,文件大小、传输速度等符合预期。

32位微型计算机原理与接口技术实验指导

32位微型计算机原理与接口技术实验指导

32位微型计算机原理与接口技术实验指导下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, 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 and writing methods, please pay attention!32位微型计算机原理与接口技术实验指导引言在现代计算机科学领域中,微型计算机的原理和接口技术至关重要。

微机原理数据传送的实验

微机原理数据传送的实验

微机原理数据传送的实验数据传送是微机原理中非常重要的一部分,它是指在微机系统中将数据从一个地方传送到另一个地方的过程。

数据传送分为内部数据传送和外部数据传送两种。

内部数据传送主要是指在微机系统内部进行数据传送,常涉及到寄存器和存储器之间的数据传输。

寄存器是微机系统中用于暂时存放数据的地方,而存储器则是用于永久存储数据的地方。

在微机系统中,数据的传输主要是通过总线来实现的。

总线是连接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文件进行操作。

32位微机原理实验!

32位微机原理实验!

利用循环程序实现查找最大值,取出第一个数作为最大值初值,以次和后续数据进行比较比次数大则替换,否则保持不变.比较次数为个数减1.注意使用汇编、连接、调试的方法,尤其是DEBUG的使用。

在DEBUG状态下执行程序并设置断点,通过察看内存,看程序是否执行正确。

DATA SEGMENT ;数据段定义BUF DB 30,25,56,100,78,97,45,34,44COUNT EQU $-BUFMAX DB ?MIN DB ?DATA ENDSSTACK SEGMENT PARA STACK 'STA' ;堆栈段DB 100 DUP(?)STACK ENDSCODE SEGMENT ;代码段定义ASSUME CS:CODE,DS:DA TA,SS:STACKMAIN PROC FARSTART: PUSH DS ;前三句构造返回指针MOV AX,0PUSH AXMOV AX,DA TA ;对数据段赋值MOV DS,AXMOV CX,COUNT ;数据个数MOV SI,OFFSET BUFMOV AL,[SI]DEC CX ;循环次数为个数减1AGA: INC SICMP AL,[SI]JA NEXTMOV AL,[SI]NEXT: LOOP AGAMOV MAX,AL ;结果处理EXIT: RETMAIN ENDPCODE ENDSEND START实验3-1(1)利用汇编语言实现以下过程:首先在屏幕显示What is your name: 然后等待用户从键盘输入姓名存入内存指定区间,输出回车换行后,显示ok!。

DA TA SEGMENT ;数据段定义STR1 DB 'What is you name:$'STR2 DB 'OK!$'STR3 DB 20DB ?DB 20 DUP(?)DA TA ENDSSTACK SEGMENT PARA STACK 'STA' ;堆栈段DB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACKMAIN PROC FARSTART: PUSH DS ;前三句构造返回指针MOV AX,0PUSH AXMOV AX,DA TA ;对数据段赋值MOV DS,AXMOV DX,OFFSET STR1 ;显示MOV AH,9INT 21HMOV DX,OFFSET STR3 ;接受输入字符MOV AH,10INT 21HMOV DL,0DH ;输出回车换行MOV AH,2INT 21HMOV DL,0AHMOV AH,2INT 21HMOV DX,OFFSET STR2 ;显示ok!MOV AH,9INT 21HEXIT: RETMAIN ENDP CODE ENDS END START实验3-2(2)从键盘输入一串字符以空格为结束标记,并按逆序显示输出。

32位微机原理上机实验报告

32位微机原理上机实验报告

32位微机原理上机实验报告西北工业大学明德学院实验报告实验项目微机原理与接口应用实验班级 121204 姓名田家豪王辰硕学号 121566 121567 指导老师伍明高实验题目(1)显示班级符号输出;(2)显示学号符号输出;(3)显示姓名符号输出;(4)显示单个字符输出;实验目的1、掌握在PC机上以十六位进制形式显示数据的方法2、熟悉汇编的调试环境和使用实验内容STACK1 SEGMENT STACK DW 256 DUP(?) STACK2 ENDSDATA SEGMENT USE13 MES1 DB ‘121204’,0AH,0DH,‘$’ MES2 DB‘121566’,0AH,0DH,‘$’ MES3 DB ‘TIANJIAHAO’,0AH,0DH,‘$’ MES4 DB‘121204’,0AH,0DH,‘$’ MES5 DB ‘121567’,0AH,0DH,‘$’MES6 DB ‘WANGCHENSHUO’,0AH,0DH,‘$’SD DB ‘A’ DATA ENDS MOV AH,09H INT 21HMOV DX,OFFSET MES3 MOV AH,09H INT 21HMOV DX,OFFSET SD MOV AL,DS:[SI] AND AL,0F0H SHR AL,4 CMP AL,0AH JB C2 ADD AL,07HCODE SEGMENT USE13ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AXMOV DX,OFFSET MES1 MOV AH,09H INT 21HMOV DX,OFFSET MES2 C2: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,DS:[DI] AND AL,0FH CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AX,4C00H INT 21H CODE ENDS END START实验步骤(1)运行编译器,编译程序。

数据传输实验(Logisim平台)计算机组成原理

数据传输实验(Logisim平台)计算机组成原理

广州xx学院专业班级计算机实验日期2020.6.11姓名李学号实验名称数据传输实验指导老师张(报告内容包括:实验目的、实验设备及器材、实验步骤、实验数据、图表及曲线处理、实验小结等)。

实验名称:数据传输实验实验场地:计算机仿真实验设备:Logisim实验平台1实验目的1)熟悉和了解总线的数据通路互递原理及寻址方式。

2)掌握缓冲器、三态缓冲器、三态非门、奇偶校验、数据选择器、解复用器、解码器、位选择器及优先编码器等的基本工作原理与使用方法。

2 实验要求1)三态缓冲器及三态非门三态门也称为三态缓冲器,是指逻辑门的输出除有高、低电平两种状态外,还有第三种高阻状态的门电路,高阻态相当于隔断状态。

三态缓冲器都有一个EN控制使能端,来控制门电路的通断。

如图1和图2所示,三态缓冲器及三态非门可用以总线方向控制。

图1 三态缓冲器三种控制状态图图2 三态非门三种控制状态图图3 使能端为1的多路选择器2)多路选择器多路选择器是数据选择器的别称,是组成原理实验中经常使用的组件。

在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,也称多路选择器或多路开关。

图4 使能端为0的多路选择器图3和图4分别为使能端为1和为0的多路选择器。

选择端位宽为n,则可选择的输入源的数目为2n。

3)解复用器解复用器是一个组合逻辑电路,设计用于将一条公共输入线切换到多条单独输出线中的一条数据分配器,通常称为解复用器或多输出选择器,简称为“Demux”或“DMX”,与多路选择器刚好相反。

图5 使能端为1的解复用器图6 使能端为1的解复用器图5和图6分别为使能端为1和为0的解复用器。

选择端位宽为n,则可选择的输出通道数目为2n。

4)解码器解码器又称为译码器,是一类多输入多输出组合逻辑电路器件,可用于地址译码。

其能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。

如,74138是一种3线—8线译码器,三个输入端CBA共有8种状态组合(000—111),可译出8个输出信号Y0—Y7。

32位微机原理实验指导书(QTH2008)

32位微机原理实验指导书(QTH2008)

32位微机系统与应用实验指导书(樊克利)西安电子科技大学计算机学院专业实践中心2009年9月第一部分实验平台简介QTH-2008PCI-B实验仪以PC微机为主机,通过采用PCI9054为桥接主芯片的PCI-LOCAL_ISA BUS PCI插卡,将PC机的PCI总线转换为LOCAL及ISA总线。

将PCI-LOCAL_ISA BUS PCI插卡,安装在PC机的某一插槽内,并有34、40芯扁平电缆把LOCAL_ISA BUS总线信号连接到实验箱内,供作基本接口实验使用。

在接口实验单元中,系统提供了各种常用外围接口及其控制应用部件从而全面支持“微机接口技术”及“微机控制应用”的各项实验内容。

实验系统所具有的硬软件结构对用户的实验设计具有良好的开放特性,系统总线及各种外围接口器件都可由用户来操作连接,从而极大地提高了学生的实际和操作能力,避免了单纯验证式实验方式的弊病,从而增强学生的综合设计能力32位微机原理实验调试平台具有以下特点:●调试界面采用自行开发的VC++ 风格的QTH组合软件包。

●全新的WINDOWS界面版本,支持WIN98/ME/2000/XP/NT操作系统。

●符合编程语言语法的彩色文本显示,用户可根据个人爱好修改特定的着色功能。

●先进的错误定位,可直接进入错误位置,无需查找错误。

●完美的编辑编译集成环境,可在同一个编辑窗口中编译连接源程序,无需做其它任何设置。

●完美的集成调试环境,可在Windows 98/ME及Windows XP环境下,在QTH调试窗口中直接运行源程序和调试任意ASM汇编程序,无需任何其它烦琐的操作。

表1 QTH-2008PCI-B实验仪的标准配置及功能第二部分实验程序(汇编)开发集成环境2.1 QTHPCI开发环境QTHPCI开发环境是集编辑、编译/汇编、调试为一体,VC风格的用户界面,是理想的开发工具。

(快捷方式放置在桌面上:QTHPCI)开发环境操作说明如下:第一步:关闭当前项目菜单命令:[项目|关闭项目]当用户要调用新的文件时必须关闭已经打开的项目,此时QTH集成开发环境关闭界面上所有的窗口。

pd32微机原理与接口技术标准实验报告.

pd32微机原理与接口技术标准实验报告.

目录实验一数据传送 (2实验二算术运算 (8实验三代码转换 (14实验四程序的基本结构练习 (20实验五存储器(RAM 6264扩展 (25实验六可编程并行接口(8255扩展 (28实验七可编程计数/定时器(8253扩展 (34实验八A/D、D/A转换 (45实验九可编程串行通信接口(8251扩展 (53实验一:数据传送实验学时:2实验类型:验证实验要求:必修一.实验目的1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法;学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件;学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件;学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件;学习用调试软件TD.EXE调试可执行文件;2.掌握各种寻址方法以及简单指令的执行过程。

二.实验器材PC机三.实验组织运行要求1.利用堆栈实现AX的内容与BX的内容进行交换。

堆栈指针SP=2000H,AX=3000H,BX=5000H;2.汇编、调试、观察、记录结果;⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘;⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件,再用连接程序LINK产生可执行文件(.EXE文件;⑶用调试软件TD调试、运行程序,观察、记录结果。

四.实验步骤1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q送入以下汇编语言源程序,并以M1.ASM文件存盘⑴汇编语言程序的上机过程①进入\SY86子目录E:>CD\SY86E:\SY86>②进入QEDIT.EXE 编辑界面E:\SY86> Q③输入文件名*.ASM(如M1.ASM后,输入源程序源程序DATA SEGMENT PARA PUBLIC‟DATA‟ ;数据段定义DB 512 DUP(0DATA ENDSSTACK SEGMENT PARA STACK‟STACK‟ ;堆栈段定义DB 512 DUP( ?STACK E NDSCODE SEGMENT PARA PUBLIC‟CODE‟ ;代码段定义ASSUME CS :CODE,DS :DATA,ES:DATA,SS :STACK MAINPROC FAR ;定义过程程序PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV SP,2000hMOV AX,3000hMOV BX,5000hPUSH AXPUSH BXPOP AXPOP BXRETMAIN ENDP ;结束主要部分程序CODE ENDS ;结束代码段END MAIN ;结束汇编⑵用MASM程序产生.OBJ文件操作如下:E:\SY86> MASM M1.ASM M1.OBJMicrosoft(RMacro Assembler Version 5.00Copyright(CMicrosoft Corp 1981-1985,1987. All rights reserved. Object Filename [HEXASC.OBJ]:Source listing [NUL.LST]:Cross-reference [NUL.CRF]:51576+385928 Bytes symbol space free0 Warning Errors0 Severe Errors以上说明汇编过程已经完成。

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

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

实验一、认识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 SEGMENT ;定义源数据段MSR DB "HELLO,WORLD!$"LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段MSD D B LEN DUP(?)EXDA ENDSMYSTACK SEGMENT ;定义堆栈段STACK DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV ES,AX ;装载附加数据段寄存器MOV SI,OFFSET MSRMOV DI,OFFSET MSDMOV CX,LENMOV BX,0NEXT: MOV AL,MSR[BX] ;开始传输数据MOV ES:MSD[BX],ALINC BXLOOP NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9INT 21H ;显示字符串MOV AH,4CHINT 21H ;返回DOS状态CODE ENDSEND START四.实验结果并分析。

32位微机原理与接口技术综合设计实验报告

32位微机原理与接口技术综合设计实验报告

综合设计实验报告一需求分析使用汇编语言设计一个学生成绩管理系统,实现多门课程考核成绩录入,统计及查询操作,具体功能要求如下1 实现菜单功能,可根据菜单进行功能选择。

菜单项必须有“成绩录入”,“成绩查询”,“成绩统计”项目。

2 要求通过键盘或文件输入成绩。

3 成绩要求保存到文件中。

4 可统计各分数段的人数并显示。

5 可根据姓名查询个人成绩。

二设计方案1 采用主程序调用子程序结构,主程序完成菜单的实现与选择,子程序完成各项独立功能。

2 子程序包括成绩录入,成绩查询,统计子程序。

3 可以设置宏,以减少重复操作。

三详细设计1 程序流程图LIST子程序INSERT子程序QUERY子程序COUNT子程序主程序2 程序清单(1)INSERT子程序功能是录入学生的成绩信息。

3D号功能调用,打开文件,调用SET_P1宏,将光标置于记录的第一项处,调用GET_REC子程序获取内容。

用42号功能调用指针到文件尾。

然后调用40号功能,将用户的输入写入文件。

(2)GET_REC子程序功能是获取新的记录内容。

首先用宏GETIN获取学生的姓名,放入BUFFER2中,最多15个字符,如果遇到回车键则提前结束。

再用循环方式格将BUFFER2中的15个字符送到BUFFER1中。

然后用宏SET_PI将光标置于数字成绩输入项后,等待键盘输入。

输入的成绩,先放在BUFFER2中,然后加到BUFFER1中的姓名后面。

输入为2个字符或遇到回车键时提前结束。

接着用同样的方法输入英语成绩、计算机成绩和中文成绩。

完成后,这个子程序就得到了一个记录的所以信息。

(3)OPENF子程序功能是打开一个文件并把文件句柄保存在数据段的handle缓冲区中。

(4)QUERY子程序功能是查询一条记录。

首先保留现场,然后分别清除界面右上方和下边的区域。

打开FNAME指定的文件并保留文件句柄。

将光标置于界面的下半空白部分开始处,用宏GETIN获取最多15个字符的输入(姓名),放在BUFFER1中。

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

西北工业大学明德学院
实验报告
实验项目微机原理及应用
班级 121204
姓名田家豪王辰硕
学号 121566 121567
指导老师伍明高
时间 2015-4-7
数据传送实验
实验目的
(1) 熟悉Tdpit集成环境和调试器的使用。

(2) 掌握与数据有关的不同寻址方式。

实验内容
本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

实验程序如下:
DDATA SEGMENT ;定义源数据段
MSR DB "HELLO,WORLD!$"
LEN EQU $- MSR
DDATA ENDS
EXDA SEGMENT ;定义附加数据段
MSD DB LEN DUP(?)
EXDA ENDS
MYSTACK SEGMENT STACK ;定义堆栈段
DW 20 DUP(?)
MYSTACK ENDS
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:DDATA,ES:EXDA
START: MOV AX,DDATA
MOV DS,AX ;装载数据段寄存器
MOV AX,EXDA
MOV ES,AX ;装载附加数据段寄存器
MOV SI,OFFSET MSR ;设置SI
MOV DI,OFFSET MSD ;设置DI
MOV CX,LEN
NEXT:MOV AL,[SI] ;开始传输数据
MOV ES:[DI],AL
INC SI
INC DI
DEC CX
JNZ NEXT
PUSH ES
POP DS ;将附加段寄存器指向的段值赋给数据段寄存器
MOV DX,OFFSET MSD
INT 21H
MOV AX,4C00H ;利用DOS功能调用返回DOS状态
INT 21H
CODE ENDS
END START
将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:
MOV BX,0
MOV CX,LEN
NEXT: MOV AL,MSR[BX]
MOV ES:MSD[BX],AL
INC BX
LOOP NEXT
实验步骤
(1) 运行Tdpit软件,选择文件菜单,点击新建进行实验程序的编写。

(2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。

(3) 使用编译菜单中的运行,运行程序,观察运行结果。

(4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。

(5) 更改数据区中的数据,考察程序的正确性。

相关文档
最新文档