微机原理及应用实验报告

合集下载

微机原理实验报告册(3篇)

微机原理实验报告册(3篇)

第1篇一、实验目的1. 理解和掌握微机的基本组成和工作原理;2. 熟悉微机硬件设备和实验仪器的使用方法;3. 提高动手实践能力,培养解决实际问题的能力;4. 深入理解微机原理课程内容,为后续课程学习奠定基础。

二、实验内容1. 微机系统认识实验2. 微机硬件组成实验3. 微机指令系统实验4. 微机寻址方式实验5. 微机程序设计实验6. 微机接口技术实验三、实验仪器与设备1. 微机原理实验箱2. 示波器3. 数字万用表4. 计算机一台5. 实验指导书四、实验步骤与内容1. 微机系统认识实验(1)观察实验箱的结构,了解各个模块的功能;(2)熟悉实验箱的电源、复位、运行等按钮的使用方法;(3)学习微机系统的工作流程,包括加电、复位、启动等过程;(4)观察微机系统启动后的运行状态,了解各个模块的协同工作。

2. 微机硬件组成实验(1)观察实验箱的CPU、内存、I/O接口等硬件模块;(2)学习CPU的内部结构,包括寄存器、控制单元、运算单元等;(3)学习内存的存储原理,了解ROM、RAM等存储器的特点;(4)学习I/O接口的工作原理,了解中断、DMA等传输方式。

3. 微机指令系统实验(1)学习微机指令系统的基本格式,包括操作码、地址码等;(2)掌握微机指令系统的寻址方式,包括立即寻址、直接寻址、间接寻址等;(3)编写简单的汇编语言程序,实现加、减、乘、除等运算;(4)学习微机中断处理过程,了解中断向量表、中断服务程序等概念。

4. 微机寻址方式实验(1)学习微机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等;(2)编写程序,实现不同寻址方式下的数据访问;(3)观察不同寻址方式对程序执行速度的影响。

5. 微机程序设计实验(1)学习汇编语言程序设计的基本方法,包括数据定义、指令编写、程序结构等;(2)编写简单的程序,实现数据交换、排序等操作;(3)学习微机程序的调试方法,包括单步执行、断点设置等。

6. 微机接口技术实验(1)学习微机接口技术的基本概念,包括并行接口、串行接口等;(2)观察实验箱中的并行接口、串行接口等模块,了解其工作原理;(3)编写程序,实现数据在并行接口、串行接口之间的传输;(4)学习微机中断处理在接口技术中的应用。

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

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

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闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

微机原理及应用中南大学实验报告

微机原理及应用中南大学实验报告

微机原理及应用实验报告实验一单片机仿真开发机操作和MCS-51指令系统应用一、实验目的1、熟悉MCS-51单片机仿真开发机和开发调试软件的操作使用和调整;2、学会编写和输入汇编语言源程序、对输入的源程序进行汇编;3、掌握程序的调试和运行的各种方法。

二、实验说明1.输入给定程序,配置选项,调试并运行程序,观察程序控制下寄存器的变化。

2.选中此项keil为纯软件仿真。

3.编写程序上机调试通过,实验报告要求提交程序流程图及源程序。

三、实验内容及步骤(完成分值:60分)本实验秩序运行Keil uVersion2程序,设置为keil为纯软件仿真(不需要连接仿真器就可以仿真)。

1.新建工程项目2.设置工程文件参数3.编写新程序事例4.调试程序直至能够运行出结果。

四、参考实验程序AJMP MAINORG 0030HMAIN: MOV R0,#20HMOV R2,#0FHMOV A,#00HA1: MOV @R0,AINC R0INC ADJNZ R2,A1MOV R0,#20H ;暂停,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA2: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,A2MOV R0,#030H ;断点,观察并记录!MOV DPTR,#7000HMOV R2,#0FHA3: MOVX A,@DPTRMOVX @R0,AINC R0INC DPTRDJNZ R2,A3DO: LJMP DOEND ;内部存储器数据块赋值,搬运数据块到外部存储器,再搬运回内部数据存储器。

