《计算机组成原理与汇编语言程序设计》—一汇编语言程序设计实验
计算机组成原理和汇编语言实验内容
实验3:数据运算、逻辑运算、移位指令
在调试环境下熟悉指令功能:Fra bibliotek1. MUL、IMUL指令 2. DIV、IDIV指令 3. AND 、OR 、XOR 、NOT指令 4. TEST指令
实验4:分支程序设计
调试教材132页例题4.3.21
实验5:循环程序设计
实验6:子程序设计
实验7:综合程序设计
实验8:输入输出与中断程序设计
实验9:8253定时器应用
实验10:8255综合接口实验
实验2:数据传送/比较大小/多字节加 减
要求:编写完整源程序;调试运行;使用调试工具 “-d”命令查看运行结果。
具体编写程序内容:
程序一(数据传送):数据段中以mem1为起始地址的50 个字节数据依次传送到数据段以mem2为起始地址的连续 字节存储单元。
程序二(比较大小):在20个数中找出最大的数及最小的 数,并将其存放在MAX单元和MIN单元中。
实验1:汇编语言运行环境及调试命令
要求:
1. 安装Masm for Windows 集成实验环境 2. 熟悉汇编语言程序调试过程 3. 掌握常用DEBUG(调试)命令 4. 熟悉常用DOS调用过程与方法
具体内容:
1. 调试教材例题4.1.1 2. 调试教材例题6.1.1 3. 使用XLAT等指令实现查ASCII表
计算机组成原理与汇编 语言程序设计
上机实习内容
上机实习内容安排
实验一:汇编语言运行环境及调试命令 实验二:数据传送、比较大小、多字节加减 实验三:数据运算、逻辑运算、移位 实验四:分支程序设计 实验五:循环程序设计 实验六:子程序设计 实验七:综合程序设计 实验八:输入输出与中断*(视情况开设) 实验九:8253定时器应用*(视情况开设) 实验十:8255综合接口实验*(视情况开设)
汇编语言程序设计实验报告
汇编语言程序设计实验报告汇编语言程序设计实验报告引言:汇编语言是计算机中最基本的语言,通常用于处理硬件相关问题。
在这个实验中,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。
以下是我们的实验报告。
正文:1. 实验环境我们使用的实验环境是Intel 8086微处理器与高级汇编语言。
微处理器使用的是PCB-512主板,而高级汇编语言是MASM。
2. 实验目的我们的实验目的主要是学习汇编语言的基础知识和编程技巧,包括了汇编语言的寄存器、指令、内存管理等方面的知识。
我们的另一个目的是掌握汇编语言的常用编程技巧,能够独立完成一些简单的汇编程序。
3. 实验内容我们的实验内容主要包括以下几点:(1)学习汇编语言的基础知识,包括寄存器、指令、内存管理等方面的知识。
(2)掌握汇编语言的常用编程技巧,包括数据输入输出、运算、跳转等基本操作。
(3)实践用汇编语言编写程序,如计算器、菜单等实用程序。
(4)了解8086微处理器的结构和原理。
4. 实验过程在这个实验过程中,我们完成了以下几个程序:(1)计算器计算器是一个简单的程序,主要用于实现两个数之间的加、减、乘、除等基本运算。
我们通过输入输出指令、存储指令等指令实现了这个程序的功能。
(2)菜单菜单是一个实用程序,主要用于展示一个简单的菜单并实现用户选择相关功能的功能。
我们使用了汇编语言中的跳转指令、输入输出指令等实现了这个程序。
5. 实验结果在我们的实验中,我们成功完成了上述两个程序。
我们通过输入输出指令、存储指令等指令实现了这个程序的功能。
6. 实验总结在这个实验过程中,我们学习汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。
我们通过编写计算器和菜单等简单实用程序,加深了对汇编语言的理解和认识。
我们认为这个实验对我们今后的学习和工作都有很大的帮助。
结论:通过这个实验,我们学习了汇编语言的基础知识和编程技巧,并实践了用汇编语言编写程序的方法和技巧。
计算机组成原理与汇编语言程序设计
计算机组成原理与汇编语言程序设计课程设计实验题目课程设计要求同学们熟悉汇编语言的编程,BIOS中断调用、系统功能调用、磁盘数据的查询、存取等相关知识。
通过课程设计,一方面提高运用汇编语言编程解决实际问题的能力,另一方面使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。
一.课程设计的目的及意义计算机组成原理与汇编语言程序设计的课程设计是对所学课程内容全面、系统的总结、巩固和提高的一项课程实践活动。
根据课程的特点,选择相应的题目,在老师的指导下,由学生独立完成。
课程设计要求同学们熟悉汇编语言的编程,BIOS中断调用、系统功能调用、磁盘数据的查询、存取等相关知识。
通过课程设计,一方面提高运用汇编语言编程解决实际问题的能力,另一方面使同学们更深入的了解计算机系统内部的有关知识,为以后的学习和系统开发奠定良好的基础。
二.基础知识要求1.熟悉汇编指令、宏汇编语言的编程方法2.BIOS中断调用、系统功能中断调用方法3.磁盘文件、及文件内容操作4.磁盘数据的组织和存储管理5.磁盘主引导记录、分区表、系统引导记录、文件分配表、目录表的结构三.设计题目及要求题目的选择是根据汇编语言的特点主要针对系统内部的一些中断调用、系统功能调用、系统数据处理、文件数据处理而设计的,是对所学课程知识较为系统的应用。
由于汇编语言编程相对其他语言编程比较复杂,因此,在设计上应把重点放在程序的功能实现上,不要太在意程序的结构和显示界面的设计。
不要局限于题目所规定的要求,可以灵活裁减、大胆创新,设计出功能更完善的程序。
另外,也可以自己设计题目,同时,提出详细的功能描述,经指导老师审查同意后也可做为课程设计的题目。
题目一:十六进制数算术运算程序HEXOPR难度系数:0.8功能描述:1.从键盘接受两个4位、中间以算术运算符(+、-、*、/)分割、以回车符为结束符的十六进制数;2.根据算术运算符的位置,分别取出两个十六进制数和运算符;3.根据运算符的要求,进行相应的运算;4.用十六进制数形式把结果显示出来。
计算机组成原理:汇编语言程序设计实验
生成可执行文件(.EXE),才能在机器上启
动运行。连接过程通过调用连接程序来完成。
4、调试
程序必须经过试运行和调试才能正式投入
运行,若程序没有错误,前三步完成后即可 运行程序。若程序有错误,或直接在编辑状 态下修改程序,或调用DEBUG程序进行调试, 检查目标程序中的错误,发现错误后可以通 过编辑程序修改源程序,也可以直接修改内 存单元中的目标代码。
5、运行程序
在程序没有错误的情况下就可以运行程序
了。这里只要在DOS状态下键入目标程序
(可执行)文件名即可。
例:
stack segment stack db 20 dup(0) stack ends data segment buf db’how are you!$’ data ends code segment assume cs:code,ds:data,ss:stack start: move ax,data move ds,ax lea dx,buf mov ah,9 Int 21h mov ah,4ch Int 21h code ends end start
2、汇编源文件
源文件(.ASM)必须先由宏汇编程序
(MASM)把它汇编(翻译)为目标文件,
才能在计算机上运行,当计算机运行宏汇编
程序(MASM)时,能够自动地将汇编语言
源程序文件翻译成可以在计算机上运行的目
标程序文件(.OBJ)。
3、连接
为了使目标程序文件能在特定的环境下执
行,经汇编后产生的目标文件需要经过连接
实验一、熟悉上机步骤实验
实验目的
熟悉在PC 机上建立、汇编、调试和运行
8086汇编语言程序的过程。
学习数据传送和算术运算指令的用法。
汇编语言程序设计实验
汇编语言程序设计实验汇编语言程序设计实验是计算机科学与技术相关专业中非常重要的一门实践课程,旨在培养学生对计算机底层工作原理的深刻理解和实际操作能力。
本文将介绍汇编语言程序设计实验的基本目标、内容和实验过程,并分析其重要性和实际应用。
首先,汇编语言程序设计实验的基本目标是使学生掌握基本的汇编语言编程方法和技巧,理解计算机底层工作原理,并具备解决实际问题的能力。
通过实验,学生能够深入了解计算机内部的工作原理和指令系统,了解计算机如何执行指令和处理数据。
此外,实验还能培养学生的逻辑思维能力、问题分析能力和创新能力。
汇编语言程序设计实验的内容通常包括以下几方面:汇编语言基础知识、汇编指令集和程序设计实践。
首先,学生需要学习和掌握汇编语言的基本知识,包括数据类型、寻址方式、指令格式和寄存器等。
其次,学生需要熟悉常用的汇编指令集,如数据传送指令、算术与逻辑指令、转移指令和输入输出指令等。
最后,通过编写汇编语言程序,解决一些简单的实际问题,如数值计算、字符串处理、图形显示等。
在进行汇编语言程序设计实验时,学生通常需要经过以下几个步骤:问题分析、算法设计、程序编写和调试测试。
首先,学生需要对实验问题进行仔细分析,明确问题的要求和限制条件。
其次,学生需要设计符合问题要求的算法,确定算法的输入输出和执行过程。
然后,学生需要使用汇编语言编写程序代码,注意程序的逻辑结构和语法规范。
最后,学生需要对程序进行调试和测试,确保程序能够正确地运行和输出预期结果。
汇编语言程序设计实验在计算机科学与技术领域具有重要的意义和实际应用。
首先,汇编语言是理解计算机底层工作原理和指令系统的基础,对于从事底层开发、系统优化和调试工作的人员来说,掌握汇编语言是必不可少的技能。
其次,汇编语言程序设计可以帮助学生深入理解计算机体系结构和操作系统的工作原理,提高对高级语言编程的理解和掌握能力。
最后,汇编语言程序设计实验还能培养学生的问题解决能力、团队合作精神和创新思维,为学生今后的科研工作和职业生涯打下良好的基础。
计算机组成原理与汇编语言实验报告一
《计算机组成原理与汇编语言》实验报告一一、实验目的:编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
通过本次实验,学习、掌握运行汇编程序的相关知识。
二、实验内容:1、熟悉实验用微机的软、硬件配置(1)硬件:Intel Celeron 500GHz CPU、128M内存(8M作共享显存)、intel810芯片主板、集成i752显卡、maxtro20G硬盘、ps/2接口鼠标、PS/2接口键盘。
(2)软件:DOS 操作系统Windows98 seMASM汇编语言程序2、熟悉运行汇编语言所需的应用程序汇编程序使MASM连接程序使用LINK程序调试程序使用DEBUG程序3、熟悉汇编语言源程序上机操作过程(1)编辑源文件(选择可使用的文本编辑器)(2)汇编源程序文件(3)连接目标文件(4)运行可执行文件4、汇编操作举例用edit编辑myprog.asm文件;(见下图)用MASM.exe编译myprog.asm生成myprog.obj文件;C:\masm\bin> masm.exe由图中可以看出:0 个警告错误0个严格错误汇编通过,生成mygrog.obj目标文件(如果有严格错误,汇编不能通过,必须返回编辑状态更改程序。
)用link.exe命令链接myhprog.obj生成myprog.exe文件!C:\masm\bin> link.exeC:\masm\bin> myprog.exe运行程序结果为:屏幕显示“Hi! This is a dollar sign terminated string.”三、实验总结:1、可以在DOS或Windows状态编辑汇编源程序2、可以使用EDIT 或记事本编辑汇编源程序,源程序必须以.asm为扩展名。
在记事本中保存文件时,可以加双引号“myprog.asm”,文件名就不会出现myprog.asm.txt的错误3、熟悉相关的DOS 命令cd 进入子目录mkdir 建立子目录xcopy *.* /s 拷贝当前目录下所有文件及子目录format a: 格式化A盘4、在Windows 系统下运行汇编程序,有时会有问题,建议大家熟悉DOS命令,DOS编辑工具,在DOS状态下运行汇编程序。
(完整word版)广工计算机组成原理实验报告
计算机组成原理实验报告课程名称计算机组成原理实验学院计算机专业班级学号学生姓名指导教师张2017 年 6 月21计算机学院专业班学号姓名协作者教师评定_______________实验题目实验一基础汇编语言程序设计实验一:基础汇编语言程序设计实验1实验目的●学习和了解TEC-XP+教学实验监控命令的用法;●学习和了解TEC-XP+教学实验系统的指令系统;●学习简单的TEC-XP+教学实验系统汇编程序设计。
2实验设备及器材●工作良好的PC机;●TEC-XP+教学实验系统和仿真终端软件PCEC。
3实验说明和原理实验原理在于汇编语言能够直接控制底层硬件的状态,通过简单的汇编指令查看、显示、修改寄存器、存储器等硬件内容。
实验箱正如一集成的开发板,而我们正是通过基础的汇编语言对开发板进行使用和学习,过程中我们不仅需要运用汇编语言的知识,还需要结合数字逻辑中所学的关于存储器、触发器等基本器件的原理,通过串口通讯,实现程序的烧录,实验箱与PC端的通讯。
4实验内容1)学习联机使用TEC-XP+教学实验系统和仿真终端软件PCEC;2)学习使用WINDOWS界面的串口通讯软件;3)使用监控程序的R命令显示/修改寄存器内容、D命令显示存储内容、E命令修改存储内容;4)使用A命令写一小段汇编程序,U命令反汇编输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。
5实验步骤1)准备一台串口工作良好的PC机器;2)将TEC-XP+放在实验台上,打开实验箱的盖子,确定电源处于断开状态;3)将黑色的电源线一段接220V交流电源,另一端插在TEC-XP+实验箱的电源插座里;4)取出通讯线,将通讯线的9芯插头接在TEC-XP+实验箱上的串口"COM1"或"COM2"上,另一端接到PC机的串口上;5)将TEC-XP+实验系统左下方的六个黑色的控制机器运行状态的开关置于正确的位置,再找个实验中开关应置为001100(连续、内存读指令、组合逻辑、联机、16位、MACH),6)控制开关的功能在开关上、下方有标识;开关拨向上方表示"1",拨向下方表示"0","X"表示任意,其他实验相同;7)打开电源,船型开关盒5V电源指示灯亮;8)在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为"1"或"2",其他的设置一般不用改动,直接回车即可; (8)按一下"RESET"按键,再按一下"START"按键,主机上显示:6实验截图及思考题【例3】计算1到10的累加和。
汇编语言程序设计实验报告
汇编语言程序设计实验报告汇编语言程序设计实验报告引言汇编语言是一种低级语言,用于编写计算机的底层程序。
在计算机科学与技术领域,汇编语言程序设计是一门重要的课程。
本篇实验报告将介绍我在汇编语言程序设计实验中所学到的知识和经验。
实验目的本次实验的目的是通过编写汇编语言程序,加深对计算机底层原理的理解,并掌握汇编语言的基本语法和编程技巧。
实验环境在实验中,我使用了一台运行Windows操作系统的计算机,并安装了MASM 汇编语言开发工具。
实验内容1. 汇编语言基础知识在实验开始前,我先学习了汇编语言的基础知识。
汇编语言使用助记符来代表机器指令,与机器指令一一对应。
了解了寄存器、内存和指令的概念,并学会了如何使用它们来编写汇编程序。
2. 汇编语言程序设计在实验中,我编写了一些简单的汇编语言程序,以加深对汇编语言的理解和应用。
例如,我编写了一个计算两个数之和的程序,通过将两个数存储在寄存器中,并使用加法指令进行运算,最后将结果保存到指定的内存位置。
3. 汇编语言程序调试在编写汇编语言程序时,我遇到了一些错误和问题。
为了解决这些问题,我学会了使用调试工具来定位错误。
通过逐步执行程序,并观察寄存器和内存的变化,我能够找到程序中的错误并进行修正。
4. 汇编语言程序优化在实验中,我也尝试了对汇编语言程序进行优化,以提高程序的性能和效率。
通过减少指令的数量和使用更高效的算法,我成功地改进了程序的执行速度。
实验心得通过本次实验,我深刻体会到了汇编语言程序设计的重要性和挑战性。
汇编语言虽然复杂,但它能够直接操作计算机的硬件,提供了更高的灵活性和效率。
通过编写汇编语言程序,我不仅加深了对计算机底层原理的理解,还提高了问题解决和调试能力。
总结汇编语言程序设计实验是一门重要的课程,它为我们提供了学习计算机底层原理和编程技巧的机会。
通过实验,我掌握了汇编语言的基本知识和技巧,并成功编写和优化了汇编语言程序。
这次实验不仅加深了我的理论知识,还培养了我的实际操作能力。
汇编语言程序设计实验篇
汇编语言程序设计实验篇在计算机科学领域中,汇编语言是一种低级编程语言,它直接操作计算机硬件资源,具有高效性和灵活性。
本篇文章将介绍汇编语言程序设计实验的相关内容,包括实验目的、实验环境、实验步骤和实验总结。
实验目的汇编语言程序设计实验的主要目的是使学生掌握使用汇编语言编写程序的基本技能。
通过实践操作,学生将理论知识应用于实际情境中,深化对汇编语言的理解,并培养一定的编程能力。
实验环境在进行汇编语言程序设计实验之前,学生需要准备适当的实验环境。
以下是必备的硬件和软件资源:1. 计算机:一台能够运行汇编语言的计算机。
2. 汇编语言编辑器:如MASM、NASM等,用于编辑和编译汇编语言程序。
3. 调试器:如调试版本的DOSBox、CodeView等,用于调试程序,定位和解决错误。
实验步骤在进行汇编语言程序设计实验时,学生可以按照以下步骤进行操作:1. 确定实验内容:根据实验要求,选择适当的汇编语言程序设计任务,如编写一个计算两个数相加的程序。
2. 编写程序源代码:使用汇编语言编辑器,编写程序的源代码,包括程序的指令、数据段和代码段等。
3. 编译程序:使用编辑器提供的编译指令,将源代码编译成机器码,生成可执行文件。
4. 调试程序:使用调试器,对程序进行调试,定位和解决错误,确保程序能够正常运行。
5. 运行程序:运行已调试通过的程序,验证程序的正确性,并观察程序的执行结果。
6. 优化程序:对程序进行进一步优化,提高程序的执行效率和性能。
7. 总结实验结果:根据实验过程和结果,总结实验经验和教训,思考改进和拓展的可能性。
实验总结通过进行汇编语言程序设计实验,学生可以获得以下收获:1. 熟悉汇编语言:实验使学生更加熟悉汇编语言的语法和指令,增强对计算机底层运行机制的理解。
2. 培养编程能力:实验锻炼学生的编程能力和解决问题的能力,提高他们的逻辑思维和分析能力。
3. 提升实践能力:实验让学生通过实践操作,将理论知识应用于实际情境中,增强实践能力和动手能力。
计算机组成原理和汇编语言实验报告
计算机组成原理和汇编语言实验报告专业班级:计算机0801班实验一、汇编:冒泡排序1、实验内容:定义一个字数组序列:1567,25,46,4560,678,1234,32540。
用冒泡排序对该数组由小到大排序,并将排序结果以十进制数字的形式在屏幕上显示出来。
2、实验原理:程序首先定义了要排序的数组,然后对其在原数组内进行冒泡排序。
冒泡排序是基于交换排序的一种算法,它依次两两比较待排序的元素,若为逆序则进行交换。
每趟冒泡都将待排元素序列中的最大量交换到最后位置。
冒泡过程共需进行n(n-1)/2次比较,直到全部元素有序为止。
数组有序以后,进行输出的工作。
依次从小到大,将元素转换为十进制数的ASCII码值来输出,并在输出每个数时,增加输出回车换行来使输出结果清晰。
3、实验代码:;-------------------------PROGRAM BEGINS---------------------------;----------------------------DEFINE DS-------------------------------DATA SEGMENTTIME DW 0 ;THE LOOP TIME OF THE OUTER LOOPCHU DW 10 ;USED TO CONVERT THE NUM TO DECIMAL DTY DW 1567,25,46,4560,678,1234,32540 ,'$' ;DEFINE THE ARRARYRESULT DB ?DATA ENDS;-----------------------------DEFINE CS-----------------------------CODE SEGMENT "CODE"ASSUME CS:CODE ,DS:DATASTART:MOV AX,DATAMOV DS,AXAGAIN:MOV CX, 6 ;THE LOOP NUM OF THE INER LOOP MOV BP,12 ;NUM OF THE BYTESAGAIN1:MOV AX,DTY[BP]CMP DTY[BP-2],AX ;CMP WITH THE FORMER BYTEJBE NEXT ;JMP IF BELOW OR EQUALXCHG AX,DTY[BP-2] ;IF ABOVE,THEN CHANGEXCHG AX,DTY[BP]NEXT:SUB BP,2 ;POINT TO THE FORMER ONEDEC CXCMP CX,TIME ;IS IT DONE?JE NEXT1 ;DONEJMP AGAIN1 ;NOT DONE YETNEXT1:INC TIMECMP TIME,6 ;IS IT DONE?JE NEXT3 ;DONEJMP AGAIN ;NOT DONE YETNEXT3:MOV TIME,0 ;RENEW THE DATAMOV BP,0CHANGE:MOV RESULT[5],13 ;FINISH OF THE NUMMOV RESULT[6],10MOV RESULT[7],'$'MOV AX,WORD PTR DTY[BP] ;THE DW TO OUTPUTMOV CX,5 ;LOOP NUMMOV BX,4 ;TWO BITS * 4 =WORD CHANGE1:MOV DX,0DIV CHU ;DX:AX/CHUMOV RESULT[BX],DL ;THE REMAINDERADD RESULT[BX],30H ;TO DECIMALDEC BX ;POINT TO THE FORMER TWO BITS LOOP CHANGE1MOV CX,4MOV BX,0FIND0:CMP RESULT[BX], '0' ;IS IT ZERO?JNE FINAL ;NOT ZEROADD BX,1 ;ZEROLOOP FIND0FINAL:LEA DX, RESULT[BX] ;OUTPUTMOV AH,09HINT 21HADD BP, 2 ;POINT TO NEXT WORDINC TIMECMP TIME,7 ;IS IT DONE?JNE CHANGE ;NOT NONEMOV AH,4CHINT 21HCODE ENDSEND START;--------------------PROGRAM ENDS--------------------实验二算术逻辑运算实验一、实验目的1.掌握简单运算器的组成以及数据传送通路。
《计算机组成原理-汇编语言程序设计》实验指导书
Move the cursor backward.Move th e cursor forward . Macth...$No ma tch!..$......... .+@P8n..X.@.6... >..l9..s&t...;.k ...2.4.N!K.u.@z"
4
-Q↙ 至此,程序已调试完毕。为了进一步说明 DEBUG 命令的使用方法,我们再次重复上述程序的调试 过程,只是改用 E、A 和 F 命令来修改数据区的内容。必须注意:由于在 DEBUG 状态下只能修改 有关内存单元的内容,因此,重新用 DEBUG 装入程序时,仍是原来未修改的程序。操作如下: DEBUG A01.EXE↙ -G 0B↙ AX=19EE BX=0000 CX=007A DX=0000 SP=FFFC BP=0000 SI=0000 DI=0000 DS=19EE ES=19EE SS=19EE CS=19F3 IP=000B NV UP DI PL ZR NA PE NC 19F3:000B 8D36000 LEA SI,[0000] -D 0↙ 19EE:0000 4D 6F 76 65 20 74 68 65-20 63 75 72 73 6F 72 20 Move the cursor 19EE:0010 62 61 63 6B 77 61 72 64-2E 4D 6F 76 65 20 74 68 backward.Move th 19EE:0020 65 20 63 75 72 73 6F 72-20 62 61 63 6B 77 61 72 e cursor backwar 19EE:0030 64 2E 4D 61 74 63 68 2E-0D 0A 24 4E 6F 20 6D 61 d.Macth...$No ma 19EE:0040 74 63 68 21 0D 0A 24 00-00 00 00 00 00 00 00 00 tch!..$......... 19EE:0050 1E 2B C0 50 B8 EE 19 8E-D8 8E C0 8D 36 00 00 8D .+@P8n..X.@.6... 19EE:0060 3E 19 00 FC B9 19 00 F3-A6 74 06 8D 16 3B 00 EB >..l9..s&t...;.k 19EE:0070 04 8D 16 32 00 B4 09 CD-21 CB FF 75 01 40 5A 22 ...2.4.N!K.u.@z" 用 E 命令将数据区的字符串 backward.修改为 forward. ,操作如下: -E29 'forward.'20↙ 再次用 D 命令查看修改结果: -D 0↙ 19EE:0000 4D 6F 76 65 20 74 68 65-20 63 75 72 73 6F 72 20 19EE:0010 62 61 63 6B 77 61 72 64-2E 4D 6F 76 65 20 74 68 19EE:0020 65 20 63 75 72 73 6F 72-20 66 6F 72 77 61 72 64 19EE:0030 2E 20 4D 61 74 63 68 2E-0D 0A 24 4E 6F 20 6D 61 19EE:0040 74 63 68 21 0D 0A 24 00-00 00 00 00 00 00 00 00 19EE:0050 1E 2B C0 50 B8 EE 19 8E-D8 8E C0 8D 36 00 00 19EE:0060 3E 19 00 FC B9 19 00 F3-A6 74 06 8D 16 3B 00 EB 19EE:0070 04 8D 16 32 00 B4 09 CD-21 CB FF 75 01 40 5A 22 用 G 命令继续运行程序,结果为: -G↙ No match!
计算机组成原理实验报告-西北农林科技大学
西北农林科技大学信息工程学院计算机组成原理实习报告班级信息管理与信息系统年级 11级2班姓名刘佳学号 2011013316实验一基础汇编语言程序设计实验目的1.学习和了解TEC-XP教学实验系统监控命令的用法;2.学习和了解TEC-XP教学实验系统的指令系统;3.学习简单的TEC-XP教学实验系统汇编程序设计。
实验内容1.学习联机使用TEC-XP教学实验系统和仿真终端软件PCEC。
2.使用监控程序R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容;3.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。
实验步骤1.用R命令查看寄存器内容或修改寄存器的内容1)在命令行提示符状态下输入:R↙;显示寄存器的内容注:寄存器的内容在运行程序或执行命令后会发生变化。
2)在命令行提示符状态下输入:R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有—个或数个空格主机显示:寄存器原值:_在后面输入新的值0036再用R命令显示寄存器内容,则R0的内容变为0036。
2.用D命令显示存储器内容在命令行提示符状态下输入:D 2000↙会显示从2000H地址开始的连续128个字的内容;连续使用不带参数的D命令,起始地址会自动加128(即80H)。
3.用E命令修改存储器内容在命令行提示符状态下输入:E 2000↙屏幕显示:2000 地址单元的原有内容:光标在此闪烁等待输入输入0000依次改变地址单元2001~2005的内容为:1111 2222 3333 4444 5555注意:用E命令连续修改内存单元的值时,每修改完—个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。
4.用D命令显示这几个单元的内容D 2000↙可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。
汇编语言程序设计实验报告
二、实验内容
P131作业29。
实验三子程序设计实验
一、实验目的
1.掌握汇编语言源程序子程序设计方法;
2.会使用CV软件工具。
二、实验内容
把实验二作为子程序,编写主程序来对能否构成三角形进行10判断。
实验四宏汇编程序设计实验
一、实验目的
1.掌握宏汇编程序编程技术及宏调用的方法;
2.主模块程序完成子程序的调用,及判断结果的显示,程序名为:ZHU.asm。
实验五混合程序的开发实验
一、实验目的
1.了解混合调用中的参数设置;
2.掌握混合调用的方法;
二、实验内容
P156第5题。
实验一单指令功能测试实验
一、实验目的
1.会使用DEBUG软件;
2.利用DEBUG单步执行功能测试指令的执行。
二、实验内容
判断从键盘输入的ASCII码数字,若是小于等于5,显示“C”,若是大于5显示“D”。假设输入的只可能是0~9数字。
实验二完整的汇编语言程序设计实验
一、实验目的
1.掌握完整的汇编语言源程序的设计方法;
实验五多模块程序设计实验
一、实验目的
1.掌握汇编段的属性的含义;
2.掌握利用LINK将多模块连接起来的方法;
3.掌握利用库文件将多模块连接起来的方法。
二、实验内容
假设内存单元中有三个字a、b和c,编写一个程序,它可判断它们能否构成一个三角形,若能,显示“Y”,否则,显示“N”;
具体要求:
1.三角形的判断程序为一模块子程序,程序名为:ABC.asm。入口参数:字节变量a、b、c。出口参数:字节变量d=1是三角形,d=0不是三角形。
2.了解COM文件的编程方法及特点;
实验五汇编语言程序设计实验(一)
实验五汇编语言程序设计实验(一)一、实验目的1、了解和掌握汇编语言子程序和主程序的设计。
2、掌握循环程序的设计。
3、掌握汇编语言主程序与子程序的调用和参数传递。
4、进一步熟悉在PC机上建立,汇编,链接,调试和运行8086、8088汇编语言程序的过程。
二、实验内容1、复习汇编语言源程序的上机过程:2、编写一个完整程序(包含循环设计和子程序设计)在以strg为首地址的缓冲区中存放着1个字符串,以-1作为结束标志,编程统计字符串长度,并将结果存入lenth单元。
要求统计字符串用子程序完成。
data segmentstrg db ‘abcd’,-1lenth dw ?data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axlea dx,strgcall scountmov lenth,bxmov ah,4chint 21hscount proc nearpush sixor bx,bxmov si,dxnext:cmp byte ptr[si],-1jz overinc bxinc sijmp nextover:pop siretscount endpcode endsend start三、实验器材IBM PC 微机一台四、实验要求1、正确理解本次实验的目的,内容和原理。
2、能编写相应的程序五、实验报告要求完成下面任务:从键盘输入1个长度小于100的字符串,存入以buff 为首地址的缓冲区,其中如有大写字母,要求用子程序转换成小写字母,字符串以回车键作为结束。
写出操作步骤,程序清单,程序注释,实验现象。
汇编语言程序设计实验报告
汇编语言程序设计实验报告汇编语言程序设计实验报告引言:汇编语言是一种底层的计算机语言,通过直接操作计算机的硬件和寄存器来实现程序的功能。
在本次实验中,我们学习了汇编语言的基本语法和编程技巧,并通过实践编写了一些简单的程序。
本报告将对实验过程和结果进行总结和分析。
一、实验目的本次实验的主要目的是让我们掌握汇编语言的基本语法和操作方式,培养我们对计算机底层运行机制的理解能力。
通过编写汇编程序,我们可以更深入地了解计算机的运行原理,并且可以更加高效地编写一些底层程序。
二、实验环境本次实验使用的是Windows操作系统,并且我们使用了MASM汇编器来编译和运行我们的汇编程序。
MASM是一款经典的汇编语言开发工具,具有强大的功能和广泛的应用领域。
三、实验内容在本次实验中,我们完成了以下几个任务:1. 编写一个简单的汇编程序,实现两个数字的相加功能。
2. 编写一个汇编程序,实现对一个字符串进行反转。
3. 编写一个汇编程序,实现对一个数组进行排序。
四、实验步骤1. 首先,我们学习了汇编语言的基本语法和指令集。
了解了汇编语言中的寄存器、指令和内存等概念,并且学会了如何使用它们来编写程序。
2. 接着,我们开始编写第一个程序,实现两个数字的相加功能。
通过学习汇编语言中的加法指令,我们可以将两个数字加载到寄存器中,并且使用相应的指令进行相加操作。
3. 然后,我们编写了第二个程序,实现对一个字符串进行反转。
通过学习汇编语言中的循环和条件判断指令,我们可以逐个字符地读取字符串,并且将它们按照相反的顺序存储到新的内存空间中。
4. 最后,我们编写了第三个程序,实现对一个数组进行排序。
通过学习汇编语言中的比较和交换指令,我们可以对数组中的元素进行排序,并且将排序结果存储到新的内存空间中。
五、实验结果通过以上的实验步骤,我们成功地完成了编写汇编程序的任务,并且得到了正确的结果。
我们的程序可以实现两个数字的相加、字符串的反转和数组的排序功能,并且运行速度较快,效果较好。
计算机组成原理与汇编语言程序设计1
《计算机组成原理与汇编语言程序设计》课程说明本课程是计算机应用专业的一门必修课。
先修课为计算机电路基础(1)。
通过本课程的学习,使学生通过对计算机各功能部件的逻辑组成、工作机制、程序设计的学习及实验,建立完备的单台计算机整机概念;通过汇编语言程序设计的学习,了解所用计算机硬件及使用软件扩大功能的实现方法,并为后继课程及今后工作中解决实际问题,打下一个良好的基础。
通过实验课的学习,使学生受到软硬件实验的初步训练,实验操作能力得到提高。
掌握编程的基本方法,培养分析和解决问题的能力,以及掌握使用计算机的基本技能,为学习本专业后继课程和进行与硬件有关的技术工作打好基础。
第一章绪论1.掌握:存储程序工作方式,信息的数字化表示。
存储程序工作方式的工作要点是:采用二进制代码表示数据和指令。
采用存储程序工作方式,即事先编制程序,事先存执程序,自动连续执行程序。
由存储器、运算器、控制器、输入设备、输出设备组成计算机硬件系统。
2.理解:计算机的特点,主要性能指标的含意,硬件系统的典型结构,软件系统的主要内容。
计算机的特点:能在程序控制下自动连续地工作、运算速度快、运算精度高、强大的信息存储能力、通用性强应用领域广泛。
主要性能指标:基本字长、数据通路宽度、运算速度、主存容量、外存容量、配置的外部设备及性能、系统软件配置。
硬件系统:CPU、主存、外存、输入/输出设备、总线、接口。
软件系统:系统软件、应用软件。
3.了解:硬软组成的层次结构关系。
用户程序语言处理程序及各种软件资源操作系统机器语言(指令系统)硬核(指令微操作级、数字逻辑电路)一、第1章习题与作业1、填空题1、计算机系统是由硬件系统和系统组成。
2、冯.诺依曼计算机的三个基本特征是:(1)计算机由控制器、、存储器和等五大部件组成;(2);(3)具备程序存储方式。
3、运算器的基本功能是,控制器的基本功能是对指令进行译码后产生控制信号。
4、冯.诺依曼计算机体制核心思想的三个要点分别是:采用二进制代码表示指令和数据、采用和计算机的硬件系统由存储器、输入设备、输出设备、五大部件组成。
汇编语言编程实验报告
汇编语言编程实验报告汇编语言程序设计实验报告(一)汇编语言程序设计实验报告(一)一、预备知识汇编语言程序设计是一门实践性很强的课程。
编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
二、实验目的1、掌握实验运行汇编语言所用的计算机机型2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。
)3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。
4、LINK连接程序5、DEBUG调试程序三、汇编语言源程序上机操作过程2、编辑源文件根据给定的任务,可编写程序。
如果经过检查认为所编程序无错时,就可在计算机上通过编辑程序建立源程序文件了。
一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的源程序无误为止,然后以一个源程序文件(ASM文件)存盘。
将包含QE文件的工作磁盘插入驱动器A:。
进入QEA\QE进入全屏幕后可以开始编程。
文件名取为Myprog。
asm;Ddisplystring (09H)CODESEGMENTPUBLICASSUME CS:CODE,DS:CODEORG 100HSTART:JMP BEGINMSG DB‘Hi ! This ia a dollar sign terminated string.’,’$’BEGIN:MOV AX,CS ;set up to display messageMOV DS,AXMOV DX,OFFSET,SG ;set up to display messageMOV AH,09H;display string function requestINT 21H ;call DOSMOV AH ,4CH ;terminate propram funct requestINT 21H ;Call DOSCODE ENDS;end of code segmentEND START;strat is the entry point输入完毕后,按ALT---X,存盘返回DOS3、汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。
计算机组成原理实验1-汇编语言实验
微处理器与接口技术实验指导实验一监控程序与汇编语言程序设计实验一、实验要求1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。
2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。
3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。
4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。
善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。
二、实验目的【1】学习和了解TEC-XP16教学实验系统监控命令的用法;【2】学习和了解TEC-XP16教学实验系统的指令系统;【3】学习简单的TEC-XP16教学实验系统汇编程序设计。
三、实验注意事项(一)实验箱检查【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。
【2】五位控制开关的功能示意图如下:【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】(二)软件操作注意事项【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。
即选定的是用户实验时通讯线接的PC机的端口;【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试;【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试;【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。
(三)联机通讯失败自检如果上述的硬件和软件的操作都正确,联机却依旧失败,可以进行如下测试:【1】测试PC机的串口是否能正常工作,或是换一台PC或换同一台PC的另一个串口再试,在换串口时要将TEC-XP16实验系统断电,换完后重新启动实验系统和软件;【2】检查机器上的元器件插接是否正确(建议用户对照能够正常通讯的实验系统进行详细检查),有没有被学生动过,尤其是扩展内存和扩展I/O接口时,芯片方向是否插对,片选信号有没有连接;【3】检查相应的短路子是否连接正确;【4】建议教师预留一台运行正常的TEC-XP16实验系统备用,机器出问题后可以对照检查。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机组成原理与汇编语言程序设计》
——汇编语言程序设计实验说明
一;准备:将程序拷贝。
主要是汇编程序MASM,其中包括:
(1)MASM:宏汇编程序;(2)LINK:连接程序;(3)CREF:索引程序;(4)LIB:库管理程序
备注:要求学生从教学平台上下载MASM文件夹,并将其中的四个文件拷贝到D:\123\。
本节实验为汇编语言第一次上机操作,请先按如下操作,学习MASM宏汇编语言的整个操作过程。
二、上机操作过程:(阅读《实验教材》P41的汇编语言程序设计实验有关内容。
)
1、编辑源文件:(P42)
将实验一中的源程序以 sy1-1.asm文件名保存在D:\123\。
形成*.ASM文件(*为通配符)可以有多种方法,—是可以有行编辑EDlT或QE中编辑程序并以*.ASM文件保存,具体内容参加《实验教材》P43。
二是在“写字板”、“记事本”或“word”文档输入源程序,并以*.asm文件保存。
教材中要求运用编辑程序(QE),该程序较麻烦,同学们可采用“记事本”录入程序,因为通过“记事本”保存的文件是纯文本文件(*.txt,例如:sy-1.txt),不含有任何格式。
再重命名为sy-1.asm。
有时计算机可能看不到后缀名,可取查看-文件夹选项-查看-显示所有文件,就可显示每个文件的后缀名,重命名即可。
2、汇编源程序文件:(P53)
(1)转换到MS—DOS状态下;最好在纯DOS状态下,即开始——关闭系统——重新启动并切换到MS-DOS方式,退出DOS可输入EXIT回车;
(2)第二步:将已经编辑好的源文件(如:sy-1.asm)拷贝到文件夹123中;切换到D:\123中,操作如下:(红字为同学们输入的内容,输完回车即可)
C:\WINDOWS>D:\
D:>CD 123
D:\123>masm
以下步骤参见<实验>教材P53的(四.操作过程),产生目标文件sy-1.obj。
最后,如出现0 Warning Errors 和0 Severs Errors,即源程序中无错误,汇编成功。
以上操作完成后,可用目录显示命令显示文件123下的文件。
如果出现错误就不能产生目标文件sy-1.obj,就不能完成下面的操作,可采用DEBUG调试程序调试。
(3)D:\123>dir(查看123的文件,可以看到源程序文件sy-1.asm和目标文件sy-1.obj)
3、连接目标文件:(P57,产生可执行文件sy-1.exe)
D:\hbsy>link
参见P58页LINK的使用与操作
4、运行可执行文件:
D:\hbsy>sy-1.exe
即可看到程序的运行结果,有程序需要输入数据才能看到结果。
5、利用调试程序(DEBUG)来调试:(P62―80)
源程序出现错误可利用DEBUG查找错误。
以上内容为学习汇编语言程序最基本的操作,学习如何“汇编”一个源程序。
后面还涉及调试程序DEBUG的内容请同学按实验教材的要求去学习。
三;实验内容:《实验教材》第五章汇编语言程序设计实验
1.分支循环程序实验 (实验—); 2.子程序实验(实验二)
3.算术运算程序实验 (实验三); 4。
字符处理程序实验(实验四)
请同学按实验的要求去做实验和填写实验报告。
四个实验均要求上交实验报告,并记入平时成绩。
四、相关知识:文件的性质
1.目标程序—*.OBJ。
在这个程序文件中,操作码部分变成了机器码,可由机器直接识别,但地址操作数部分只是一个可浮动的相对地址,而不是内存中的绝对地址,需要用LINK文件连接产生可执行文件* .EXE。
2.列表文件—*. LST。
此文件包含源程序及其注释、地址和目标代码(即汇编后产生的目标程序* .OBJ)。
它们都是用ASCII在码表示的文本文件,需要时可在DoS下用TYPE命令将其打印出来以供查阅。
3.交叉索引文件—*.CRF。
是用来了解源程序中每个符号是在哪里定义的,哪些指令用到了这个符号,给出该指令的行号。
交叉索引文件对较大的程序很有用,可以用来帮助查错。
要把交叉索引文件打印出来,必须在DOS下用CREF程序生命叉索引列表文件,然后用TYPE命令打印。
4.连接程序(LINK)的作用:
(1)由汇编程序生成的目标文件仍然来能执行,必须经过连接程序LINK连接以后,才能变成可执行文件。
因为目标程序文件中有些指令地址还未能完全确定,冈此仍未成为可用DOD装入的程序形式。
(2)如果要将几个目标文件组合成一个功能更强的实用文件,甚至要和某些高级语言的目标程序文件进行组合。
这些都要由连接程序L1NK来完成。
通过连接程序可将若干个目标文件连接成一个地址可浮动的、可由DOS装入程序对地址来定位的可执行文什。