预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第一部分汇编语言程序设计 实验一熟悉、使用DEBUG调试工具 一.上机目的: 1.了解并逐步熟悉汇编语言的编辑方法及特点. 2.复习8088汇编语言的段结构、常用的指令与伪指令、存储空间的分配等。 3.掌握汇编语言的编辑、汇编及连接的过程。 4.了解并逐步掌握运用DEBUG进行调试汇编语言程序。 二.实验内容: 1.运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为 *.ASM。 2.运用MASM﹒EXE文件进行汇编,修改发现的各种语法错误,直至正确,形成*.OBJ 文件。 3.运用LINK.EXE文件进行连接,形成*.EXE文件。 4.仔细阅读附录中的DEBUG部分,掌握各种命令的所有方法。 5.运用DEBUG。EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内 容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。 6.再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG 的设置断点,单步执行等功能发现错误所在并加以改正。 程序清单: 多字节非压缩型BCD数除法(88754/6=14792) DATASEGMENT ADB8,8,7,5,4 BDB6 CDB5DUP(0) NEQU5 DATAENDS CODESEGMENT ASSUMECS:CODE;DS:DATA;ES:DATA, STARTMOVAX,DATA MOVDS,AX MOVES,AX CLD LEASI,A LEBDI,C MOVCX,N MOVAH,0 LP1:LODSB AAD DIVB STOSB LOOPLP1 MOVCX,N LEADI,C LP2:MOVDL,[DI] MOVAH,2开始 INT21H DECDI设置被除数、商的地址指针 LOOPLP2设置单位除法次数计数器 MOVAH,4CH INT21H取被除数一位作十进制调整 CODE:ENDS ENDSTART作字节除法、存商 N被除数各位已除完? Y 显示运算结果 结束 实验二设计汇编语言程序 一.8088提供了一套字符串处理指令,这些指令的特点是:在使用前必须先 在指定的寄存器中存入源字符串和目的字符串的首地址及相关字符数,在处理 过程中还可以使用REP重复操作前缀。灵活使用这些特点,将会给编程带来 很大的方便。 8088对算术运算只提供了基本指令。实际编程中需要我们加以扩展,这也要求我们 很好地掌握。 二.实验内容 1.字符串统计。 在数据段中建立一个缓冲区BUFFER,变量VER,编程使得程序具有如下功能:从 键盘输入一个子字符串存入VER,从键盘输入包含一个或几个子字符串的字符串 存入BUFFER。统计BUFFER中的字符串含有多少个子字符串以及每个子字符串 的位置。 2.双字乘法程序。 设计一个程序实现32位带符号双精度数乘法运算。由于只有8位和16位的乘法指 令。因此32位乘法运算是不能直接用指令实现的。但可以用16位乘法指令,通过 4次想乘然后把部分积想加。对于带符号数,可以先根据绝对值求得积。然后判断 积的符号,若积为负数,应将其用补码表示。 三.实验报告: 1.提供所设计的完整的程序清单。 2.记录调试过程中发现的问题及解决方法。 3.可以考虑如何设计更好功能的程序。 提示:可以参考的程序流程图 被乘数存放:NUM1乘数存放:NUM2 积数存放:MRLT乘积符号标志存放:SIGN 变量NUM1,NUM2,MRLT均用DW定义。 子程序入口 AX←NUM1 开始DX:AX←AX*NUM2 乘积符号标志SIGN=0MRLT←AX,MRLT+2←DX 被乘数>0?YAX←NUM1+2 N 被乘数取补DX:AX←AX*NUM2 SIGN标志取反MRLT+2←AX+MRLT+2,MRLT+4←DX+C 乘数>0?YAX←NUM1 N 乘数取补DX:AX←AX*NUM2+2 SIGN标志取反MRLT+2←AX+MRLT+2,MRLT+4←DX+C 调用32位无符号乘法子程序保存进位 SIGN=0?YAX←NUM1+2 N 乘积取补DX:AX←AX*NUM2+2 结束恢复进位 32位带符号数乘法流程图MRLT+4←AX+MRLT+4,MRLT+6←DX+C RET 32位无符号乘法子程序流程图 实验三中值滤波与均值滤波 一.在一般工业控制装置中,最常遇到的问题就是干扰。由于有工业干扰信号的存在,使得 从工业现场检测的数据出错,对于不同类型的干扰可以采用不同的办法来排除。其中对 于脉冲干扰常采用中值滤波和均值滤波的方法来解决能获得较好的效果。因为脉冲干扰 是随机叠加在被检测信号之上的,它们造成的后果是使有用信号的幅度增大或变小。我 们在采样程序