五、附加题(完成分值:10分/单个附加题,附加题要求当场给指导老师检查结果,否则无效。

其中1、2、3附加题要求写在实验报告上)1.将光标移到想要暂停的地方,MOV R0,#20H所在行,选择“执行到光标处”功能,程序快速执行到光标所在行。

观察运行情况,并记录下表。

R0 R2 A 20H 21H 22H 23H 24H 25H2FH 00H 0FH 00H 01H 02H 03H 04H 05H26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH06H 07H 08H 09H0AH 0BH 0CH 0DH 0EH2.在MOV R0,#0A0H行设置断点,全速执行,暂停后观察并记录以下单元内容R0 DPL 7000H 7001H 7002H 7003H 7004H 7005H 7006H2FH 01H 0FH 01H 02H 03H 04H 05H 06H7007H 7008H 7009H 700AH 700BH 700CH 700DH 700EH07H 08H 09H 0AH 0BH 0CH 0DH 0EH3.画出程序流程图4.修改程序,实现新功能(例如搬运数据时实现倒序,变成对应的BCD码,请自行考虑与别人不同的功能,同组同学已经实现过的功能不算新功能)答:由程序可知,子程序Al产生数据,子程序A2将产生的数据搬运至7000H开头的地址,子程序A3将7000H开头的地址搬运至30H开头的地址。

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

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

微机原理与应用实验报告范文姓名:专业:学院:学号:指导老师:微机原理实验一一、实验目的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. 实验步骤1.首先,我们需要了解微机系统的基本组成部分。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

微机原理与应⽤实验报告6实验10 串⾏通信技术⼀、实验⽬的1. 了解异步串⾏通信原理2. 掌握MSP430异步串⾏通信模块及其编程⽅法⼆、实验任务1. PC机上的串⾏通信接⼝及其控制程序的使⽤1.1 任务要求参看讲义,了解PC机的标准异步串⾏接⼝协议,从⽹络学堂下载“串⼝调试助⼿程序”,⽤D型9针孔-孔交叉线连接两台PC机的串⼝,利⽤“串⼝调试助⼿程序”控制PC机串⼝,实现两台PC机之间字符串的传送。

1.2 任务实现已完成。

2. 掌握单⽚机与PC机串⾏通信的硬件连接2.1 任务要求参看附录D实验板原理图,了解MSP430F1xx串⼝模块相关引脚和实验板串⼝接线(插座S3: P3.4-UTXD0,P3.5-URXD0,P3.6-UTXD1,P3.7-URXD1),及其经RS-232电平转换后的信号(插针P7: TXD0,RXD0)。

思考:设计单⽚机与PC机进⾏串⾏通信时,硬件设计有哪些需要注意的事项?2.2 任务实现已完成。

设计需注意硬件相容与软件相容必须⼀致,即硬件相容的地⽅,必须也是软件相容的,⽐如UART0和UART1两个端⼝是针型还是孔型要符合它们的接线⽅式是male还是female (即TxD和RxD已交叉还是未交叉)。

3. 查询⽅式控制串⾏通信的收发3.1 任务要求采⽤查询⽅式控制单⽚机串⼝的接收和发送,在实验板上设计连线,编程实现接收PC 机的串⼝发送来的字符串,字符串以字符@结尾,MCU将接收到的字符串保存在RAM中,收到字符@后,MCU开始将收到的字符串发给PC机,PC机侧⽤串⼝助⼿程序接收并显⽰收到的字符串。

思考:1)如果采⽤单⽚机的串⼝1完成,如何设计实验连线,程序该如何修改?2)如果两个单⽚机进⾏串⾏通信,如何设计连线和编程?3)如果波特率改为2400bps,如何编程完成?波特率改为38400bps呢?3.2 任务实现程序如下所⽰:#include "msp430.h" ; #define controlled include file NAME main ; module namePUBLIC main ; make the main label vissible; outside this moduleORG 0FFFEhDC16 init ; set reset vector to 'init' labelRSEG DATA16_NBUFFER DS8 100RSEG DATA16_Cstringend: DB '@'RSEG CSTACK ; pre-declaration of segmentRSEG CODE ; place program in 'CODE' segment init: MOV #SFE(CSTACK), SP ; set up stack main: NOP ; main programMOV.W #WDTPW+WDTHOLD,&WDTCTL ; Stop watchdog timerCALL #UART0_INITAA: MOV #0,R13MOV #0,R14MOV #BUFFER,R5Rchk: BIT.B #URXIFG0,&IFG1JZ RchkMOV.B &U0RXBUF,BUFFER(R13)CMP.B BUFFER(R13),stringend(R14)JZ TchkINC R13JMP RchkTchk: BIT.B #UTXIFG0,&IFG1JZ TchkMOV.B @R5+,&U0TXBUFDEC R13JNZ TchkJMP AAUART0_INIT:BIS.B #SWRST, &U0CTLBIS.B #BIT4+BIT5, &P3SELBIS.B #PENA+PEV+SPB+CHAR,&U0CTLMOV.B #SSEL0,&U0TCTLBIS.B #URXEIE,&U0RCTLMOV.B #03h,&U0BR0MOV.B #0h,&U0BR1MOV.B #55h,&U0MCTLBIS.B #UTXE0+URXE0, &ME1BIC.B #SWRST,&U0CTLRETEND波特率寄存器值计算如下:N=ACLKbaud rate=327689600=3.41≈03h故U0BR0=03h,U0BR1=0h0.41 ×101起始位+8数据位+1偶校验≈4故U0MCTL=1010101b=55h如果采⽤单⽚机的串⼝1完成,需⽤孔-孔交叉线连接实验板的串⼝1和PC机的串⼝。

步进电机微机实验报告

步进电机微机实验报告

一、实验目的1. 熟悉步进电机的工作原理和特性。

2. 掌握通过微机控制步进电机的基本方法。

3. 了解步进电机在微机控制下的应用。

二、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,其特点是步进角固定,控制精度高,响应速度快。

步进电机的工作原理是:当给步进电机输入一定频率的脉冲信号时,电机就会以一定的步进角进行旋转。

步进电机的控制方式主要有以下几种:1. 单相控制:将步进电机绕组分为A、B、C、D四相,每相依次通电,实现电机的旋转。

2. 双相控制:将步进电机绕组分为A、B两相,通过改变A、B两相的通电顺序,实现电机的旋转。

3. 四相控制:将步进电机绕组分为A、B、C、D四相,通过改变A、B、C、D四相的通电顺序,实现电机的旋转。

三、实验设备1. 微机:一台2. 步进电机驱动器:一台3. 步进电机:一台4. 编程软件:例如Keil、IAR等5. 连接线:若干四、实验内容1. 步进电机基本特性测试(1)观察步进电机在不同脉冲频率下的转动情况。

(2)观察步进电机在不同脉冲数下的转动角度。

2. 步进电机单相控制(1)编写程序,实现步进电机单相控制。

(2)测试步进电机单相控制下的转动情况。

3. 步进电机双相控制(1)编写程序,实现步进电机双相控制。

(2)测试步进电机双相控制下的转动情况。

4. 步进电机四相控制(1)编写程序,实现步进电机四相控制。

(2)测试步进电机四相控制下的转动情况。

5. 步进电机转速控制(1)编写程序,实现步进电机转速控制。

(2)测试步进电机在不同转速下的转动情况。

6. 步进电机转向控制(1)编写程序,实现步进电机转向控制。

(2)测试步进电机正转和反转的情况。

五、实验步骤1. 连接步进电机驱动器和步进电机。

2. 在微机上编写程序,实现步进电机的基本控制。

3. 编写程序,实现步进电机单相、双相、四相控制。

4. 编写程序,实现步进电机转速和转向控制。

5. 运行程序,观察步进电机的转动情况。

