微机实验指导书0425_微机实验指导书
微机实验指导书0425由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“微机实验指导书”。
实验一 汇编语言程序设计(分支/循环)
1.实验目的:
(1)熟悉8088/8086指令系统
(2)了解程序设计过程
(3)掌握汇编语言程序设计和调试方法 2.实验内容 上机任务1:
① 熟悉进入和退出32位控制台和16位DOS环境的方法。
② 创建MASM目录、复制开发软件,生成进入开发环境的快捷方式。上机任务2:
① 熟悉汇编语言的开发过程,实现教材例题2-1程序。② 掌握数据寻址方式,上机实现教材中的例题2-2程序。上机任务3:
熟悉汇编语言中的数据表达、变量定义和属性,验证教材例题3-
1、例题3-
3、例题3-5程序,实现习题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程序,然后分别使用子程序模块、子程序库和子程序库包含方法生成最终可执行文件。3.实验准备
(1)仔细复习课前关于汇编语言指令系统的PPT,对所需要使用的命令需要知道书本中的位置,并能进行简单的编程。
(2)对书本中的部分例子要仔细阅读,搞清楚实际含义,理解程序内容。(3)熟练使用MASM程序。4.实验步骤
(1)进入MASM程序。
(2)根据任务需求,在MASM下验证及编制相应的程序。
(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。5.实验报告要求
(1)如何进入MASM程序。
(2)至少验证一个书本程序,说明如何用命令行与批处理两种形式完成程序的执行。(3)根据要求,至少编制一个程序,并对每行程序进行说明性注释
实验二 子程序设计
1.实验目的:
(1)进一步熟悉8088/8086指令系统与程序分支跳转循环等结构
(2)了解子程序设计的要求,和设计过程(3)掌握汇编语言中子程序设计的方法和调用方法 2.实验内容 上机任务1:
① 掌握转移指令和分支程序结构。验证例题4-3程序,实现习题4.5程序。
② 验证例题4-7程序,实现习题4.11程序。上机任务2:
① 掌握循环指令和循环程序结构。验证例题4-12程序,实现习题4.13程序。
② 验证例题4-10程序。实现如下程序:进行自然数相加(1+2+3+……+N);如果(无符号整数的)累加和用一个32位寄存器存储,求出有效累加和的最大值及N的界限。上机任务3:
① 掌握子程序指令和子程序结构。验证例题4-15程序,实现习题4.29程序。
② 熟悉子程序的参数传递和子程序库方法。验证例题4-18程序,然后分别使用子程序模块、子程序库和子程序库包含方法生成最终可执行文件。3.实验准备
(1)再次仔细复习课前关于汇编语言指令系统的PPT,对所需要使用的命令需要知道书本中的位置,并能进行简单的编程。同时复习循环分支程序的构成及结构,并学会熟练使用
(2)对书本中的子程序部分例子进行仔细阅读,理解程序内容。(3)掌握书本中汇编语言中子程序的编写规则。4.实验步骤
(1)进入MASM程序。
(2)根据任务需求,在MASM下验证及编制相应的程序。
(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。5.实验报告要求
(1)如何进入MASM程序。
(2)至少验证一个书本程序,说明如何用命令行与批处理两种形式完成程序的执行。(3)根据要求,至少编制一个程序,并对每行程序进行说明性注释
实验三 字符处理程序设计
1.实验目的:
(1)熟悉串操作指令的功能与应用;
(2)掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。2.实验内容 上机任务1:
① 掌握字符的键盘输入与屏幕显示。实现如下程序:编写一个汇编程序,将键盘输入的小写字母用大写字母显示出来,若输入的是非字符则显示NOT CHAR,若输入字符“x”,则退出。实现习题4.11的程序。
② 掌握串传送指令。验证例题3-16程序,实现字符串的复制。上机任务2:
① 掌握循环指令和循环程序结构。不利用串传送指令,实现例题3-16的功能。② 验证例题4-11程序。实现字符文字的加密与解密。上机任务3:
① 验证例题4-12程序,实现字符个数统计程序,实现习题4.13的程序。② 验证例题4-13程序,剔出一个以0结尾的字符串中的空格字符。3.实验准备
(1)仔细复习关于汇编语言指令系统的PPT,对所需要使用的命令需要知道书本中的位置,并能进行简单的编程。同时复习字符串操作指令的应用,并学会熟练使用(2)对书本中的相关字符处理程序进行仔细阅读,理解程序内容。
(3)掌握书本中字符处理程序(大小写转化、字符数统计、字符剔出等)的编写规则。4.实验步骤
(1)进入MASM程序。
(2)根据任务需求,在MASM下验证及编制相应的程序。
(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。5.实验报告要求
(1)如何进入MASM程序。
(2)至少验证一个书本程序,说明如何用命令行与批处理两种形式完成程序的执行。(3)根据要求,至少编制一个程序,并对每行程序进行说明性注释 实验四 :1输入输出接口2微机串口通信编程(二选一)
1.实验目的:
(1)通过编程调试,实现汇编语言对计算机端口的调用;
(2)熟悉理解指令in/out的使用;调用扬声器端口,实现扬声器发音,掌握输入/输出指令实现汇编语言对计算机端口的调用;(3)熟悉理解端口指令in/out的使用;
(4)了解计算机串并行通信技术,实现单个或连续的串行数据传输。2.实验内容
1.利用扬声器控制原理,编写一个简易乐器程序。
当按下1~8数字键时,分别发出连续的中音1~7和高音(i对应频率依次为524Hz,588Hz,660Hz,698Hz,784Hz,880Hz,988Hz和1048Hz); 当按下其他键时暂停发音;
当按下ESC键(ASCII码为1BH),程序返回操作系统。参考程序;数据段
table dw 2277,2138,1808,1709,1522,1356,1208,1139
;对应中音1~7和高音i的定时器记数值;代码段
mov al,0b6h;设置定时器2工作方式 out 43h,al call readc;等待按键 again:
cmp al,'1';判断是否为数字1~8 jb next cmp al,'8' ja next sub al,30h;1~8的ASCII码转换为二进制数
sub al,1;再减1,将数字1~8变为0~7,以便查表 xor ah,ah shl ax,1;乘以2 mov bx,ax;记数值表是16位数据,无法采用xlat指令
mov ax,table[bx];取出对应的记数值 out 42h,al;设置定时器2的记数值 mov al,ah
out 42h,al in al,61h;打开扬声器声音
or al,03h;使D1D0=PB1PB0=11B,其他位不变 out 61h,al jmp again;连续发声,直到按下另一个键
next:push ax
in al,61h;不是数字1~8,则关闭扬声器声音 and al,0fch out 61h,al pop ax cmp al,1bh;判断是否为ESC键(对应ASCII码1bh);使D1D0=PB1PB0=00b,其他位不变
jne again;不是ESC,继续;否则程序执行结束
2.首先采用自循环查询方式在本机上实现例题8-3。
3.然后购买或制作一个用于零调制解调器连接的RS-232C电缆,修改例题8-3采用正常的查询方式实现两台微机的通信。3.实验准备
(1)仔细阅读本章中关于输入输出接口技术的内容,掌握输出输出接口对外设的直接控制技术
(2)仔细阅读串行通讯接口的结构,寄存器编程方法,对串行通讯包括双机通讯数量掌握。
(3)准备好双绞的串口线一根及声卡可控的微机。4.实验步骤
(1)进入MASM程序。
(2)根据任务需求,在MASM下验证及编制相应的程序。
(3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。5.实验报告要求
(1)如何进入MASM程序。
(2)根据要求,至少编制一个程序,并对每行程序进行说明性注释