电子科技大学汇编实验报告

合集下载

电子科技大学实验报告

电子科技大学实验报告

电子科技大学实验报告电子科技大学实验报告电子科技大学作为中国一流的电子信息科学与技术学府,以其卓越的教育质量和科研实力备受瞩目。

在这所学校里,学生们不仅接受了丰富的理论知识,更重要的是能够通过实验来巩固和应用所学的知识。

实验报告作为实验课程的重要组成部分,对学生的实验能力、分析能力和表达能力都有一定的要求。

一、实验目的与背景每个实验报告都应该明确实验的目的和背景。

在电子科技大学的实验报告中,一般会先介绍该实验所涉及的相关知识和背景,然后明确实验目的。

以“电路实验”为例,可以介绍电路的基本概念和理论知识,然后明确实验目的是通过搭建电路,观察和分析电流、电压、电阻等参数的变化规律。

二、实验装置与步骤实验报告中应该详细描述实验所用的装置和仪器,并给出实验步骤。

例如,在电路实验中,可以列出所用的电源、电阻、电流表、电压表等装置,并详细说明实验的具体步骤,包括搭建电路的过程、调节参数的方法以及观察数据的记录方式。

三、实验结果与数据分析实验结果是实验报告的重要部分,学生需要将实验过程中所得到的数据进行整理和分析。

在电子科技大学的实验报告中,学生可以通过绘制图表、计算数据等方式来展示实验结果。

例如,在电路实验中,可以通过绘制电流与电压的关系曲线图来展示实验结果,并根据曲线的趋势和数据的变化来分析电路的特性和规律。

四、实验讨论与结论实验讨论是实验报告中的重要环节,学生可以在这一部分对实验结果进行讨论和解释。

例如,在电路实验中,学生可以通过比较实验数据和理论计算结果的差异,来分析实验误差的原因,并提出改进的方法。

最后,学生需要总结实验的结论,并对实验的意义和应用进行简要的说明。

五、实验心得与改进意见实验心得是学生对实验过程和结果的个人感悟和体会,可以在实验报告的最后部分进行阐述。

学生可以谈论自己在实验中遇到的困难和解决方法,以及对实验过程和结果的评价。

同时,学生还可以提出对实验的改进意见,以便于今后的实验能够更加顺利和有效地进行。

电子科技大学微机实验报告-实验2

电子科技大学微机实验报告-实验2

实验二 ARM 汇编控制LED 实验【实验目的】1、理解掌握通过ARM 汇编控制硬件操作;2、熟练使用ARM 调试软件RVDS 进行硬件调试。

【实验内容】1、掌握ARM 处理器GPIO 相关寄存器的使用;2、用ARM 汇编实现控制开发LED 按照一定方式点亮。

【预备知识】1、ARM 汇编基础2、ARM 处理器通用IO 口的操作【实验设备和工具】软件:Windows 操作系统,RVDS 软件硬件:ARM 嵌入式开发板,PC 机Pentium100 以上,并口线,JTAG 板,JTAG 连接线【实验原理】1、 S3C2440 处理器相关寄存器介绍PORT G 控制寄存器( GPGCON )PORT G 数据寄存器(GPGDAT)PORT G 禁止上拉寄存器(GPGUP)注:以上寄存器详细描述见实验指导书或者S3C2440 芯片手册。

2、开发板LED 部分原理图说明GPG5 接LED4,串联上拉电阻GPG6 接LED5,串联上拉电阻GPG7 接LED6,串联上拉电阻GPG8 接LED7,串联上拉电阻所以,当IO 口输出低电平时,相应的LED 才能点亮。

【实验步骤】(一)LED 汇编实验1、通过查看S3C2440 处理器G 口控制寄存器,在文件中添加汇编代码,设置GPG5-GPG8 为output。

2、在文件中添加汇编代码,禁止GPG5-GPG8 端口的上拉电阻。

3、在文件中添加汇编代码,点亮LED6,熄灭LED5,LED7,LED8,并调用延时。

4、在文件中添加汇编代码,点亮 LED7,熄灭 LED5,LED6,LED8,并调用延时。

5、在文件中添加汇编代码,点亮LED8,熄灭LED5,LED6,LED7,并调用延时。

6、在文件中添加汇编代码,实现LED5-LED8 依次点亮。

7.连接好 JTAG 仿真板,一口与 PC 的并口相连,另一口与开发板的 JTAG 口相连,打开开发板电源。

打开H-jtag 程序,检测CPU,点击RVDS 中的“Debu g”,打开RVD 进行硬件调试(二)LED C 语言实验(选做)【实验结果和程序】(一)LED 汇编实验;GPIO 寄存器宏定义GPGCON EQU 0xGPGDAT EQU 0xGPGUP EQU 0xEXPORT LEDTESTAREA LEDTESTASM,CODE,READONL Y ; 该伪指令定义了一个代码段,段名为LEDTESTASM,属性只读ENTRYLEDTEST;设置GPG5-GPG8(即LED4--LED7)为outputldr r0,=GPGCONldr r1,[r0]movr1,#0x00015400str r1,[r0];禁止GPG5-GPG8(即LED4--LED7)端口的上拉电阻ldr r0,=GPGUPldr r1,[r0]movr1,#0x01e0str r1,[r0]looptest;将数据端口G 的数据寄存器的地址附给寄存器r2ldr r2,=GPGDAT; 点亮LED5,熄灭LED6-LED8,并调用延时ldr r3,[r2]orrr3,r3,#0x01e0bicr3,r3,#0x0020str r3,[r2] ;GPG5(即LED5) output 0ldr r0,=0xffffff ;初始计数值bl delay ;调用延迟子程序;----------点亮LED6,熄灭LED5,LED7,LED8,并调用延时---- ldr r3,[r2]orrr3,r3,#0x01e0bicr3,r3,#0x0040str r3,[r2] ;GPG6(即LED6) output 0ldr r0,=0xffffff ;初始计数值bl delay;----------点亮LED7,熄灭LED5,LED6,LED8,并调用延时---- ldr r3,[r2]orrr3,r3,#0x01e0bicr3,r3,#0x0080str r3,[r2] ;GPG7(即LED7) output 0ldr r0,=0xffffff ;初始计数值bl delay;----------点亮LED8,熄灭LED5,LED6,LED7,并调用延时---- ldr r3,[r2]orrr3,r3,#0x01e0bicr3,r3,#0x0100str r3,[r2] ;GPG8(即LED8) output 0 ldr r0,=0xffffff ;初始计数值bl delay;-------------实现LED5-LED8 依次点亮-------------------b looptestdelaysub r0,r0,#1 ;r0=r0-1cmp r0,#0x0 ;将r0 的值与0 相比较bne delay ;比较的结果不为0(r0 不为0),继续调用delay,否则执行下一条语句mov pc,lr ;返回END ;程序结束符(二)LED C 语言实验(选做)arm 汇编部分:AREA |DATA|,CODE,READONL YENTRY;ldr r13,=0x1000IMPORT mainb mainENDC 语言部分://---------------Serial Experiment--------------------//-----------This is coded by UESTC HQ 20/*串口通信C 程序,按‘e’退出通信*/#define ULCON0 (*(volatile unsigned *)0x) //UART 线控制寄存器#define UCON0 (*(volatile unsigned *)0x) //UART 控制寄存器#define UFCON0 (*(volatile unsigned *)0x) //FIFO 控制寄存器#define UMCON0 (*(volatile unsigned *)0x5000000C) //AFC disable#define UTRSTA T0 (*(volatile unsigned*)0x) //UART 状态寄存器#define UBRDIV0 (*(volatile unsigned *)0x) //波特率#define UTXH0 (*(volatile unsigned *)0x)#define URXH0 (*(volatile unsigned *)0x)#define CAMDIV0 (*(volatile unsigned *)0x4C000018)#define GPHCON (*(volatile unsigned *)0x)#define GPHDAT (*(volatile unsigned *)0x)#define GPHUP (*(volatile unsigned *)0x)#define MPLLCON (*(volatile unsigned *)0x4C000004)#define UPLLCON (*(volatile unsigned *)0x4C000008)#define CLKDIVN (*(volatile unsigned *)0x4C000014)#define WTCON (*(volatile unsigned *)0x)void initpll(){MPLLCON=0x76022; //Fin=, Fout=CLKDIVN=0x07; //0000 0111}void inituart(){ULCON0=0x03; //1 位起始位,8 位数据位UCON0 =0x0805; //串口时钟PCLK,查询方式UFCON0 =0x0;UMCON0 =0x0;UBRDIV0 =0x17; // 波特率115200 UBRDIV0 = /(115200*16)-1=24-1=23}void initgpio(){GPHCON |=0xa0; // set to rxd and txdGPHUP |=0x0f; // pull upWTCON &=0xdb;}void uart_send(char * c){for (; *c != '\0'; c++){URXH0 = *c ;}}unsigned char uart_get() {}int main(){UTXH0=URXH0; return UTXH0;char key = ' ';initpll(); //初始化锁相环PLLinitgpio(); //初始化IO 口inituart(); //初始化串口uart_send("If you want to quit ,please press 'e'\r\n"); while(1){key = uart_get();if (key == 'e'){} else {uart_send ("\r\nyou pressed 'e' and you'll quit!\r\n"); break;uart_send(&key);}}uart_send("the program exited by user!\r\n");return 0;}【思考题】1 、如何实现 LED0-LED7 的循环点亮。

电子科大 实验报告

电子科大 实验报告

电子科大实验报告电子科技大学实验报告引言:电子科技大学作为中国著名的高等学府,以其卓越的教学质量和科研实力享誉全国。

在这里,学生们接受着严格的实验训练,以提升他们的科学研究能力和实践技巧。

本文将对电子科技大学的实验教学进行探讨,以及对我个人在实验中的体验和收获进行分享。

实验教学的重要性:实验教学在高等教育中具有重要的地位。

通过实验,学生们能够亲自动手操作,观察现象,进行数据采集和分析,从而深入理解课堂上学到的理论知识。

实验教学不仅培养了学生的动手能力和实践能力,还锻炼了他们的团队合作和解决问题的能力。

因此,电子科技大学高度重视实验教学,为学生提供了丰富多样的实验项目和设备。

实验室设备的先进性:电子科技大学实验室设备的先进性也是其实验教学的一大特点。

学校投入大量资金购置了各种先进的实验仪器和设备,以满足学生的学习需求。

例如,在电子信息工程专业的实验室中,学生们可以使用高性能的示波器、信号发生器和频谱分析仪等设备进行电路实验和信号处理实验。

这些设备不仅提供了实验所需的基本功能,还具备了一些高级功能,使得学生们能够更好地进行实验研究。

实验项目的多样性:电子科技大学的实验项目种类繁多,涵盖了各个专业领域。

学生们可以根据自己的兴趣和专业方向选择适合自己的实验项目。

例如,在通信工程专业的实验室中,学生们可以进行无线通信实验、光纤通信实验等;在计算机科学与技术专业的实验室中,学生们可以进行网络安全实验、人工智能实验等。

这些实验项目既能够帮助学生巩固课堂上学到的知识,又能够拓宽他们的实践经验。

个人实验体验与收获:我作为一名电子信息工程专业的学生,在电子科技大学的实验教学中获得了很多宝贵的经验和收获。

首先,通过亲自动手操作实验仪器,我深入了解了电路的工作原理和信号的处理方法。

其次,实验教学锻炼了我的团队合作和沟通能力,因为在实验中,我们需要与同组的同学密切合作,共同解决实验中遇到的问题。

最后,实验教学培养了我解决问题的能力。

电子科大实验报告

电子科大实验报告

一、实验名称计算机组成原理实验二、实验目的1. 掌握计算机组成原理的基本概念和组成结构。

2. 理解计算机各部件之间的逻辑关系和功能。

3. 学习计算机指令系统的基本原理和应用。

4. 培养动手实践能力和分析问题的能力。

三、实验内容1. 计算机硬件系统组成实验2. 计算机指令系统实验3. 计算机寻址方式实验4. 计算机中断系统实验四、实验原理1. 计算机硬件系统组成实验:通过搭建计算机硬件系统,了解计算机各个部件的功能和相互关系,包括中央处理器(CPU)、存储器、输入输出设备等。

2. 计算机指令系统实验:学习计算机指令系统的基本原理,包括指令格式、寻址方式、指令执行过程等。

3. 计算机寻址方式实验:了解计算机寻址方式的基本概念,包括直接寻址、间接寻址、寄存器寻址等,并掌握不同寻址方式的应用。

4. 计算机中断系统实验:学习计算机中断系统的原理,包括中断源、中断控制器、中断处理程序等,以及中断处理过程。

五、实验设备及器材1. 计算机组成原理实验箱2. 示波器3. 数字万用表4. 计算机软件:Keil、Proteus等六、实验过程及数据记录1. 计算机硬件系统组成实验(1)搭建计算机硬件系统,包括CPU、存储器、输入输出设备等。

(2)观察各个部件之间的连接和信号传输。

(3)测试计算机硬件系统的基本功能。

2. 计算机指令系统实验(1)编写简单的汇编语言程序,实现加法、减法等运算。

(2)使用Proteus软件模拟程序执行过程,观察CPU的运行状态和寄存器的内容。

3. 计算机寻址方式实验(1)编写汇编语言程序,实现不同寻址方式的操作。

(2)使用Proteus软件模拟程序执行过程,观察不同寻址方式对指令执行的影响。

4. 计算机中断系统实验(1)编写汇编语言程序,实现中断请求和处理。

(2)使用Proteus软件模拟程序执行过程,观察中断处理过程。

七、实验结果分析1. 通过搭建计算机硬件系统,了解了计算机各个部件的功能和相互关系,掌握了计算机硬件系统的基本原理。

汇编实验报告

汇编实验报告

汇编实验报告一、实验目的本次汇编实验的主要目的是深入理解计算机底层的工作原理,掌握汇编语言的基本语法和编程技巧,能够运用汇编语言编写简单的程序来实现特定的功能。

通过实践操作,提高对计算机体系结构的认识,培养解决实际问题的能力。

二、实验环境本次实验使用的操作系统为 Windows 10,汇编语言编译器为MASM 615。

三、实验内容(一)数据传送与算术运算1、编写程序实现将两个 16 位的整数相加,并将结果存储在指定的内存单元中。

2、实现数据在不同寄存器和内存单元之间的传送。

(二)逻辑运算与移位操作1、对给定的两个字节数据进行逻辑与、或、异或操作,并观察结果。

2、进行移位操作,包括左移和右移,理解移位对数据的影响。

(三)循环与分支结构1、利用循环结构计算 1 到 100 的整数之和。

2、根据给定的条件,使用分支结构实现不同的操作。

(四)子程序调用1、编写一个子程序,实现两个数的乘法运算。

2、在主程序中调用该子程序,并输出结果。

四、实验步骤(一)数据传送与算术运算1、打开 MASM 编译器,新建一个汇编源文件。

2、使用`MOV` 指令进行数据传送,将两个整数分别存储在寄存器`AX` 和`BX` 中。

3、使用`ADD` 指令将两个数相加,结果存储在`CX` 寄存器中。

4、最后,使用`MOV` 指令将结果存储到指定的内存单元。

(二)逻辑运算与移位操作1、在源文件中定义两个字节变量,并初始化其值。

2、使用逻辑运算指令(如`AND`、`OR`、`XOR`)对这两个变量进行操作。

3、使用移位指令(如`SHL`、`SHR`)对变量进行移位,并观察结果。

(三)循环与分支结构1、对于循环结构,使用`LOOP` 指令实现从 1 到 100 的累加。

2、在分支结构中,根据给定的条件(如比较两个数的大小),使用`JZ`、`JL` 等指令执行不同的分支操作。

(四)子程序调用1、定义一个子程序,使用参数传递的方式接收两个数,并进行乘法运算。

电子科技大学中山学院学生实验报告

电子科技大学中山学院学生实验报告

电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验班级:姓名:学号:组别:实验名称:实验四可编程并行接口8255(方式0)实验时间:成绩:教师签名:批改时间:一、实验目的和任务掌握8255方式0的工作原理及使用方法。

二、实验内容1.实验电路如图4-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2. 编程从8255C口输入数据,再从A口输出。

图4-1 图4-2编程提示:1)8255控制寄存器端口地址28BHA口的地址288HC口的地址28AH2)参考流程图(见图4-2)三、实验过程和数据记录1.源程序:电子科技大学中山学院学生实验报告学院:机电工程专业:课程名称:微机原理与应用实验班级:姓名:学号:组别:实验名称:实验五七段数码管实验时间:成绩:教师签名:批改时间:一、实验目的和任务掌握数码管显示数字的原理。

二、实验内容1.静态显示:按图5-1连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

2.动态显示:按图5-2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0。

编程在两个数码管上显示“56”。

3.动态显示:使用图5-2的电路,编程在两个数码管上循环显示“00-99”。

图5-1 图5-2编程提示:1)实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

汇编led显示实验报告

汇编led显示实验报告

汇编led显示实验报告实验目的:通过汇编语言编写程序,控制LED灯实现不同的显示模式。

实验原理:1. 汇编语言:汇编语言是一种低级语言,可以直接操作计算机硬件。

在本实验中,我们将使用汇编语言来编写控制LED灯的程序。

2. LED灯:LED灯是一种能够发光的电子元件,可以通过改变电流来控制其亮度和颜色。

实验步骤:1. 连接:将开发板与计算机连接,并将LED灯连接到开发板的相应引脚上。

2. 开发环境:打开汇编语言开发环境,创建一个新的汇编程序文件。

3. 程序编写:根据实验要求,编写控制LED灯显示的程序。

程序中需要包括对引脚的控制命令、延时函数等。

4. 程序调试:将程序下载到开发板上,并通过调试工具进行调试,查看LED灯的显示效果是否符合要求。

5. 实验结果记录:记录LED灯在不同程序模式下的显示效果。

实验结果:在实验过程中,我们编写了几个模式的控制程序来控制LED灯的显示效果,如以下几个模式:1. 单个LED灯闪烁:控制程序将LED灯依次点亮和熄灭,循环进行,实现LED灯的闪烁效果。

2. 交替闪烁:控制程序将两个LED灯交替点亮和熄灭,循环进行,实现两个LED 灯的交替闪烁效果。

3. 跑马灯效果:控制程序将多个LED灯依次点亮和熄灭,形成一个灯在不同位置移动的效果。

通过实验,我们可以看到LED灯在不同的程序控制下有不同的显示效果,通过编写不同的控制程序,可以实现更多样化的LED灯显示效果。

实验总结:通过这次实验,我们学习了如何使用汇编语言编写程序,控制LED灯的显示效果。

通过编写不同的控制程序,可以实现多种多样的LED灯显示效果。

这次实验使我们进一步理解了汇编语言的基本原理和编程技巧,对我们今后的学习和研究有很大的帮助。

同时,实验中我们还学会了如何通过调试工具进行程序调试和验证,提高了我们的实际操作能力。

通过实验,我们对计算机硬件的控制有了更深的了解,并且掌握了一种直接操作硬件的方法,这对我们今后在嵌入式系统开发等方面的研究和应用都具有重要意义。

电子技术应用实验教程实验报告综合篇(含答案)电子科技大学-大三上(精心汇编)

电子技术应用实验教程实验报告综合篇(含答案)电子科技大学-大三上(精心汇编)

·1·常用电子测量仪器的使用一部第分第一部分 常用电子测量仪器的使用本部分主要涉及实验要用到的三种仪器:数字示波器、信号发生器和稳压电源。

学生在自学了《电子技术应用实验教程 综合篇》(后称教材)第一章内容后,填空完成这部分的内容。

一、学习示波器的应用,填空完成下面的内容示波器能够将电信号转换为可以观察的视觉图形,便于人们观测。

示波器可分为 模拟示波器 和 数字示波器 两大类。

其中, 模拟示波器 以连续方式将被测信号显示出来;而 数字示波器 首先将被测信号抽样和量化,变为二进制信号存储起来,再从存储器中取出信号的离散值,通过算法将离散的被测信号以连续的形式在屏幕上显示出来。

我们使用的是 数字示波器 。

使用双踪示波器,能够同时观测两个时间相关的信号。

信号通过探头从面板上的 通道1 和 通道2 端送入,分别称为CH1和CH2。

在使用示波器时,需要注意以下几点:(1)正确选择触发源和触发方式触发源的选择:如果观测的是单通道信号,就应选择 该信号 作为触发源;如果同时观测两个时间相关的信号,则应选择信号周期 大 (大/小)的通道作为触发源。

(2)正确选择输入耦合方式应根据被观测信号的性质来选择正确的输入耦合方式。

如图1.1所示,输入耦合方式若设为交流(AC ),将阻挡输入信号的直流成分,示波器只显示输入的交流成分;耦合方式设为直流(DC ),输入信号的交流和直流成分都通过,示波器显示输入的实际波形;耦合方式设为接地(GND ),将断开输入信号。

t0U1V 5V(A )tU 1V5V 图1.2 被测信号实际波形tU (B )t0U-2V2V (C )图1.1 输入耦合开关示意图图1.3 不同输入耦合方式时的波形已知被测信号波形如图1.2所示,则在图1.3中, C 为输入耦合方式为交流(AC )·2·DIANZI JISHU YINGYONG SHIYAN JIAOCHENG SHIYAN BAOGAO电子技术应用实验教程实验报告综合篇时的波形, A 为输入耦合方式为直流(DC )时的波形, B 为输入耦合方式为接地(GND )时的波形。

汇编实验报告一实验总结

汇编实验报告一实验总结

汇编实验报告一实验总结
实验报告一:汇编实验总结
实验目的:通过汇编实验,掌握汇编语言的基本语法和编程技巧,加深对计算
机底层工作原理的理解。

实验过程:在实验中,我们首先学习了汇编语言的基本语法和指令格式,包括
寄存器的使用、内存地址的访问、算术运算和逻辑运算等。

随后,我们进行了
一系列的编程练习,包括编写简单的程序来实现加法、乘法、比较大小等功能。

在实验的最后阶段,我们还学习了如何调用系统中断来实现输入输出操作。

实验结果:通过本次实验,我们深入了解了汇编语言的编程技巧和应用场景。

我们不仅掌握了汇编语言的基本语法,还学会了如何编写简单的汇编程序来实
现一些基本的功能。

同时,通过实验,我们对计算机底层的工作原理有了更深
入的理解,对计算机系统的运行机制有了更清晰的认识。

实验总结:本次汇编实验让我们深入了解了汇编语言的基本知识和编程技巧,
为我们今后的学习和工作打下了坚实的基础。

通过实验,我们不仅学会了如何
使用汇编语言编写程序,还对计算机系统的底层工作原理有了更深入的理解。

希望在今后的学习和工作中,我们能够继续深入研究汇编语言,不断提高自己
的编程水平,为计算机科学技术的发展贡献自己的力量。

电子科技大学实验报告

电子科技大学实验报告
说明:由于cain功能很多,此处仅对本实验中所用到的功能进行讲解,其余功能读者可以自己去了解、尝试。
2.绑定网卡
在IP地址为的机器上运行cain,在cain运行界面上,按下“sniffer”图标,并点击“configuration菜单”,在“sniffer”选项卡下,选择恰当的网卡进行绑定,点击确定。如图4Biblioteka 20、图4-21图4-24
图4-25
说明:若没有选择 图标,则当点击 时,会提示“sniffer not be actived”,此时点击 ,开始嗅探,实验仍可继续进行。从cain主界面中可以看到,已探测出在该区域段的机器(10.11为主机,13为虚拟主机,1为网关)。如图4-26
图4-26
4.ARP欺骗
选择cain主界面下端的APR标签 ,点击“ ”号,在选项框中选择进行ARP欺骗的地址。左边选择被欺骗的主机,再在右边选择合适的主机(或网关),ARP能够在左边列表中被选的主机和所有在右边选中的主机之间双向劫持IP包。在该实验中首先在左侧列表中选择的地址,然后右侧列表即会出现其他IP地址,若在右侧选择网关,这样就可以截获所有从13发出到广域网的数据包信息。点击“OK”,在cain界面上可以看到形成的欺骗列表,此时在状态一栏中显示“idle”,开始欺骗点击工具栏上的“ ”状态变为“poisoning”,开始捕获。此时,在机器上进行网络操作,在12机器上会看到cain界面上显示捕获数据包的增加。如图4-27、图4-28、图4-29、图4-30
1.安装使用工具Cain
首先在局域网内某台机器上安装Cain(IP地址为)。Cain是一个功能强大的软件,可以实现网络嗅探、网络欺骗、破解加密口令、分析路由协议等功能。使用它之前必须进行安装,安装过程只需要按照默认情况安装即可。双击“Cain v2.5”,运行Cain的操作界面如图4-19:

电子科技大学微机实验报告[含思考题]河畔下的哈]实验

电子科技大学微机实验报告[含思考题]河畔下的哈]实验

实验三ARM汇编实现串口通信实验1.掌握ARM 的串行口工作原理。

2.学习编程实现ARM和PC机的UART通信。

3.掌握ARM裸机下汇编语言编程方法。

1.学习串行通信原理,了解串行通信控制寄存器。

2.编程实现ARM 和计算机之间的串行通信。

1、ARM汇编基础2、ARM处理器通用IO口的操作? 硬件:ARM嵌入式开发平台,PC 机一台,并口线,串口线,JTAG板? 软件:RVDS,H-JTAG1.异步串行I/O异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。

数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线(输入,输出)即可进行。

2.串口通信流程串口通信就是读写寄存器的操作,通过配置相关寄存器,查询寄存器就可以操作串口通信。

需要配置的寄存器有系统时钟,UART行控制寄存器,UART控制寄存器,UART FIFO控制寄存器,UART MODEM控制寄存器,UART波特率控制寄存器;需要查询的寄存器是发送/接收状态寄存器。

1. 打开CodeWarrior for RVDS,建立一个工程,通过查S3C2440处理器手册的UART通信寄存器,serialcommutication.s文件中添加代码实现串口通信传输2. 设置工程配置选项,Language Setting->Realview Assembler和Realview Compiler中的Architecture设置为ARM920T,配置RVDS下的连接器Linker->Realview Linker中的RO Base 为0x300000003.编译和调试工程。

4. 连接PC和实验板的并口,串口;并口连接至ARM的JTAG口,串口连接至COM PORT 口;打开电源;打开H-JTAG程序(。

5. 点击调试器Dubeg->Run,运行程序,打开超级终端,在开始->程序->附件->通讯里打开超级终端,使用COM1,设置波特率115200,8位数据位,无奇偶校验,1位停止位,无数据流控制。

微机系统实验报告材料

微机系统实验报告材料

电子科技大学实验报告实验一汇编语言编程实验一、实验目的(1)掌握汇编语言的编程方法(2)掌握 DOS 功能调用的使用方法(3)掌握汇编语言程序的调试运行过程二、实验设备PC 机一台。

三、实验容1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。

2. 在屏幕上显示自己的学号信息。

3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。

4. 自主设计输入显示信息,完成编程与调试,演示实验结果。

四、实验源码DA TA SEGMENTDISCHA DB'WangHan 14030188004',0AH,0DH,'$'TAB DB' ',0AH,0DH,'$'BLANK DB' $'DA TA ENDSSTACK SEGMENTSTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACKSTART:MOV AX,SEG DISCHAMOV DS,AXMOV DX,OFFSET DISCHAMOV AH,09HINT 21HNEXT:MOV AH,01HINT 21HCMP AL,'Q'JE ENDSSCMP AL,'q'JE ENDSSMOV BL,ALMOV AX,SEG BLANKMOV DS,AXMOV DX,OFFSET BLANKMOV AH,09HINT 21HMOV BH,0AHMOV DL,BLMOV CL,04HSHR DL,CLCMP DL,BHJNL Q3JMP Q2Q1:ADD DL,07HQ2:ADD DL,30HMOV AH,02HINT 21HMOV DL,BLMOV DH,0FHAND DL,DHCMP DL,BHJNL Q3JMP Q4Q3:ADD DL,07HQ4:ADD DL,30HMOV AH,02HINT 21HMOV AX,SEG TABMOV DS,AXMOV DX,OFFSET TABMOV AH,09HINT 21HMOV CX,0009HLOOP NEXTENDSS:MOV AH,4CHINT 21HCODE ENDSEND START五、程序流程图如下图1.2所示图1.2程序流程图实验二数码转换实验一、实验目的1. 掌握不同进制数及编码相互转换的程序设计方法。

汇编实验报告3

汇编实验报告3

汇编实验报告3汇编实验报告3引言:汇编语言是一种低级语言,用于编写计算机程序。

在本次实验中,我们将继续学习和实践汇编语言的基本概念和技术。

本报告将详细记录我们在实验过程中所遇到的问题、解决方案和实验结果。

实验目的:本次实验的主要目的是加深对汇编语言的理解,并通过实践掌握汇编语言的基本操作和调试技巧。

通过完成实验,我们将能够编写简单的汇编程序,理解程序的执行过程和内存的使用。

实验环境:本次实验使用的是x86架构的计算机,并使用MASM汇编器进行程序的编译和链接。

我们还使用了调试器来跟踪程序的执行过程。

实验步骤:1. 阅读实验指导书和相关资料,了解本次实验的要求和目标。

2. 编写一个简单的汇编程序,实现两个数的相加功能。

程序首先要求用户输入两个数,然后将其相加并输出结果。

3. 使用MASM汇编器将程序源代码编译成目标文件。

4. 使用链接器将目标文件与运行时库链接,生成可执行文件。

5. 运行程序,并验证程序的正确性。

如果程序不能正常工作,使用调试器进行调试,找出问题的原因并进行修复。

6. 记录实验结果和遇到的问题,撰写实验报告。

实验结果:我们编写了一个简单的汇编程序,成功实现了两个数的相加功能。

程序能够正确地接收用户输入的两个数,并将其相加后输出结果。

我们通过多次测试,验证了程序的正确性。

实验中遇到的问题及解决方案:在实验过程中,我们遇到了一些问题,下面是其中的两个例子以及我们的解决方案:1. 问题:在程序运行过程中,无法正确接收用户输入的数值。

解决方案:我们仔细检查了程序的输入部分,发现在读取用户输入时,没有正确设置输入缓冲区的大小。

通过增大缓冲区的大小,我们成功解决了这个问题。

2. 问题:程序输出的结果不正确。

解决方案:我们使用调试器跟踪程序的执行过程,发现在进行相加操作时,寄存器的值被错误地覆盖了。

经过进一步的调试,我们发现这是因为在进行相加操作之前,没有正确地保存寄存器的值。

通过添加保存和恢复寄存器值的代码,我们成功解决了这个问题。

电子科技大学数学实验实验报告(含详细程序和实验数据)-Koch分形雪花,计算瑞典国土,计算我国海岸线长度

电子科技大学数学实验实验报告(含详细程序和实验数据)-Koch分形雪花,计算瑞典国土,计算我国海岸线长度

Koch 分形雪花面积计算的数学实验报告2012年4月6日绘制Koch 分形雪花,分析其边数及面积规律实验内容取周长为10的正三角形为初始元。

第一步(N=1):将边长三等分,并以中间的一份为底边构造正三角形,去掉该三角形的底边,将两腰与剩下的两份相连,得到生成元。

原三角形每条边都用生成元替换,得到具有6个凸顶点的12边形。

第二步(N=2):对第1步得到的图形,同样将其边长三等分,并以中间的一份构造正三角形,去掉该三角形的底边,将两腰与两边的两份相连,得到生成元。

原12边形的每条边都用生成元替换,得到24个凸顶点的48边形。

如此方法,一直做下去,当∞→N 时便得到了Koch 分形雪花。

实验目的1.算法描述Koch 分形雪花2.证明Koch 分形雪花图Kn 的边数为143-⨯=n n L3.求Koch 分形雪花图Kn 的面积)(lim n N K area ∞→实验原理1. Koch 分形雪花的绘制过程与Koch 曲线的构造过程类似。

事实上,Koch 分形雪花是由三条三次Koch 曲线组成的。

Koch 曲线的构造:由一条线段产生四条线段,由n 条线段迭代一次后将产生4n 条线段,算法针对每一条线段逐步进行,将计算新的三个点。

第一个点位于线段的三分之一处,第三个点位于线段的三分之二处,第二个点以第一个点为轴心,将第一和第三个点形成的向量正向旋转ο60而得,正向旋转由正交矩阵⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧-3cos 3sin 3sin3cos ππππ完成。

三条三条三次Koch 曲线由初始向量P 构造。

流程图如下:⑴)/3P -2(P + P ←Q )/3;P -(P + P ← Q 121 31211 ⑵;A ×)Q -(Q + Q ← Q T1312 ⑶.Q ← P ;Q ← P ;Q ← P ;P ← P 342312252.由于Koch分形雪花是封闭的凸多边形,所以边数=顶点数=P矩阵的行数-1。

电子科技大学实验报告可编辑

电子科技大学实验报告可编辑

电 子 科 技 大 学实 验 报 告一、 实验室名称: 电子技术综合实验室二、 实验项目名称:现代电子技术综合实验三、 实验学时: 40四、 实验目的与任务:1、 熟悉系统设计与实现原理2、 掌握KEIL C51的基本使用方法3、 熟悉SMART SOPC 实验箱的应用4、 连接电路,编程调试,实现各部分的功能5、 完成系统软件的编写与调试五、 实验器材1、 PC 机一台2、 示波器、SMART SOPC 实验箱一套六、 实验原理、步骤及内容(一)试验要求1、程序开始后:当只有第1个发光二极管亮时,同时第1个数码管显示数字1,其余显示”-”;持续0.5秒之后,只有第2个发光二极管亮,电子科技大学实验报告【最新资料,WORD 文档,可编辑修改】同时第2个数码管显示数字2,其余显示”-”;再过0.5秒,只有第3个发光二极管亮,同时第3个数码管显示数字3,其余显示”-”;……;间隔0.5秒后,只有第8个发光二极管亮,同时第8个数码管显示数字8,其余显示”-”。

此后进入循环状态。

循环过程中,按按键进入任务2。

2、停止任务1中发光二极管显示,数码管的第1、2位显示学号最后二位,第4、5位显示电机转速(初始转速30)。

第7、8位实现秒表功能,从5.0开始倒计时,计时到0.0后程序自动进入任务3.3、数码管的第1、2位显示电机转速,第3、4 、5、6位显示”-”, 第7、8位显示二位电压值(0.0~2.4V),增减调节电压值,电机转速(初始转速30)能够跟随电压增减以10倍变化量(0~24),进行加减速变化。

按按键进入任务1。

(二)实验内容1、硬件设计PDIP40封装80C51引脚布局图SmartSOPC相配套的基于8051单片机的Quick51核心板2、各部分硬件原理数码管动态扫描原理:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。

选亮数码管采用动态扫描显示。

所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。

汇编实验一 实验报告

汇编实验一 实验报告

实验一查看CPU和内存用机器指令和汇编指令编程
一、实验目的
1.掌握debug的使用方法,会用基本的D,R命令查看、显示内存和寄存器
2.了解汇编指令编程的方法。

二、实验任务
1检查在存储器低端的BIOS数据区的内容。

(1)检查串行与并行端口
(2)检查系统设备
(3)检查键盘Shift状态
(4)检查显示状态
2 考察ROM BIOS
目的:检查在存储器高端的ROM BIOS中的数据。

(1)检查版本通告
(2)检查ROM BIOS数据
3.用D、R命令查看、显示内存和寄存器,可对寄存器内容进行修改。

三、实验结果及分析
1、检查在存储器低端的BIOS数据区的内容
(1)检查串行与并行端口
说明:检查后发现有四个串行端口,分别是03F8、02F8、03E8、02E8;并行端口也有四个,分别是03BC、03BC、0378、0278、9FC0
(2)检查系统设备
(3)检查键盘Shift状态
(4)检查显示状态
2、考察ROM BIOS (1)检查版本通告
(2)检查ROM BIOS数据
3、用D、R命令查看、显示内存和寄存器,可对寄存器内容进行修改
四、实验总结(心得、体会)
1、通过对检查在存储器低端的BIOS数据区的内容的查看,可以了解计算机的各种状态,而考察ROM BIOS可以鉴定计算机的出厂信息。

2、通过用D、R命令查看、显示内存和寄存器,可以了解计算机运行的过程步骤,并且可以通过偏移地址读取内容。

3、在读取时需要注意的是,在DEBUG显示中是低位至高位的显示,而我们需要的是高位至低位的显示方式,所以在操作时对于双字节的读取,需要将前后字节地址内容互换。

桂电汇编实验报告(14200字)

桂电汇编实验报告(14200字)

桂电汇编实验报告(实验报告实验名称||实验一汇编语言上机过程和Debug常用调试命令一、实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。

二、实验题目熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。

在调试过程中,学习及掌握debug程序的各种操作命令。

三、问题描述试编写一程序:比较两个字符串string则显示‘match’; 否则,显示‘no match’。

四、方法说明a) 使用ws、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。

b) 用汇编程序masm(或asm)对源文件汇编产生目标文件obj如:汇编指示出错则需失效当新调用编辑程序修改错误,直至汇编通过为止。

c) 用连接程序link 产生执行文件EXE.d) 执行程序,可直接从DOS执行程序。

e) 使用debug程序调试程序的方法。

五、实验步骤datarea segmentstringstringmessmessdatarea endsprognam segmentmain proc farassume cs:prognam,ds:datarea,es:datarea start:push dssub ax,axpush axmov ax,datareamov ds,axmov es,axlea si,string1lea di,string2 cldmov cx,repz cmpsbjz matchlea dx,mess2 jmp short disp match:lea dx, mess1 disp:mov ah,09int 2retmain endp prognam endsend startD:\ 文件名_实验二循环程序设计1循环结构是控制重复执行某一特定程序段的基本程序结构. 在汇编语言程序设计中所, 循环程序的地位也是极为重要,从本质上来看,循环程序结构是分支程序结构的一种手特殊形式, 也是使用条件转移指令来控制执行循环的.一、实验目的学会用循环结构实施进行程序编程。

电子科技大学_汇编实验报告

电子科技大学_汇编实验报告

电子科技大学计算机工程学院标准实验报告(实验)课程名称电子科技大学教务处制表电子科技大学实验报告实验一学生姓名:穆萨·图拉克学号:2012060090033 指导教师:实验地点:主楼A2-412 实验时间:19:00~一、实验室名称:二、实验项目名称:汇编源程序的上机调试操作基础训练三、实验学时:四、实验原理:(包括知识点,电路图,流程图)DEBUG 的基本调试命令;汇编数据传送和算术运算指令MASM宏汇编开发环境使用调试方法五、实验目的:1. 掌握DEBUG 的基本命令及其功能2. 学习数据传送和算术运算指令的用法3. 熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程六、实验内容:(介绍自己所选的实验内容)1. DEBUG命令的使用2. 程序的调试与运行3. 编写程序计算以下表达式:Z=(5X+2Y-7)/2设X、Y的值放在字变量V ARX、V ARY中,结果存放在字节单元V ARZ中。

七、实验器材(设备、元器件):WinXP PC机,MASM,50 ,VisulASM软件平台。

八、实验步骤:(编辑调试的过程)1.编辑源程序,建立一个以后缀为.ASM的文件.2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。

无错时继续第3步。

3.连接目标程序,产生可执行程序。

4.用DEBUG程序调试可执行程序,记录数据段的内容。

九、实验数据及结果分析:(实验运行结果介绍或者截图,对不同的结果进行分析)程序说明:功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。

其中X 与Y是已知量,Z是待求量。

结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),以及结果存放在VARZ,初始化为?。

然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL以及XOR,IDIV完成程序设计。

详细内容见程序注释。

程序清单:DATA SEGMENTVARX DB10VARY DB10VARZ DB?DATA ENDSSTACK SEGMENT PARA STACKSTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKMAIN:MOV AX,DATAMOV DS,AXMOV AL,VARXMOV AH,VARYSAL AL,1SAL AL,1ADD AL,VARXSAL AH,1ADD AL,AHSUB AL,7SAR AL,1MOV VARZ,ALMOV AH,4CHINT21HCODE ENDSEND MAIN程序框图:结束调试说明:将汇编语言(.asm文件)通过masm命令转换为目标程序(.obj 文件),通过link命令转换为目标程序可执行程序(.exe文件); 这次试验还要用-p参数以及d参数显示结果为:十、实验结论:(联系理论知识进行说明)通过本次实验,我们学习了解掌握了DEBUG 的基本命令及其功能,学习了数据传送和算术运算指令的用法,熟悉了在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。

汇编实验报告6

汇编实验报告6

汇编实验报告6汇编实验报告6引言:汇编语言是一种底层编程语言,它直接操作计算机硬件,提供了对计算机底层资源的更精确控制。

在本次实验中,我们将继续学习和实践汇编语言的相关知识,探索其在计算机系统中的作用和应用。

一、实验目的本次实验旨在加深我们对汇编语言的理解,并通过实践进一步掌握汇编语言的基本概念、语法和应用。

具体目标如下:1. 掌握汇编语言的基本指令和寻址方式;2. 理解和实现简单的汇编程序;3. 学会使用调试工具调试汇编程序。

二、实验环境本次实验使用的环境为Windows操作系统和MASM汇编器。

在实验开始前,我们需要确保已经正确安装了MASM汇编器,并配置好了相关环境变量。

三、实验过程1. 编写程序本次实验我们将编写一个简单的汇编程序,实现两个数相加并输出结果的功能。

首先,我们需要使用文本编辑器打开一个新的文件,并保存为.asm格式。

接下来,我们将按照汇编语言的语法规则,逐步编写程序。

2. 汇编程序的结构一个标准的汇编程序由三个部分组成:数据段、代码段和堆栈段。

在数据段中,我们定义了需要使用的变量和常量;在代码段中,我们编写了实际的汇编指令;而堆栈段则用于存储程序执行过程中的临时数据。

3. 汇编指令的使用在本次实验中,我们将使用一些常见的汇编指令,如MOV、ADD、SUB等。

这些指令用于操作寄存器、内存和立即数,实现数据的传输、运算和比较等功能。

4. 调试程序编写完汇编程序后,我们需要使用调试工具对程序进行调试,以确保程序的正确性。

调试工具可以帮助我们逐条执行程序,并查看寄存器和内存的变化,从而找出程序中的错误。

四、实验结果与分析经过编写和调试,我们成功地实现了两个数相加并输出结果的功能。

我们可以通过调试工具查看程序执行过程中寄存器和内存的变化,以验证程序的正确性。

同时,我们还可以对程序进行性能分析,了解其在不同输入情况下的执行效率。

五、实验总结通过本次实验,我们深入学习了汇编语言的基本概念和应用。

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

计算机专业类课程实验报告课程名称:汇编语言程序设计学院:计算机科学与工程专业:计算机科学与技术学生姓名:郭小明学号:20日期:2013年12月24日电子科技大学实验报告实验一学生姓名:郭小明学号:20一、实验室名称:主楼A2-412二、实验项目名称:汇编源程序的上机调试操作基础训练三、实验原理:DEBUG 的基本调试命令;汇编数据传送和算术运算指令MASM宏汇编开发环境使用调试方法四、实验目的:1. 掌握DEBUG 的基本命令及其功能2. 学习数据传送和算术运算指令的用法3.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程五、实验内容:编写程序计算以下表达式:Z=(5X+2Y-7)/2设X、Y的值放在字节变量VARX、VARY中,结果存放在字节单元VARZ中。

1.编辑源程序,建立一个以后缀为.ASM的文件.2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。

无错时继续第3步。

3.连接目标程序,产生可执行程序。

4.用DEBUG程序调试可执行程序,记录数据段的内容。

V ARX V ARY V ARZ541052020六、实验器材(设备、元器件):PC机,MASM软件平台。

七、实验数据及结果分析:程序说明:功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。

其中X 与Y是已知量,Z是待求量。

结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),以及结果存放在VARZ,初始化为?。

然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL 以及XOR,IDIV完成程序设计。

详细内容见程序注释。

程序清单:调试说明:将汇编语言(.asm文件)翻译为目标代码程序(.obj文件)(MASM.exe);没有出现错误或者警告,下一步进行链接,连接目标代码程序和库函数代码生成可执行程序文件(.exe文件),(LINK.exe);我们成功生成了test1.exe. 然后输入Debug命令进入调试环境,-是debug命令提示符。

我们执行-n test1.exe -l 装入我们的test1.exe 然后我们-u反汇编程序,得到程序的反汇编。

1485显然是我们的数据段逻辑地址我们来查看一下1485::0000 到1485:1111 这16个字节的内容,理论上应该是05,04,00.……00 05正是V ARX 04 正是V ARY 00 正是V ARZ正如我们所料下面是单步调试逐条执行汇编指令的操作。

现在我们执行程序(-g),然后再次查看数据段里面的内容V ARZ的内容变成了0D事实上(5*5+4*2-7)/ 2 = 13 就是0D开始程序框图:AX与AX进行异或(置零)CX与CX进行异或(置零)V ARX →AL5 →CLAL = AL * CLAL →DLAX与AX进行异或(置零)V ARY →AL2 →CLAL = AL * CLAL + DL →ALAL - 7 →AL2 →CLCL / 2 = CLAL →V ARZ结束V ARX V ARY V ARZ541310526202066九、实验结论:通过本次实验,我们学习了解掌握了DEBUG 的基本命令及其功能,学习了数据传送和算术运算指令的用法,熟悉了在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。

完成了Z = (5*X + 2*Y - 7)/ 2 算术式的编程计算,使用到了以上学习到的知识,并且利用了顺序程序设计的思想。

通过本次实验,大大提升了对汇编程序设计这门课实践意义的理解,提高了编程能力和设计水平。

另外在此感谢指导老师的辛勤工作!电子科技大学实验报告实验二学生姓名:郭小明学号:20一、实验室名称:主楼A2-412二、实验项目名称:分支程序与循环程序设计三、实验原理:分支程序设计基本规范与调试方法,循环程序设计与调试方法;分配与使用寄存器的相关方法四、实验目的:1、掌握分支程序的结构。

2、掌握分支程序的设计与调试方法。

3、掌握循环程序设计与调试方法4、掌握正确分配与使用寄存器。

六、实验内容:编程实现:分别统计下列20个数中大于5、小于零和大于等于零且小于等于5的数据个数,分别存入字节单元RES1、RES2和RES3中。

BUFF DB -1, 20, 3, 30, -5, 15, 100, -54, 0, 4, 78, 99, -12, 32, 3, 23, -7, 24, 60,-51六、实验器材(设备、元器件):PC机,MASM软件平台。

七、实验步骤:程序说明:功能:本程序完成对一个数组当中大于5,小于0以及大于等于0小于等于5的数的个数的统计。

分别存入字节单元RES1、RES2和RES3中。

结构:首先定义数据段, BUF数组的初始化,以及数组成员个数的统计以备循环时使用,以及结果存放在RES1,RES2,RES3,初始化为0。

然后定义堆栈段,然后书写代码段,代码段使用分支与循环程序设计本程序,首先通过LEA指令获取BUF首地址,然后首地址每次加一之后就可以根据循环次数遍历整个数组,遍历的时候首先将获得数据与0进行比较,如果小于0跳转到BELOW0(JL BELOW0)标号处执行,若不是的话再与5进行比较,如果小于等于5的话跳转到BELOW5(JLE BELOW5 ;如果小于5则跳转),再然后的话数据必然是属于大于5的范围,由此统计三类数据的个数。

详细见程序。

程序清单:调试说明:将汇编语言(.asm文件)翻译为目标代码程序(.obj文件)(MASM.exe);没有出现错误或者警告,下一步进行链接,连接目标代码程序和库函数代码生成可执行程序文件(.exe文件),(LINK.exe);我们成功生成了test1.exe. 然后输入Debug命令进入调试环境,-是debug命令提示符。

我们进入了debug程序调试环境现在我们反汇编该程序显然1485是我们数据段的首地址,我们来看看程序运行之前数据段里面的值,我们的数据段里面应该存放至20个数据值还有就是3个存放结果的值(初始都是0)正如我们所料想的。

下面是单步调试的结果。

下面我们执行程序并查看运行程序之后的数据段里面的数据值。

我们返现后面三个值变化了,确实分别记录了数组当中大于5,小于0以及大于等于0小于等于5的三类数据的个数,与事实相符,验证我们的程序设计是正确的。

得出: 大于5的数据共有:10个 小于0的数据共有:6个大于等于0小于等于5的数据共有4个程序框图:开始取出表BUF 的首地址放入SI 当中COUNT → CXCX>0?YES[SI] → ALAL < 0?YESRES2 +1→RES2NOSI +1 → SINO结束九、实验结论:通过本次实验,掌握了分支程序的结构特点,学习了分支程序的设计和调试方法,掌握了循环程序的结构特点并学习了循环程序的设计和调试方法,本程序完成对一个数组当中大于5,小于0以及大于等于0小于等于5的数的个数的统计,运用了循环程序设计的思想,本实验的原理框图较为复杂,但是框图给出了明确的思路和解题方向,是很好的学习方法。

本次程序设计实验运用了数个跳转指令,JL ,JLE ,跳转指令在循环程序设计过程中具有很重要的特点。

另外在此感谢指导教师的辛勤工作!第二次实验共计两个程序,要求二选一,现在两个题目都做出解答(实验三实验四)如 下,供老师批阅! 电 子 科 技 大 学实 验 报 告实验三学生姓名:郭小明 学 号:20AL<=5?YESRES3 +1 → RES3NORES1 + 1 = RES1一、实验室名称:主楼A2-412二、实验项目名称:串操作及其应用程序的设计与调试运行三、实验原理:串操作程序设计基本规范与调试方法;MASM宏汇编开发环境使用方法循环程序设计与调试方法;分配与使用寄存器的相关方法五、实验目的:1、熟悉串操作指令的基本格式和使用方法。

2、掌握常用的串操作程序的设计方法。

3、熟悉串操作程序的调试运行过程七、实验内容:编程实现:编制一程序,从键盘输入两个长度不同的字符串,设字符串长度小于25个字符。

要求在屏幕上以右边对齐的方式显示出来。

六、实验器材(设备、元器件):PC机,MASM软件平台。

八、实验步骤:程序说明:功能:本程序完成两个字符串的键盘输入并且右对齐输出字符串。

结构:1、在数据段中设置两个存放显示信息的字符串,一个是提示用户输入,另一个是提示显示信息位置2、在数据段中设置两个存放输入字符串的缓冲区3、输入字符串曹勇0AH号DOS功能调用,字符串存入缓冲区时,第二个字节为实际输入字符串的长度,从第三个字节开始为字符串的ASCII码。

4、为了显示右对齐,由于两个字符串缓冲区的长度相同,只需要将两个字符串向缓冲区后面靠齐,再调用09H号DOS功能调用即可达到显示的右对齐。

程序清单:调试说明:将汇编语言(.asm文件)翻译为目标代码程序(.obj文件)(MASM.exe);没有出现错误或者警告,下一步进行链接,连接目标代码程序和库函数代码生成可执行程序文件(.exe文件),(LINK.exe);我们成功生成了test3.exe. 然后输入Debug命令进入调试环境,-是debug命令提示符。

我们进入了debug程序调试环境现在我们反汇编该程序下面是单步调试的过程下面运行该程序:正如我们所料想的。

我们输入-g调试命令之后,提示输入字符串,在输入两个字符串之后就右对齐的输出了两个字符串。

程序框图:开始2 →CXLEA BX,STRING1CX>0?YES显示提示输入字符串的信息输入一个字符串LEA BX,STRING2CX -1 →CXNOLEA BX,STRING1+2调用MOVE子程序字符串右对齐处理CH异或置零获取要传送的字符串字节数送入CLMOV CL,-1[BX]MOV SI,CX ADD SI,BX DEC SI获取传送源串地址SIMOV DI,BX ADD DI,NUM-1 获取传送目的串地址STD设置DF为1,SI每次减去1MOVE九、实验结论:本实验完成了串操作指令及其应用程序的设计与调试运行实验,学习了汇编语言程序设计过程中的数据输入方法和字符串存储特点,以及利用串操作命令来将缓冲区大小一致的两个字符串右对齐输出。

本次实验很有难度,提升了我们设计复杂汇编程序的能力。

在此感谢指导教师的辛勤指导!电 子 科 技 大 学实 验 报 告实验四学生姓名:郭小明 学 号:20一、实验室名称: 主楼A2-412 二、实验项目名称:数制、码制和子程序的编制与调试输出右对齐字符串 结束 LEA BX,STRING2+2调用MOVE 子程序字符串右对齐处理REP MOVSB 进行字符串传送剩余字节填空格返回三、实验原理:数制、码制和子程序设计基本规范与调试方法;MASM宏汇编开发环境使用方法;循环程序设计与调试方法;分配与使用寄存器的相关方法四、实验目的:1、熟悉子程序设计的基本格式和使用方法。

相关文档
最新文档