微机原理及应用实验报告(中南大学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:编写多字节加法程序并上机调试通过。

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

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

西南石油大学实验报告实验一一、实验目的熟悉汇编语言的上机过程,掌握各项工具软件的使用方法二、实验内容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.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。

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。

微机原理及应用实验报告

微机原理及应用实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

北京科技大学微机原理及应用实验报告

北京科技大学微机原理及应用实验报告

微机原理及应用实验报告学院:机械工程学院班级:机自1104学号:41140194姓名:李文虎组员:王靖宇实验一:8253定时器\计数器(2013年12月19日机电楼305)1.实验目的:掌握8253方式0的工作原理及编程方法。

2.实验内容:按图7虚线连接电路,将计数器0设置为方式0,计数器初值为N(N=0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

3.参考流程图4.程序编码:ioport equ 0c800h-0280hIo8253a equ ioport+283hio8253b equ ioport+280hcode segmentassume cs:codestart: mov al,14h ; 通道0为工作方式2mov dx,io8253aoutdx,almov dx,io8253b ;送计数初值为0FHmov al,0fhoutdx,allll: in al,dx ;读计数值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjzlllmov ah,4ch ;退出int 21hdispproc near ;显示子程序push dxand al,0fh ;首先取低四位movdl,alcmp dl,9 ;判断是否<=9jlenum ;若是则为'0'-'9',ASCII码加30Hadd dl,7 ;否则为'A'-'F',ASCII码加37Hnum: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret ;子程序返回dispendpcode endsend start5.实验现象:拨动触发器开关一次产生一个脉冲,拨动14次后绿灯亮,再拨一次红灯又亮。

微机原理实验总结(共5篇)

微机原理实验总结(共5篇)

微机原理实验总结(共5篇)第一篇:微机原理实验总结微机原理实验总结不知不觉,微机原理与接口技术实验课程已经结束了。

回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机器语言最接近的了,如果用它来编程序的话,会比用其它高级语言要快得多。

本学期我们在老师的带领下,进行了微机原理实验六到十这五组实验。

它们分别是:实验六8255 PA口控制PB口实验目的掌握单片机系统中扩展外围芯片的方法,了解8255 芯片的结构及编程方法。

实验内容用 8255 PA 口作开关量输入口,PB 口作输出口。

实验步骤1、用8 芯线将8 255 PA口接至开关Kl~K8,PB口接至发光二极管L1~L8;2、运行程序 HW06.ASM,拨动开关K1~K8,观察L1~L8发光二极管是否对应点亮。

实验七8255控制交通灯实验目的进一步了解8 255 芯片的结构及编程方法,学习模拟交通控制的实现方法。

实验内容用8255 做输出口,控制六个发光二极管燃灭,模拟交通灯管理。

实验步骤1、用双头线将8 255 PA0~PA2 口接至发光二极管L3~L1,PA3~PA5口接至发光二极管L7~L5;2、执行程序HW07.ASM,初始态为四个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。

实验八简单I /O口扩展实验目的学习单片机系统中扩展简单I/O 口的方法;学习数据输入输出程序的编制方法。

实验内容利用74LS244 作为输入口,读取开关状态,并将此状态,通过74LS273再驱动发光二极管显示出来。

微机原理及应用实验报告

微机原理及应用实验报告

实验报告课程名称实验日期学生专业学生学号学生姓名教师姓名成绩南京理工大学机械工程学院实验一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.探究微型计算机在实际应用中的作用。

二、实验器材和仪器1.微型计算机实验箱;2.微型计算机主机;3.显示器;4.键盘。

三、实验内容1.将微型计算机主机与显示器、键盘连接;2.打开微型计算机并进行基本操作;3.使用微型计算机进行基本应用。

四、实验步骤1.将微型计算机主机与显示器、键盘连接,确保连接稳固;2.打开微型计算机主机,等待系统启动完毕;3.使用键盘进行基本操作,包括输入字符、回车等;4.运行预装的基本应用软件,并进行相应操作。

五、实验结果和分析在本次实验中,通过连接主机与显示器、键盘,我们成功打开了微型计算机并进行了基本操作。

使用键盘输入字符并通过回车键确认后,我们可以在显示器上看到相应的结果。

这表明微型计算机能够正确地接收和处理我们输入的指令,并将结果显示出来。

通过运行预装的基本应用软件,我们还可以进行更加复杂的操作,如文字处理、图形绘制等。

本次实验中,我们还了解到微型计算机的基本组成和工作原理。

微型计算机由主机、显示器、键盘组成。

在主机中,CPU是主要的控制中心,负责接收和处理指令;内存存储了计算机运行时所需的数据和程序;硬盘则保存了大容量的数据。

显示器负责将计算机处理的结果显示出来,键盘则用于输入指令和数据。

微型计算机的应用领域十分广泛。

它可以用于文字处理、数据处理、图形绘制等多个方面。

在今天的社会中,无论是企事业单位还是个人用户,几乎都需要使用微型计算机进行日常工作和生活。

微型计算机的快速计算和大容量存储能力,使得数据处理和信息管理变得更加便捷和高效。

六、实验总结通过本次实验,我们学习了微型计算机的基本操作和应用,并了解了微型计算机的基本组成和工作原理。

微型计算机在今天的社会中扮演着重要的角色,其广泛的应用范围使得人们的工作和生活更加便捷和高效。

微机原理及应用实验报告

微机原理及应用实验报告

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

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

实验内容: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加强了对单片机的了解,学会中断程序的书写方法,学会搭线的各种技巧,并且掌握了跑马灯工作的原理。

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

微机原理及其应用上机实验报告实验一 程序调试实验(顺序结构程序设计) 一、实验目的: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,axmov al,xlea si,tabadd si,axmov al,[si]mov y,almov ah,4chint 21hcode endsend start(3).程序调试:4.心得体会了解了顺序结构,掌握了程序的运行,调试。

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

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

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

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

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

(2).分析将x值给寄存器al,al和1数。

data segmentx dw 69hy dbdata endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov ax,xand ax,01hjz next1mov y,0ffhjmp nextnext1:mov y,0next:mov ah,4chint 21hcode endsend start(3).程序调试(4).心得体会掌握了add指令的用法,熟悉了分支结构。

2. 设计—个比较两个8位无符号数的大小、并把较小的数存人MIN单元的程序。

假设这两个数分别存放在FIRST和SECOND单元中。

(2).分析将first值赋给al,判断al与second的大小,将小的值给min。

data segmentfirst db 32hsecond db 56hmin dbdata endscode segmentassume cs:code,ds:data start:mov ax,datamov ds,axmov al,firstcmp al,secondjc nextmov bl,secondmov min,bljmp next1next:mov min,alnext1:mov ah,4ch开始取first值给al判断al是否大将al值给min将second值给min 结束是否int 21hcode endsend start(3).程序调试(4).心得体会掌握了cmp指令的用法,加深了对分支结构的了解。

实验三循环程序设计一、实验目的掌握循环指令的使用方法;掌握实现单重、多重循环程序设计、编写、调试和运行的方法。

二、实验要求:1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序2、在调试程序的过程中,对出现的错误应记录它的英文提示,进行翻译,把更正的指令用其它颜色的笔记录的原程序清单的右边,便于比较。

三、实验内容:1、从自然数1并把统计的个数送入n单元,将累加和送入data segmentn dwsum dwdata endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov ax,0mov bx,0next: inc bxadd ax,bxcmp ax,1000jb nextmov n,bxmov ax,summov ah,4chint 21hcode endsend start2.内存地址BUFFER开始存放着10个带符号字节数组,编写程序求数组中正数、零和负数的个数,并分别将它们存于PLUS开始的单元。

(2).分析将寄存器al,bx初始化,取buffer首地址给si,设置循环次数给cx,判断[si]的值正负还是零,将正数个数值送给al,负数个数值送给bh,零的个数给bl,再将三个值存放在以plus 为首地址的地址中。

data segmentcnt equ $-buffer Arrayplus db 3data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov bx,0mov al,0lea si,buffermov cx,cntlop1:test [si],80hjz zeroinc bhjmp nextzero:cmp byte ptr[si],0 jz next2inc aljmp nextnext2:inc blnext:inc siloop lop1lea di,plusmov [di],alinc dimov [di],blinc dimov [di],bhmov ah,4chint 21hcode endsend start(3).程序调试(4).心得体会学习了循环结构,了解了循环指令的用法。

3、内存中有一串以“$”结尾的字符串,统计其中“A”出现的次数。

2).分析初始化寄存器,取字符串首地址,首先判断[si]内容是否为‘$‘,若是则结束程序,否则再判断[si]是否为’A‘,若是则bl加1记录’Adata segmentstring db 'jAnsAhAenA$' cnt equ $-stringjin dbdata endscode segmentassume cs:code,ds:data start:mov ax,datamov ds,axmov bl,0lea si,stringmov cx,cntnext2:mov al,[si]cmp al,'$'jz next3cmp al,'A'JZ next开始初始化bl,取string首地[si]值给al,判断是否判断[si]是bl加1,将bl值给jin结束判断cx是是是否否是否Si+1 cx-1cx-1jmp next1next:inc blnext1:inc siloop next2next3:mov jin,blmov ah,4chint 21hcode endsend start3).程序调试4).心得体会加深了对循环结构的了解,强化了对循环指令的运用。

实验四字符串的输入和输出一、实验目的:掌握字符串输入和输出的方法,掌握基本的I/O功能调用,学习对内存变量进行处理的方法。

二、实验要求:1、分析题意,写出算法,画出流程图,再编程2、认真调试程序,对程序可能存在的所有情况都要进行运行,只有这样才能证明程序的正确性。

三、实验内容:1、在内存单元中存放了两个字符串STRINGl和STRING2(设其长度相同),试编写—程序,比较它们所含的字符是否相同。

若相同,则显示'Match';否则,显示'No match'。

2).分析取string1和string2的首地址给si和di,设置循环次数给cx,比较[si]和[di]内容是否相同,若全部相同则显示器输出mantch,若不相同,则输出no mantch.data segmentstring1 db 'jinsheng'cnt equ $-string1string2 db 'jinshenr'buff1 db 'match$'buff2 db 'no match$'data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea si,string1 lea di,string2 mov cx,cntnext: mov al,[si] mov bl,[di]cmp al,bljz next1lea dx,buff2 mov ah,9int 21hjmp next2next1:inc si inc diloop nextlea dx,buff1mov ah,9int 21hnext2:mov ah,4chint 21hcode endsend start3).程序调试4).心得体会了解了字符串比较的指令和字符串输出的指令。

实验五程序设计综合应用一、实验目的:通过本实验,深入掌握汇编语言程序设计的方法与技巧。

二.实验内容:2、内存单元MEM开始存放了一个长度为10的无符号字节数组,编写程序找出其中的最大值和最小值并存于MAX和MIN单元。

2).分析取men的手首址给si,将首址中的数值给al、bl,再将其他数值逐个与al、bl比较,最小值给bl,最大值给al。

data segmentmin dbmax dbdata endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axSI+1 lea si,memmov al,[si]mov bl,almov cx,9next:inc sicmp [si],aljnc dacmp [si],bljc xiaojmp againda:mov al,[si]jmp againxiao:mov bl,[si]again:dec cxjnz nextmov max,almov min,blmov ah,4chint 21hcode endsend start3).程序调试4).心得体会深入掌握汇编语言程序设计的方法与技巧,加深了对循环指令的用法。

3. 将字符串转换成大写字母字符串。

设字符串的首地址为STRING,字符串的长度在LENGTH单元内。

数据段可定义如下:DATA SEGMENTSTRING DB ‘I am a student!’LENGTH DB 15DATA ENDS程序在循环体内逐个取出字符,判断是否在小写字母‘a’和‘z’之间,若在就将其转换成大写字母并放回原处,若不在则保持原字符不变。

相关文档
最新文档