实验二_指令系统相关程序的编写与调试实验

合集下载

PLC实验报告 基础指令实验

PLC实验报告 基础指令实验

PLC实验报告基础指令实验一、实验目的本次 PLC 基础指令实验的主要目的是熟悉 PLC 的基本指令,掌握其编程方法和应用技巧,通过实际操作加深对 PLC 控制系统的理解,并提高解决实际问题的能力。

二、实验设备1、 PLC 实验台,型号为_____。

2、编程软件,版本为_____。

3、连接导线若干。

4、实验指导书。

三、实验内容(一)位逻辑指令实验1、常开触点和常闭触点指令编写一个简单的程序,实现当输入信号 I00 为 ON 时,输出信号Q00 为 ON。

当输入信号 I01 为 OFF 时,输出信号 Q01 为 ON。

2、取反指令设计一个程序,使得输入信号 I02 为 ON 时,经过取反指令,输出信号 Q02 为 OFF;输入信号 I02 为 OFF 时,输出信号 Q02 为 ON。

3、置位和复位指令编写程序,当输入信号 I03 产生一个上升沿时,使用置位指令将输出信号 Q03 置位为 ON,并保持。

当输入信号 I04 产生一个上升沿时,使用复位指令将输出信号 Q03 复位为 OFF。

(二)定时器指令实验1、接通延时定时器构建一个程序,当输入信号 I05 为 ON 时,接通延时定时器 TON 开始计时,设定时间为 5 秒。

5 秒后,输出信号 Q04 为 ON。

2、断开延时定时器设计程序,当输入信号 I06 由 ON 变为 OFF 时,断开延时定时器TOF 开始计时,设定时间为 3 秒。

3 秒内,如果输入信号 I06 重新变为ON,则定时器复位。

3 秒后,输出信号 Q05 为 OFF。

(三)计数器指令实验1、增计数器编写程序,当输入信号 I07 产生一个上升沿时,增计数器 CTU 的计数值加 1。

当计数值达到预设值 10 时,输出信号 Q06 为 ON。

2、减计数器构建一个程序,当输入信号 I10 产生一个上升沿时,减计数器 CTD 的计数值减 1。

当计数值减为 0 时,输出信号 Q07 为 ON。

实验二 汇编语言程序调试

实验二  汇编语言程序调试

实验二汇编语言程序设计与调试一、实验目的及要求本次实验的目的是通过阅读三段存在有不同错误的程序后,进行修改、调试、执行。

以达到提高阅读理解汇编语言程序和调试程序的目的,以便为设计程序打下基础。

要求独立完成。

二、实验设备Dais单片机仿真实验仪一台,计算机一台,导线若干条。

三、实验内容1、外部数据区数据传送程序:把R2、R3源RAM区首址内R6、R7字节数据传送到R4、R5目的RAM区。

先在R2、R3中输入源首址(例如0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如FFH)。

执行程序后检查0000H~00FFH中的内容是否和2000H~20FFH内容完全一致。

本段程序中有几处错误,先查出修正之后再编译、执行。

源程序清单如下:== 外部数据区数据传送子程序==ORG 07B0HMOV R2,00HMOV R3,#00HMOV R4,#10HMOV R5,#00HMOV R6,#00HMOV R7,#08HSE22: MOV DPL,R3MOV DPH,R2 ;建立源程序首址MOVX A,@DPTR ;取数MOV DPL,R5MOV DPH,R4 ;目的地首址MOVX @DPTR,A ;传送CJNE R3,#0F0H,LO42INC R2LO42: INC R3 ;源地址加1CJNE R5,#0FFH,LO43INC R4LO43: INC R5 ;目地址加1CJNE R7,#00H,LO44CJNE R6,#00H,LO45 ;字节数减1SJMP $NOPLO44: DEC R7SJMP SE22LO45: DEC R7DEC R6SJMP SE22 ;未完继续END2、片内(CPU内部存储器)、外数据区传送程序将片内RAM 40H~4AH单元分别置数为A0~AA(由程序自动置数),然后将40H~4AH单元的内容分别传送到外部RAM3000H~300AH;再将外部RAM3000H~300AH单元内的数分别送到片内RAM50H~5AH 单元。

实验二用机器指令和汇编指令编程实验总结

实验二用机器指令和汇编指令编程实验总结

实验二用机器指令和汇编指令编程实验总结下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!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!实验二用机器指令和汇编指令编程实验总结1. 引言在本实验中,我们学习了使用机器指令和汇编指令编程的基本概念和技能。

可编程控制器的基本指令编程实验报告

可编程控制器的基本指令编程实验报告

可编程控制器的基本指令编程实验报告1. 引言本实验旨在研究可编程控制器的基本指令编程。

可编程控制器(Programmable Logic Controller,简称PLC)是一种专用计算机,常用于工业自动化领域。

通过编程,PLC可以根据输入信号的状态来判断并控制输出信号的状态,实现自动化控制。

2. 可编程控制器的基本指令可编程控制器的基本指令可以分为输入输出指令、变量指令和逻辑指令三大类。

2.1 输入输出指令输入输出指令用于读取输入信号和控制输出信号。

常见的输入输出指令包括:•XIC(eXamine If Closed)指令:用于检测输入信号是否为闭合状态,如果闭合则执行后续程序。

•XIO(eXamine If Open)指令:用于检测输入信号是否为开启状态,如果开启则执行后续程序。

•OTE(Output To External)指令:用于将输出信号设置为高电平或低电平状态,控制外部设备的运行。

2.2 变量指令变量指令用于对变量进行操作,包括赋值、比较、运算等。

常见的变量指令包括:•MOV(Move)指令:用于将一个值赋给一个变量。

•ADD(Addition)指令:用于对两个变量进行加法运算,并将结果保存到一个变量中。

•CMP(Compare)指令:用于对两个变量进行比较,判断它们的大小关系。

•INC(Increment)指令:用于对一个变量进行加1操作。

2.3 逻辑指令逻辑指令用于进行逻辑判断和控制流程。

常见的逻辑指令包括:•LIM(Less Than Immediate)指令:判断一个变量是否小于一个立即数,如果是则执行后续程序。

•JZ(Jump if Zero)指令:如果指定的变量为0,则跳转到指定的标签处继续执行程序。

•CTU(Counter Up)指令:用于实现计数功能,当一个变量达到设定值时,产生一个输出脉冲。

3. 实验过程本实验通过编程软件对一个简单的控制任务进行了模拟。

实验包括以下步骤:3.1 硬件准备搭建实验所需的硬件系统,包括输入设备、输出设备以及可编程控制器。

计算机组成原理实验报告

计算机组成原理实验报告

计算机组成原理实验报告实验目的,通过本次实验,深入了解计算机组成原理的相关知识,掌握计算机硬件的基本组成和工作原理。

实验一,逻辑门电路实验。

在本次实验中,我们学习了逻辑门电路的基本原理和实现方法。

逻辑门电路是计算机中最基本的组成部分,通过逻辑门电路可以实现各种逻辑运算,如与门、或门、非门等。

在实验中,我们通过搭建逻辑门电路并进行实际操作,深入理解了逻辑门的工作原理和逻辑运算的实现过程。

实验二,寄存器和计数器实验。

在本次实验中,我们学习了寄存器和计数器的原理和应用。

寄存器是计算机中用于存储数据的重要部件,而计数器则用于实现计数功能。

通过实验操作,我们深入了解了寄存器和计数器的内部结构和工作原理,掌握了它们在计算机中的应用方法。

实验三,存储器实验。

在实验三中,我们学习了存储器的原理和分类,了解了不同类型的存储器在计算机中的作用和应用。

通过实验操作,我们进一步加深了对存储器的认识,掌握了存储器的读写操作和数据传输原理。

实验四,指令系统实验。

在本次实验中,我们学习了计算机的指令系统,了解了指令的格式和执行过程。

通过实验操作,我们掌握了指令的编写和执行方法,加深了对指令系统的理解和应用。

实验五,CPU实验。

在实验五中,我们深入了解了计算机的中央处理器(CPU)的工作原理和结构。

通过实验操作,我们学习了CPU的各个部件的功能和相互之间的协作关系,掌握了CPU的工作过程和运行原理。

实验六,总线实验。

在本次实验中,我们学习了计算机的总线结构和工作原理。

通过实验操作,我们了解了总线的分类和各种总线的功能,掌握了总线的数据传输方式和时序控制方法。

结论:通过本次实验,我们深入了解了计算机组成原理的相关知识,掌握了计算机硬件的基本组成和工作原理。

通过实验操作,我们加深了对逻辑门电路、寄存器、计数器、存储器、指令系统、CPU和总线的理解,为进一步学习和研究计算机组成原理奠定了坚实的基础。

希望通过不断的实践和学习,能够更深入地理解和应用计算机组成原理的知识。

可编程控制器的基本指令编程实验报告

可编程控制器的基本指令编程实验报告

可编程控制器的基本指令编程实验报告一、实验目的本实验旨在让学生掌握可编程控制器(PLC)的基本指令编程方法,了解PLC的工作原理和应用场景。

二、实验设备1. 可编程控制器(PLC)2. 电源模块3. 输入模块4. 输出模块5. 交流电机6. 传感器等相关设备三、实验内容1. PLC的基本指令介绍可编程控制器是一种数字计算机,它能够根据预设程序对输入信号进行处理,并通过输出信号来控制执行器。

PLC的指令集包括逻辑指令、定时器指令、计数器指令等。

其中,逻辑指令主要用于对输入信号进行逻辑运算,如与门、或门、非门等;定时器指令用于时间延迟操作;计数器指令用于对输入信号进行计数操作。

2. PLC的基本编程方法介绍PLC的基本编程方法包括Ladder图和SFC图两种。

Ladder图是一种类似于电路图的形式,可以直观地表示程序执行过程;SFC图则是一种状态转移图,它能够更好地表示程序执行顺序和流程。

3. 实验步骤及结果分析(1)利用Ladder图编写一个简单的PLC程序,实现交流电机的正反转控制。

首先,将电源模块和输入模块连接到PLC上,然后将输出模块和交流电机连接。

接下来,在Ladder图中添加逻辑指令和输出指令,实现对交流电机的正反转控制。

最后,通过输入模块来控制程序执行。

实验结果:成功实现了交流电机的正反转控制。

(2)利用SFC图编写一个简单的PLC程序,实现传感器检测并控制输出信号。

首先,将传感器连接到PLC上,并在SFC图中添加相应的状态和转移条件。

接下来,在SFC图中添加输出指令,实现对输出信号的控制。

最后,通过输入信号来触发程序执行。

实验结果:成功实现了对传感器检测并控制输出信号。

四、总结本次实验让我初步了解了可编程控制器的基本指令编程方法,并通过实验验证了其在工业自动化领域中的重要性。

同时,在实验过程中也学习到了如何运用逻辑指令、定时器指令、计数器指令等来完成各种功能需求。

这些知识将对我的未来学习和工作产生积极的影响。

嵌入式实验报告

嵌入式实验报告

实验一 ARM汇编语言程序设计一、实验目的1.了解IAR Embedded Workbench 集成开发环境2.掌握ARM汇编指令程序的设计及调试二、实验设备1.PC操作系统WIN98或WIN2000或WINXP,ADSI.2集成开发环境,仿真驱动程序三、实验内容1.熟悉IAR Embedded Workbench 集成开发环境2.理解下列程序,新建工程,加入下面的程序,并观察实验结果,解释程序实现的功能分析:该程序实现的功能是程序功能:Y = A*B+C*D+E*F程序代码:AREA Examl, CODE,READONLY ;定义一个代码段ENTRY ;程序入口MOV R0,#0;设置R0寄存器的值为0MOV R8,#0;设置R8寄存器的值为0ADR R2,N;将R2寄存器的值设为数据域N的地址LDR R1,[R2];将以R2的值为地址的数据读入R1MOV R2,#0;设置R2的值为0ADR R3,C; 将R3寄存器的值设为数据域C的地址ADR R5,X; 将R5寄存器的值设为数据域X的地址LOOPLDR R4,[R3,R8];将R3+R8的数据读入R4LDR R6,[R5,R8];将R5+R8的数据读入R6MUL R9,R4,R6;R9 = R4*R6ADD R2,R2,R9;R2 = R2+R9ADD R8,R8,#4;R8 = R8+4ADD R0,R0,#1;R0 = R0+1CMP R0,R1;比较R0和R1的值BLT LOOP;R0<R1的话执行循环N DCD 0X03;C DCD 0X01,0X02,0X03,0X04,0X05,0X06;X DCD 0X01,0X02,0X03,0X04,0X05,0X06;END程序结果:各个寄存器的结果执行结果如下:3.实现1+2+3+4+····+100,求的值,并保存在地址0x90018的地址里面程序代码:MOV R0,#100;设置R0寄存器的值为100LDR R2,=0X90018;设置R2寄存器指向地址0x90018MOV R1,#0;设置R1的值为0MOV R3,#0;设置R3的值为0LOOPADD R3,R3,R0;R3 = R3+R0SUB R0,R0,#1;R0 = R0-1CMP R0,R1;将R0和R1的值比较BNE LOOP;不相等的话继续执行循环STR R3,[R2];将R3的值装入到R2指向的地址块中。

