77范文网 - 专业文章范例文档资料分享平台

微机原理软件实验指导书(4)

来源:网络收集 时间:1970-01-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

设地址指针, 取串长度?CX KEY内容?AL 搜索字串 找到否? N Y CX—1 串搜索 N 完否? 以要删除的数据的地址 为目的地址,下一个数 Y 据的地址为源地址,以 剩下的数据个数为传送 置 次数进行传送 FLAGE单元 返回 4、思考题

① 计算机钢琴程序中,INT 21 的作用是什么?指令DIV WORD PTR[TABLE+BX]中为什么要用操作符WORD PTR?延时子程序DELAY中为什么要把AX、CX压入栈?

② 在求最大和最小值的程序中,有指令MOV MINVAL,AL和MOV MAX MAXVAL,AL将第一个数存入这两个单元,可以用哪两个立即数直接存入这两个单元也可达到同样效果? ③ 若求无符号数据块的最大和最小值,那么程序要作哪些修改? ④ 删除一个升序或降序字符串中一个字符时,程序应如何修改可使在找不到这个字符时搜集次数减少?

四、实验报告要求

1.对所有程序写上较详细的注释。 2.整理出实验中数据和运行结果。

3.总结DEBUG程序、MASM宏汇编、LINK连接程序的调试程序的方法和经验。 4.根据思考题写出答案和运行结果。

16

实验三 DOS系统功能调用及模块化程序设计

一、实验目的

2、 熟悉DOS系统中基本功能子程序的作用及其调用方法。

3、 结合DOS系统中键盘和显示功能子程序的调用和汇编语言源程序结构设计有关程序。 4、 掌握复杂程序的设计思想—模块化程序设计的方法。

二、实验设备

PC机一台,装有DOS基本系统和MASM宏汇编软件。

三、实验内容及步骤

(一)DOS键盘、显示基本功能子程序调用

DOS提供了许多系统功能子程序可由程序设计者调用,其中最基本的是键盘和显示操作功能的调用,具体调用的方法可参阅教科书。

1、 显示缓冲区的字符串 1)实验程序: DSEG SEGMENT STRING DB ‘Welcome to DONG HUA University!’,0dH,0aH,’$’ DSEG ENDS STACK SEGMENT PARA STACK ‘STACK’ DB 256 DUP (?) STACK ENDS CSEG SEGMENT MAIN PROC FAR ASSUME CS: CSEG, DS: DSEG SS: STACK START: PUSH DS MOV AX, 0 PUSH AX MOV AH, 9 MOV DX, SEG STRING MOV DS, DX MOV DX, OFFSET STRING INT 21H RET

17

MAIN ENDP CSEG ENDS END START 2) 实验步骤: (1)建立源程序文件。

(2)用MASM宏汇编程序和LINK连接程序生成执行程序。 (3)运行执行程序,输入不同字母,观察结果。

2、键盘输入小写字母,显示器显示大写字母 1)实验程序:

CSEG SEGMENT MAIN PROC FAR ASSUME CS:CSEG START:PUSH DS MOV AX, 0 PUSH AX BEGIN: MOV AH,1

INT 21H

CMP AL, ‘a’ JB STOP CMP AL, ‘z’ JA STOP SUB AL, 20H MOV DL, AL MOV AH, 2 INT 21H JMP BEGIN STOP: RET MAIN ENDP CSEG ENDS END START

2) 实验步骤: (1)建立源程序文件。

(2)用MASM宏汇编程序和LINK连接程序生成执行程序。 (3)运行执行程序,输入不同字母,观察结果。

3、从键盘输入一个二位十进制的月份数(01-12),显示相应月份的英文缩写名

1)程序及其结构

程序采用子程序的结构形式,子程序有:将输入的二位月份数转换为二进制数的子程序;从字符

18

表中查找相应的英文缩写的子程序;将月份的英文字母显示在屏幕上的子程序。 程序如下: DATASG THREE MONIN ALFMON MONTAB DATASG CODESG MAIN MAIN INPUT RETURN: INPUT:

SEGMENT PARA ‘DATA’ DB 3 DB 3,4 DUP(?) DB ‘???’,’$’ DB ‘JAN’,’FEB’,’MAR’,’APR’,’MAY’,JUN’ DB ‘JUL’,’AUG’,’SEP’, ’OCT’,’NOV’,’DEC’ ENDS SEGMENT PARA ‘CODE’ ASSUME CS:CODESG,DS:DATASG PROC FAR PUSH DS SUB AX, AX PUSH AX

MOV AX, DATASG

MOV DS, AX MOV ES, AX CALL INPUT CALL LOCATE CALL DISPLAY RET ENDP PROC NEAR ; 键盘输入并将ASCⅡ码转换二进制数的子程序PUSH DX MOV AH, 0AH ; 键盘输入月份数 LEA DX, MONIN INT 21H MOV AH, MONIN+2 ; 将月份数字的ASCⅡ码取入AH和AL MOV AL, MONIN+3 XOR AX, 3030H ; 将ASCⅡ码转换为BCD码 CMP AH, 00 JZ RETURN SUB AH, AH ADD AL, 10 POP DX RET ENDP 19

LOCATE LOCATE: DISPLAY DISPLAY CODESG

PROC

PUSH PUSH PUSH LEA DEC MUL ADD MOV CLD LEA REP POP POP POP RET ENDP PROC PUSH LEA MOV INT POP RET ENDP ENDS END

NEAR ; 将月份数字转换为英文缩写字母的子程序 SI DI CX

SI, MONTAB AL THREE SI, AX CX, 03 DI, ALFMON MOVSB CX DI SI

NEAR ; DX

DX, ALFMON AH, 09 21H DX

屏幕显示子程序

MAIN

(二)采用DOS功能调用设计源程序,并运行调试程序

1、十进制加法和结果显示程序(自行设计) 1)程序设计要求

将数据段DSEG中的ADDOP1定义的双字变量的4位十进制数和附加段ESEG中的ADDOP2定义的双字变量的4位十进制数相加,和存放于数据段DSEG中的SUM中,采用DOS显示功能调用将和显示在屏幕上。 2) 实验步骤: (1)建立源程序文件。

(2)用MASM宏汇编程序和LINK连接程序生成执行程序。

20

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理软件实验指导书(4)在线全文阅读。

微机原理软件实验指导书(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/295664.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: