汇编语言与微机原理实验指导书范本
- 格式:doc
- 大小:277.00 KB
- 文档页数:38
实验一汇编语言程序设计(分支/循环)(必做)1.实验目的:(1)熟悉8088/8086指令系统(2)了解程序设计过程(3)掌握汇编语言程序设计和调试方法2.实验内容上机任务1:① 熟悉进入和退出32位控制台和16位DOS环境的方法。
② 创建MASM目录、复制开发软件,生成进入开发环境的快捷方式。
上机任务2:① 熟悉汇编语言的开发过程,实现教材例题2-1(43)程序。
② 掌握数据寻址方式,上机实现教材中的例题2-2(53)程序。
上机任务3:熟悉汇编语言中的数据表达、变量定义和属性,验证教材例题3-1(65)、例题3-3、例题3-5(70)程序,实现习题3.14程序。
上机任务4:① 掌握常用传送和运算指令,验证例题3-9和例题3-12程序。
②首先判断习题3.20每条指令执行后EAX的数值和相关标志状态,写出结果。
然后将其编辑成为一个完整的汇编语言源程序,汇编连接、生成可执行文件。
可以利用本书配套的I/O子程序库,在每条指令之后,调用其中的DISPRF(先调用)和DISPHD,显示6个状态标志位和EAX内容,并核对事先判断的结果。
上机任务5:① 掌握位操作类指令的应用,验证例题3-14程序,实现习题3.28程序。
② 理解串操作指令,验证例题3-16程序。
上机任务6:① 掌握转移指令和分支程序结构。
验证例题4-3程序,实现习题4.5程序。
② 验证例题4-7程序,实现习题4.11程序。
上机任务7:① 掌握循环指令和循环程序结构。
验证例题4-12程序,实现习题4.13程序。
②验证例题4-10程序。
实现如下程序:进行自然数相加(1+2+3+……+N);如果(无符号整数的)累加和用一个32位寄存器存储,求出有效累加和的最大值及N的界限。
上机任务8:① 掌握子程序指令和子程序结构。
验证例题4-15程序,实现习题4.29程序。
②熟悉子程序的参数传递和子程序库方法。
验证例题4-18程序,然后分别使用子程序模块、子程序库和子程序库包含方法生成最终可执行文件。
微机原理与汇编语言前言本课程是一门实践性较强的课程。
教学采用以课堂教学为主,讲授微型计算机的各部分组成、工作过程、互相之间的连接,以及如何使用汇编语言编程,同时使用教学实验设备,通过一定数量的实验,让学生动手完成微型机各部件之间通过接口的联接、编程及简单应用,使学生对微型计算机的主要技术做到深入理解、牢固掌握、灵活应用。
并为一些对计算机硬件要求较高的专业提供了锻炼学生的动手能力以及发挥创造能力的实验平台。
本实验系统在windows窗口界面调试软件和实验演示软件的支持下,极大地激发了学生学习、实验的兴趣,有效地提高了教学质量。
本书的实验内容由汇编语言程序设计实验和硬件接口电路实验两个部分构成。
接口部分实验是针对DVCC-8086H通用微机原理与接口实验系统而设计的两个实验。
通过开设基础性、提高性、综合性实验以及相关的课程设计,来提高学生的动手能力。
实验指导书微机原理与接口技术第1页汇编语言程序设计的实验环境及上机步骤一、实验环境汇编语言程序设计的实验环境如下:1、硬件环境微型计算机一台2、软件环境✧Windows98/2000/XP操作系统✧任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)✧汇编程序(MASM.EXE或TASM.EXE)✧连接程序(LINK.EXE或TLINK.EXE)✧调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。
二、上机实验步骤1、确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
把MASM.EXE、LINK.EXE、DENUG.EXE 和TD.EXE都拷贝到此目录中。
实验一系统认识与数码转换实验一、实验目的1.学习汇编语言的开发过程。
2.熟练掌握DEBUG调试程序。
参考书后附录E二、实验设备PC机一台三、实验内容及步骤1.系统认识实验在内存缓冲区BUFF中存储0-F共16个字节数据,实验参考程序如下:DATA SEGMENTBUFF DB 16 DUP (?);定义数据段DATA ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DI,OFFSET BUFF ;设置缓冲区首址MOV CX,16 ;字节数送入CX中MOV AL,0A1: MOV [DI],AL ;写入一字节INC DI ;修改地址指针INC AL ;修改数据LOOP A1 ;未填完循环MOV AH,4CHINT 21HCODE ENDS ;代码段结束END START ;程序结束实验步骤:(1)把实验用的相关软件拷贝到PC机中,比如D盘的HUIBIAN文件夹(D:\HUIBIAN)。
(2)进入DOS环境(开始\程序\附件\‘C:\命令提示符’),进入路径D:\HUIBIAN。
(3)编辑,启动编辑软件EDIT,输入源程序,检查无误后存盘,如文件名11.ASM。
(4)汇编,即键入MASM 11.ASM回车,通过后应生成文件11.OBJ。
(5)连接,即键入LINK 11.OBJ回车,通过后应生成文件11.EXE。
(6)调试,即键入DEBUG 11.EXE,进入调试软件DEBUG来调试源程序。
DEBUG的用法可参考教材的附录E。
(7)运行程序,观察结果是否正确。
2.数码转换实验将十进制数的ASCⅡ码转换为BCD码。
设五位十进制数的ASCⅡ码已存放在内存缓冲区BUF1中,转换为 BCD 码后,再分别存入内存缓冲区BUF2中。
提示:一字节ASCⅡ码取其低四位即变为BCD码。
实验程序如下:DATA SEGMENTBUF1 DB 31H,32H,33H,34H,35H ;定义数据段BUF2 DB 5 DUP (?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX, 5 ;循环计数器赋初值MOV SI,OFFSET BUF1 ;ASCⅡ码首址MOV DI,OFFSET BUF2 ;BCD码首址A1: MOV AL,[SI] ;送ASCⅡ码至ALCMP AL,3AH ;比较AL与3AJAE A2 ;大于3A则转A2SUB AL,30H ;小于3A则取ASCⅡ码低4位JB A2 ;小于30则转A2MOV [DI],AL ;保存结果A2: INC SIINC DILOOP A1MOV AH,4CHINT 21HCODE ENDSEND START实验步骤(1)输入源程序,进行汇编、连接。
微机原理实验指导书微机实验一DEBUG软件的使用―、实验目的1.学习DEBUG软件的基本使用方法。
2.掌握8088/8086的寻址方式。
3.掌握数据传送、算术运算逻辑运算等类指令的基本操作。
二、实验内容与步骤本实验进行前必须保证系统盘上有DEBUG.EXE文件。
在DOS环境下执行DEBUG命令就在屏幕上显示DEBUG提示符:“-”(短划线)。
D:\*****GK ;以下在字符下加下划线表示键入的内容,K代表回车1.装载文件――(N、L命令)-N EXSE2_3.EXE K ;程序命名为EXSE2_3.EXE -LK2.反汇编命令(U命令) -U K3.显示当前环境和寄存器内容(R命令)-RK4.以十六进制和ASCII码形式显示内存单元内容(D命令)-DK5.修改寄存器内容-R cxK ;修改完后检查是否已修改6.输入数据(可以是指令的机器码或操作数)――即修改内存内容(E 命令)-E 段地址:偏移地址K ;修改完后检查是否已修改7.程序输入――汇编命令(A命令) 输入程序应注意以下几点:(1)输入的数字必须是十六进制数,并且不输入H。
(2)分号后面的内容(注释)不要输入。
(3)不输入标号,条件转移指令中的标号用偏移地址代替。
-AK;以下用K代表回车键,下面加下划线部分代表要键入的内容。
(可以是任意程序)。
重新回到DEBUG提示符“-”状态,表示汇编命令已结束。
8.执行机器指令程序到指定断点――(G命令)-G=段地址:偏移地址(起始)段地址:偏移地址(指定断点)9.程序调试练习修改并调试以下程序,使之完成*****H开始的内存单元中存入31个先自然递增然后又自然递减的数据(00H~0FH~00H)的功能。
程序从CS:0100H开始存放。
调试完成后程序命名为PCS1.EXE并存盘。
程序如下:;PCS1MOV AX,3000H MOV DS,AX MOV SI,0 MOV CL,0FH XOR AX,AX L1:MOV [SI],AL1微机INC AL DEC CL JNZ L1MOV CX,10H L2:MOV [SI],AL INC SI DEC AL LOOP L2 INT 20H 步骤:(1)用A命令输入程序;(2)用反汇编U命令显示程序及目标码:(3)存盘程序命名为PCSl.EXE;(4)用断点执行G命令执行程序到INT 20H指令(不执行INT 20H指令);(5)用D命令检查程序执行后31个数是否已写入存储器3000H:0H 中。
微机原理与汇编语言前言本课程是一门实践性较强的课程。
教学采用以课堂教学为主,讲授微型计算机的各部分组成、工作过程、互相之间的连接,以及如何使用汇编语言编程,同时使用教学实验设备,通过一定数量的实验,让学生动手完成微型机各部件之间通过接口的联接、编程及简单应用,使学生对微型计算机的主要技术做到深入理解、牢固掌握、灵活应用。
并为一些对计算机硬件要求较高的专业提供了锻炼学生的动手能力以及发挥创造能力的实验平台。
本实验系统在windows窗口界面调试软件和实验演示软件的支持下,极大地激发了学生学习、实验的兴趣,有效地提高了教学质量。
本书的实验内容由汇编语言程序设计实验和硬件接口电路实验两个部分构成。
接口部分实验是针对DVCC-8086H通用微机原理与接口实验系统而设计的两个实验。
通过开设基础性、提高性、综合性实验以及相关的课程设计,来提高学生的动手能力。
汇编语言程序设计的实验环境及上机步骤一、实验环境汇编语言程序设计的实验环境如下:1、硬件环境微型计算机一台2、软件环境✧Windows98/2000/XP操作系统✧任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)✧汇编程序(MASM.EXE或TASM.EXE)✧连接程序(LINK.EXE或TLINK.EXE)✧调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。
二、上机实验步骤1、确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
把MASM.EXE、LINK.EXE、DENUG.EXE 和TD.EXE都拷贝到此目录中。
《汇编语言》课程实验指导书《汇编语言》课程实验指导书扬州大学信息学院计算机科学与工程系 2007年5月实验一 DEBUG的使用(一)目的及要求进一步熟悉常用的单、双操作数指令和各种寻址方式的功能及使用格式,初步掌握调试程序DEBUG程序的基本使用方法,为以后的实验打下基础。
(二)实验内容1、用 DEBUG的基本命令,单步执行y=(x-1)2+30的程序,检查每条指令执行后目的地址及有关寄存器的内容。
2、用DEBUG的A命令,键入如下程序段: MOV BX,8275HMOV AX,3412H ;双精度数34128275H——AX、BX ADD BX,92A5HADC AX,2F65H ;加上双精度数2F6592A5H ADD BX,0EAE6HADC AX,9C88H ;加上双精度数9C88EAE6H然后用T命令单步执行,查看每条指令执行后有关寄存器的内容及标志位的变化。
注意:①用A命令时键入的数均为十六进制,故其后的“H”不要键入.②用T命令不适合执行“INT”指令。
3、学会使用DEBUG中的命令:D、G、E、R、T、A、U,为后面调试运行汇编源程序打下基础。
实验二分支、循环程序设计(一)目的及要求1、进一步理解条件转移指令的格式及功能,以便在分支程序中选用合适的指令。
2、提高设计及调试分支程序的能力。
3、掌握循环程序的结构及循环控制方法,提高循环程序的设计能力。
(二)实验内容1、用 DEBUG的基本命令,执行P120例5-2程序。
2、根据以下各题的要求写出其源程序井上机调试运行,显示(或打印)出运行结果。
①从键盘输入一字符串存放在IN-BUF 缓冲区中,然后在下一行以相反顺序显示出来。
②以附录1的格式显示(或打印)出 ASCll码表。
对于无法显示出的格式符或功能符,如空白0、响铃7、换行OAH、回车ODH、空格4DH等均用空格代替。
实验三子程序设计(一)目的及要求1、熟练掌握子程序的设计方法与调用方式,并能正确地书写子程序说明。
实验一数据传送实验目的:1.熟悉8086指令系统的数据传送指令及8086的寻址方式。
2.利用TurboDebugger调试工具来调试汇编语言程序。
实验任务:1.通过下述程序段的输入和执行来熟悉TurboDebugger的使用,并通过显示器屏幕观察程序的执行情况。
练习程序段如下:MOVBL,08HMOVCL,BLMOVAX,03FFHMOVBX,AXMOVDS:[0020H],BX2.用以下程序段将一组数据压入(PUSH)堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。
压栈程序段如下:MOVAX,0102HMOVBX,0304HMOVCX,0506HMOVDX,0708HPUSHAXPUSHBXPUSHCXPUSHDX出栈程序段请自行编写(用不同的出栈顺序)。
3.指出下列指令的错误并加以改正,上机验证之。
(1)MOV[BX],[SI](2)MOVAH,BX(3)MOVAX,[SI][DI](4)MOVBYTEPTR[BX],2000H(5)MOVCS,AX(6)MOVDS,2000H4.设置各寄存器及存储单元的内容如下:(BX)=0010H,(SI)=0001H(10010H)=12H,(10011H)=34H,(10012H)=56H,(10013H)=78H(10120H)=0ABH,(10121H)=0CDH,(10122H)=0EFH说明下列各条指令执行完后AX寄存器中的内容,并上机验证。
(1)MOVAX,1200H(2)MOVAX,BX(3)MOVAX,[0120H](4)MOVAX,[BX](5)MOVAX,0110H[BX](6)MOVAX,[BX][SI](7)MOVAX,0110H[BX][SI]5.将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。
试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。
2050101汇编语⾔实验指导书(学⽣⽤)计算机科学与⼯程学院⽬录⼀、说明 (1)(⼀)实验教学⽬的 (1)(⼆)实验类型、基本要求 (1)(三)实验课时安排 (1)⼆、实验环境 (2)(⼀)硬件环境 (2)(⼆)软件环境 (2)三、上机实验步骤 (3)(⼀)确定源程序的存放⽬录 (3)(⼆)建⽴.ASM源程序 (3)(三)⽤MASM.EXE汇编源程序产⽣.OBJ⽬标⽂件 (3)(四)⽤LINK.EXE产⽣EXE可执⾏⽂件 (5)(五)执⾏程序 (5)(六)DEBUG的启动及其基本命令的使⽤ (6)四、实验项⽬ (8)(⼀)实验⽬的及要求 (8)(⼆)实验内容 (8)(三)实验准备 (8)(⼀)实验⽬的及要求 (9)(⼆)实验内容 (9)(三)实验准备 (9)(⼀)实验⽬的及要求 (9)(⼆)实验内容 (9)(三)实验准备 (10)(⼀)实验⽬的及要求 (10)(⼆)实验内容 (10)(三)实验准备 (10)(⼀)实验⽬的及要求 (10)(⼆)实验内容 (11)(三)实验准备 (11)(⼀)实验教学⽬的汇编语⾔课程为计算机科学与技术、软件⼯程、⽹络⼯程专业的必修课程,主要讲述80x86微机的体系结构和汇编语⾔程序设计⽅法。
为配合这门课程的正常教学,取得良好的教学效果,培养学⽣实际的动⼿能⼒,特设置相应实验。
汇编语⾔实验主要使学⽣掌握DEBUG调试程序中各命令的使⽤⽅法,掌握MASM汇编程序对汇编语⾔源程序进⾏编辑、汇编、连接、装配、调试到运⾏的上机操作⽅法。
本实验⼤纲要求学⽣熟练掌握汇编语⾔指令练习、顺序程序设计、分⽀程序设计、循环程序设计和⼦程序设计,掌握DOS、BIOS 功能调⽤⽅法等。
(⼆)实验类型、基本要求本实验为程序设计类,要求学⽣了解计算机的基本系统结构,了解、掌握汇编语⾔程序的基本设计⽅法。
每⼈⼀台微机,独⽴编程、录⼊、调试、运⾏。
(三)实验课时安排⼆、实验环境汇编语⾔程序设计的实验环境如下:(⼀)硬件环境微型计算机(Intel x86系列CPU)⼀台(⼆)软件环境Windows98/2000/XP操作系统;任意⼀种⽂本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等);汇编程序(MASM.EXE或TASM.EXE);连接程序(LINK.EXE或TLINK.EXE);调试程序(DEBUG.EXE或TD.EXE);⽂本编辑器建议使⽤EDIT或NOTEPAD,汇编程序建议使⽤MASM.EXE,连接程序建议使⽤LINK.EXE,调试程序建议使⽤DEBUG.EXE。
00-微机原理实验指导书-编实验⼀ Emu8086 软件的使⽤⼀、实验⽬的:(1)熟悉汇编语⾔开发环境。
(2)掌握Emu8086 软件使⽤⽅法。
(3)了解汇编语⾔的程序结构、调试⼀个简单的程序。
(4)理解寻址⽅式的意义。
⼆、实验内容及要求:1、Emu8086的使⽤(1)打开桌⾯上的Emu8086 的图标,出现如图所⽰的对话框,选择【继续……】⾸次打开软件,界⾯中默认已有⼀段⼩程序。
该程序实现在屏幕上显⽰三段字符串的功能。
若⽤户需要⾃⼰重新编程,可点击⼯具栏的【新建】图标,出现如图所⽰的对话框,选择编程所采⽤的模板。
选择不同的模板,在程序源代码中会出现如下标记:●#MAKE_COM# 选择COM 模板●#MAKE_BIN# 选择BIN 模板●#MAKE_EXE# 选择EXE 模板●#MAKE_BOOT# 选择BOOT 模板#MAKE_COM#最古⽼的⼀个最简单的可执⾏⽂件格式。
采⽤此格式,源代码应该在100H 后加载(即:源代码之前应有ORG 100H)。
从⽂件的第⼀个字节开始执⾏。
⽀持DOS 和Windows 命令提⽰符。
#MAKE_EXE#⼀种更先进的可执⾏⽂件格式。
源程序代码的规模不限,源代码的分段也不限,但程序中必须包含堆栈段的定义。
您可以选择从新建菜单中的EXE 模板创建⼀个简单的EXE 程序有明确的数据段,堆栈段和代码段的定义。
程序员在源代码中定义程序的⼊⼝点(即开始执⾏的位置),该格式⽀持DOS 和Windows 命令提⽰符。
这两种模板是最常⽤的模板(2)选择COM 模板,点击【确定】,软件出现源代码编辑器的界⾯,如图所⽰:在源代码编辑器的空⽩区域,编写如下⼀段⼩程序:DATA SEGMENTBUF DB 82H,62HDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV DS, DATAMOV AL, BUFSUB AL, BUF+1MOV BUF, ALMOV AH, 4CHINT 21HCODE ENDSEND START代码编写结束,点击菜单【⽂件】【另存为……】,将源代码保存为***.ASM,注意在另存的时候⼀定要存后缀名为asm。
微机原理及汇编语言程序设计实验指导书苗暹胡宁亚计算机实验中心目录实验一 DEBUG的使用 (142)实验二数制转换程序 (146)实验三数组排序程序 (147)实验四数据的输入与输出程序 (149)实验五子程序设计 (150)实验六宏调用程序设计 (151)实验一 DEBUG的使用【实验目的】1.学习使用DEBUG调试程序的各种命令。
2.掌握8088/8086指令系统---数据传送指令、算术指令。
3.掌握用DEBUG调试程序的方法。
4.掌握8088/8086 CPU寄存器的用途和存储器组织及它们之间的关系。
5.掌握内存操作数及寻址方法。
6.掌握汇编语言伪操作:BYTE PTR,WORD PTR。
7.熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。
8.掌握数据传送、算术运算、BCD码调整和循环指令的用法,掌握字符显示的方法。
【实验性质】验证性实验(学时数:2H)【实验内容】一、DEBUG 命令的使用1.敲 DEBUG 进入 DEBUG 环境,显示提示符 '_ '。
2.用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。
3.用命令 E100 30 31 32 …… 3F 将30H~3FH写入地址为100H开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?4.用命令 F100 L0F 'A' 将'A'的ASCII码填入内存,用D命令查看结果。
5.用命令 F110 11F 41 将41H 填入内存,用D命令观察结果并比较。
6.用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。
7.用R命令将AX,BX内容改写为1234H及5678H。
8.用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H(5)A758,347FH二、8088/8086常用指令练习1.传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,34MOV AL,56MOV CX,75ABXCHG AX,CX2)用U命令检查键入的程序,特别注意左边的机器码。
微机原理实验指导书课程类型:考查课专业班级:信息工程与自动化学院通信2013级学年学期:2014—2015 学年上学期课程总学时:16 学时主讲教师:杨青青说明:1. 本次实验为16个学时,以微机原理课程为依托,每两个学时完成一个实验,原理上应该有8份实验报告。
2. 实验报告可采取打印的方式,分析、填写程序等部分应该手写。
实验一汇编程序上机训练-熟悉指令格式一、上机环境:Window7系统,MasmEditor软件二、实验目的:1、学习使用在MasmEditor环境下完成汇编语言的编译、连接、运行、调试等。
2、熟悉80X86的指令系统及汇编语言指令格式。
三、实验步骤:1、编译源程序,生成可执行文件(.exe);2、用DeBug的各个调试指令,观察寄存器窗口的变化。
四、实验内容:参照微机原理课程第三章内容,进行课本例题的上机练习,完成程序的调试,例如单步步入、断点设置等,并在寄存器窗口察看各个寄存器的变化,从而也加深对80X86寻址方式的理解。
上机题目:微机原理教材第三章,例3.1,例3.3,例3.4,例3.6,例3.7,例3.8,例3.11,例3.23,例3.52,例3.64,例3.68,例3.71,例3.73思考题:试编程实现:(1)AL寄存器的第四位清0;(2)BL寄存器的第四位置1;(3)CL寄存器的第四位取反;(4)测试DL寄存器的最低两位是否为0,若是将0送入AL寄存器;否则将1送入AL寄存器。
五、实验报告要求:1.实验报告符合要求格式2.完成思考题的编程实现。
实验例题实验四汇编程序上机训练-多重循环程序设计一、上机环境:Window7系统,MasmEditor软件二、实验目的:1. 学习并熟悉汇编的多重循环程序的设计。
2. 进一步熟悉在MasmEditor环境下完成汇编语言的编译、连接、运行、调试等操作。
三、实验内容:例1:有十位同学的成绩分别是80,100,78,56,79,90,96,88,82,75;编程分别统计低于60分,60-69,70-79,80-89,90-99,100分的人数,并分别存入a100,b90,c80,d70,e60,f50单元中。
实验一汇编语言程序设计一、实验目的:1、掌握Lab6000p实验教学系统基本操作;2、掌握8088/8086汇编语言的基本语法结构;3、熟悉8088/8086汇编语言程序设计基本方法。
二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、实验内容1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。
编程并显示结果:(1)如果数组是无符号数,求出最大值,并显示;(2)如果数组是有符号数,求出最大值,并显示。
2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:”3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:”4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。
在移动的过程中,显示移动次数1, 2 ,3…0AH…64H(16进制-ASCII码并显示子程序)5、键盘输入一个小写字母(a~z),转换成大写字母显示:请输入一个小写字母(a~z):转换后的大写字母是:6、实现4字节无符号数加法程序,并显示结果,如99223344H +99223344H = xxxxxxxxH 考核:1、现场验收2、提交源程序实验二8255可编程并行接口实验一、实验目的:1、掌握8255芯片结构及工作方式;2、熟悉8255并行口扩展的编程。
二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、系统中8255模块Lab6000p实验箱中的8255模块连线如图所示:AD0~AD7、A0、A1、RESET、/WR、/RD已分别连至系统总线DB0~DB7、AB0、AB1、RESET、/IOW、/IOR;8255_CS、PA口、PB口、PC口引出留给用户连接。
四、实验内容和实验步骤1、8255基本输入输出方式――开关控制LED显示1)实验要求开关拨上LED亮,开关拨下LED灭。
《汇编语言》实验指导书计算机学院硬件实验室目录第1部分实验预备知识1.1汇编语言程序的上机操作过程1.2常用DEBUG命令的功能第2部分汇编语言实验实验1 DEBUG基本命令使用 (8)实验2 汇编语言程序的调试与运行 (9)实验3 顺序结构程序设计 (10)实验4分支程序设计 (11)实验5循环程序设计 (12)实验6子程序设计 (15)实验7中断服务程序设计 (16)实验8综合程序设计 (17)实验932位80x86程序设计 (20)第1部分实验预备知识汇编语言程序设计是一门实践性很强的课程。
编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
建立程序、调试程序需要一些应用程序的帮助。
下面先介绍一些与上机操作有关的应用程序,以为第二部分的实验做出必要的准备。
1.1汇编语言程序的上机操作过程一、所需文件为运行汇编语言程序至少要在磁盘上建立以下文件:(编辑程序)或其他编辑软件MASM.EXE (汇编程序)LINK.EXE(连接程序)DEBUG.EXE(调试程序,DOS外部命令文件)二、运行汇编语言程序的操作步骤1.用编辑程序建立.ASM源文件;2.用汇编程序把ASM文件转换成.OBJ文件;3.用连接程序把OBJ文件转换成.EXE文件;4.用DOS命令直接输入文件名就可执行该程序。
三、汇编语言源程序上机操作过程第一步:建立汇编源程序(即:建立文件名.asm)这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。
将源程序代码录入计算机的方法很多,下面将介绍具体方法。
(1)通过windows自带的EDIT.EXE文本编辑器进行输入。
双击图标或在DOS提示符下键入:EDIT回车,这时如果你系统内可调用时,EDIT的操作画面便会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择存盘并给你输入的文件起一个文件名,形式:filename.asm ;(其中filename为你起的文件名,由1-8个字符组成),asm 是为汇编程序识别而必须加上去的,不可更改。
《汇编语言》实验指导书计算机学院网络工程系李冬艳2016. 10. 1实验一汇编语言上机环境及基本操作一、实验目的及要求1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和互相之间的关系。
2.娴熟掌握在计算机上成立、汇编、连结、调试及运转程序的方法。
二、实验内容1.汇编语言源程序的成立本例中给出的程序是要求编写 3+5=8 的程序,并把 8 存入 AL 或 AX中。
设定源程序的文件名为。
( 用任何一个种文本编写器编写此程序,存盘 )或双击桌面的“ Masm for Windows 集成实验环境 2012.5 ”快捷文件图标,进入汇编语言集成开发环境DATASSEGMENT;此处输入数据段代码DATASENDSSTACKSSEGMENT;此处输入货仓段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;======================================MOVAX ,3 ;自己写的代码MovBX ,5 ;自己写的代码ADDAX ,BX ;自己写的代码(只有3条);此处输入代码段代码;======================================MOVAH,4CHINT 21HCODESENDSENDSTART程序输入完成后必定要将源程序言件存入盘中,以便进行汇编及连结,也能够再次调出源程序进行改正。
2.将源程序言件汇编成目标程序言件一般状况下,汇编程序的主要功能有以下 3 点:(1)检查源程序中存在的语法错误,并给犯错误信息。
(2)源程序经汇编后没有错误,则产生目标程序言件,扩展名为.OBJ。
(3)若程序中使用了宏指令,则汇编程序将睁开宏指令。
3.用链接程序生成可履行程序言件经汇编此后产生的目标程序言件(.OBJ 文件)其实不是可履行程序言件,一定经过链接此后,才能成为可履行文件(即扩展名为.EXE)。
《汇编语言》实验指导书计算机学院网络工程系李冬艳2016.10.1实验一汇编语言上机环境及基本操作一、实验目的及要求1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。
2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验内容1.汇编语言源程序的建立本例中给出的程序是要求编写3+5=8的程序,并把8存入AL或AX中。
设定源程序的文件名为ABC.ASM 。
(用任何一个种文本编辑器编写此程序,存盘)或双击桌面的“Masm for Windows 集成实验环境 2012.5”快捷文件图标,进入汇编语言集成开发环境DATAS SEGMENT;此处输入数据段代码DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;======================================MOV AX ,3 ;自己写的代码Mov BX ,5 ;自己写的代码ADD AX ,BX ;自己写的代码(只有3条);此处输入代码段代码;======================================MOV AH,4CHINT 21HCODES ENDSEND START程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。
2.将源程序文件汇编成目标程序文件一般情况下,汇编程序MASM.exe的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。
(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。
(3)若程序中使用了宏指令,则汇编程序将展开宏指令。
3.用链接程序link.exe生成可执行程序文件经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过链接以后,才能成为可执行文件(即扩展名为.EXE)。
汇编语⾔实验指导书《汇编语⾔》实验指导书/实验报告2011年4⽉编制专业:班号:学号:姓名:哈尔滨华德学院计算机应⽤技术系实验⼀DEBUG调试程序和汇编程序的上机操作A DEBUG调试程序的使⽤⼀、实验⽬的学会在DOS环境下使⽤DEBUG调试程序⼆、DEBUG调试程序1.DEBUG调试程序的启动在运⾏菜单下单击DEBUG选项。
2.退出DEBUG—Q↙(回车)3.DEBUG的命令清单(1)显⽰内存单元内容的命令—D格式: D 地址显⽰从指定地址开始的128个字节的内容。
D 范围显⽰指定范围的内存内容。
D 从上次D命令结束位置接着显⽰。
例1:从数据段偏移地址FF40H单元开始,显⽰40H个字节的内容。
D FF40 L 40↙(回车)(2)修改内存单元内容的命令—E格式: E 地址表⽤表中内容替代指定地址开始的内存块内容。
E 地址显⽰指定地址的1个字节的内容,输⼊新值按空格键进⼊到下⼀字节位置;按“—”键返回到上⼀字节;按回车键则结束E命令。
(3)填充命令—F格式: F 范围表⽤表中内容反复赋值以填充指定范围的内存块。
(4)显⽰修改寄存器—R格式:R 显⽰并可修改指定寄存器的内容。
R 寄存器名显⽰并可修改标志寄存器的内容。
RF 显⽰并可修改标志寄存器的内容。
(5)汇编命令—A格式: A 地址从指定地址开始汇编,结果写⼊内存。
A 若不指定地址则从上次A命令结束位置开始汇编。
⾸次则从CS:100H开始汇编。
注:汇编语句中不能使⽤名字。
A命令只识别指令和DB,DW伪指令。
(6)反汇编命令—U格式:U [地址] 从指定地址或上次U命令结束位置开始把内存16字节(40列显⽰格式)或32字节(80列显⽰格式)内容反汇编。
U 范围把指定地址范围的内存块全部进⾏反汇编。
(7)跟踪命令—T格式:T [=地址] 从指定地址(缺省为当前CS:IP地址)执⾏⼀条指令,并显⽰寄存器内容,标志位的状态和下⼀条指令。
T [=地址] 条数单步⽅式指定⾏指定条数的各条指令。
汇编语言与微机原理实验指导书
《汇编语言与微机原理》实验指导书
编写者:董建怀
编写时间: -9-10
实验一.熟悉DOS环境和DEBUG调试软件的使用
一、实验要求: 必做
二、实验类型: 验证
三、实验学时:2
四、实验地点:机房
五、实验目的:
1、.熟悉DOS环境和DEBUG调试软件的使用方法。
2、掌握DEBUG常见命令A、U、D、E、R、T、G的使用,用DEBUG调试简单程序段。
六、实验内容:
(一)、熟悉DOS环境
1、MS-DOS的启动:开始—程序—附件—MS-DOS方式(命令提
示符)。
2、MS-DOS全屏方式和窗口方式的切换:“ALT”+
“ENTER”。
3、MS-DOS工具栏的打开:“ALT”+空格键。
4、MS-DOS方式下的选定、复制和粘贴:利用菜单栏下”编辑”
菜单项中的“标记”、“复制”和“粘贴”的功能来实
现。
5、MS-DOS方式的退出:EXIT。
练习:进入MS-DOS方式,并将屏幕上显示的全部内容复制
到一WORD文档中。
(二)、熟悉一些常见的DOS命令
1、更改盘符,如:C:\WINDOWS>d:并按“ENTER”,显示:D:\>(盘符更改为D:)。
2、建立子目录(文件夹)MD,如C:\>MD FOX (在当前驱动器C盘下创立子目录FOX)。
3、显示当前目录CD,如:C:\>CD WINDOWS,显示:C:\WINDOWS>(即从当前目录C:\进入到C:\WINDOWS目录)。
4、显示磁盘目录的内容DIR,如:C:\WINDOWS>,显示的内容即为当前目录C:\WINDOWS中的所有内容。
5、返回上级目录,如:C:\WINDOWS>cd ..,显示C:\>(即从当前目录C:\WINDOWS返回到它的上级目录C:\)。
练习:在MS-DOS方式下,进入C:\WINDOWS\SYSTEM目录,并显示该目录下的所有内容,然后返回C盘的根目录(C:\)。
(三)、熟悉调试程序DEBUG.EXE的应用,练习DEBUG的常见命令
实践1:利用DEBUG.EXE的A、D、U命令,观察指令MOV AH,[BX+DI+50H],对应的机器码是什么?,该指令是几个字节的指令?并对机器码进行反汇编,观察对应的指令是什么?ADD [2345H][BX][DI],DX的机器码是什么? 该指令是几个字节的指令? 并对机器码进行反汇编,观察对应的指令是什么?
实践2:在DEBUG.EXE方式下(利用A、G命令), 分析两个数
相加(C8H+EFH)的结果,运用的指令为:mov AL,0efh
add AL,0c8h
问题:
(1).运算后两个数的和是多少?(提示:运算的结果在AL寄存器中)
(2).6位状态标志位(AF,CF,OF,PF,SF,ZF)分别是多少?
(3).当相加的两个数均为无符号数时运算的结果是否正确?为什么?
(4).当相加的两个数均为带符号数时运算的结果是否正确?为什么?
(5).相加的两个数分别为5B0AH, 4CA3H时,经过上机再回答(1)---
(4)的问题。
七、写出实验小结,内容包括实验心得(收获)、不足之处和今后应注意的问题。