2010汇编语言上机实验二

2010汇编语言上机实验二

;多字节BCD码乘2子程序 MULTI PROC LEA DI,BCDBUF+5 ;从低位开始 MOV CL,5 CLC MUL1: MOV AL,[DI] ;取BCD码 ADC AL,AL ;乘2 AAA ;十进制数运算校正 MOV [DI],AL ;存BCD码 DEC DI DEC CL JNE MUL1 RET MULTI ENDP COSEG ENDS END HEXBCD
汇编语言上机实验(二) 4学时
国家级计算机实验示范中心
实验二 数制、码制和子程序的编程与调试
一.实验目的: 实验目的: 1. 熟练掌握编写汇编语言原程序的基本方法和基本框架。 2. 熟练使用DEBUG调试程序。 3. 掌握十六进制数与ASCII码之间,ASCII码与BCD码之间的转换。 4. 掌握用DOS功能调用,实现字符的输入和显示。 5. 掌握子程序的编程与调试方法。 二.实验内容: 实验内容: 1、从键盘输入两个2位十进制正数转换成二进制数后,对这两个数进行相加相乘 运算,结果以十六进制数形式显示在屏幕上。 2、从键盘输入两个2位十进制正数转换成组合BCD码后,对这两个数进行相加 相乘运算,结果以十进制形式显示在屏幕上。 3、从键盘输入一个4位十进制正数并回显后,将其对应的十六进制数显示在屏幕 上。
实验要求一参考程序:
TITLE CONVERT HEXADECIMAL TO BCD DATA SEGMENT PROMPT DB "INPUT HEXADECIMAL(4DIGITS):$' HEXBUF DB 5,0,5 DUP(0) DISP DB 0AH,0DH BCDBUF DB 6 DUP(0),'$' DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS COSEG SEGMENT ASSUME CS:COSEG,DS:DATA,SS:STACK1 HEXBCD: MOV AX,DATA MOV DS,AX
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重庆大学
学生实验报告
实验课程名称汇编语言程序设计
开课实验室DS1502
学院软件学院年级16 专业班软件工程5班学生姓名吉沼橙学号********
开课时间2017 至2018 学年第 1 学期
软件工程学院制
《汇编语言程序设计》实验报告
Add sp,4
Pop ax
Pop bx
Push ax
Push bx
Pop ax
Pop bx
Mov ah,4ch
Int 21h Code ends
End start
先转换成asm格式然后转换成obj格式
然后转换成exe格式
(2)用debug跟踪lab2.exe 的执行过程,写出每一步执行后,相关寄存器中的内容和栈顶的内容。

开始每一步的执行:
1:AX=2000
2:SS=2000
3:SP=0004
4: AX=0000 SP=0006
5: BX=0000 SP=0008
6.7:AX与BX入栈SP由0008到0004
8:AX与BX出栈SP由0004到0008
(5)习题:3.37 -教材114页。

MOV AL, STATUS
AND AL, 00010101B ;只保留第1、3、5位
CMP AL, 00010101B
JZ ROUTINE_1 ;3位全为1转ROUTINE_1
JZ ROUTINE_2 ;两位为1转ROUTINE_2 JZ ROUTINE_3 ;1位为1转ROUTINE_3
JZ ROUTINE_4 ;3位全为0转ROUTINE_4 ROUTINE_3:
JMP EXIT
ROUTINE_1:
JMP EXIT
ROUTINE_2:
JMP EXIT
ROUTINE_4:
EXIT: INT 21H。

相关文档
最新文档