- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理实验总论
《微机原理》实验3
一、实验目的:通过本节课实验,使学生掌握DOS中断调用的格式以及DOS常用中断调用;掌握宏指令的定义及调用格式;掌握8086模块程序的定义及调用格式、对段间模块程序调用进行汇编的命令格式;掌握程序正常结束返回DOS的两种方法。
二、实验内容:
1.DOS中断调用格式
2.宏指令的定义及调用
3.8086模块程序的定义、调用(段内、段间)、对模块程序的汇编命令格式。
4.8086汇编语言程序正常结束返回DOS的两种方法.
三、实验操作步骤
1.DOS中断调用的三个步骤
第一步:置入口参数
第二步:中断功能号送AH
第三步:执行 INT 21H
2.常用DOS中断调用讲解
(1)1 号功能调用 (没有入口参数)
格式:MOV AH,1
INT 21H
功能:接收键盘输入一个字符,其字符的ASCII值保存在AL寄存器中。
(出口参数在AL中)
(2)2号功能调用
格式:MOV DL,字符或字符的ASCII值
MOV AH,2
INT 21H
功能:在显示屏幕上显示输出DL中的字符。
实验实验1:MOV DL,41H
MOV AH,2
INT 21H
指令运行结果:在屏幕上显示字符 A。
(3)5号功能
格式:MOV DL,字符或字符的ASCII值
MOV AH,2
INT 21H
功能:在打印机上输出DL中的字符。
实验实验2:MOV DL,41H
MOV AH,5
INT 21H
指令运行结果:在打印机上输出字符 A。
(4)9号功能
格式:LEA DX, 字符串变量名
MOV AH,9
INT 21H
功能:在屏幕上显示在指定“字符串变量名”存储的一串字符串。
(5)10号功能(或0AH 号功能)
格式:LEA DX, 字符串变量名
MOV AH,10
INT 21H
功能:接收键盘输入的一串字符保存在指定的字符串变量名(变量缓冲区中)。特别说明:假设变量名为A,则A+0 存放最大输入个数;A+1处存放实际输入的字符数;A+2处存放实际输入的字符。
实验实例3: 键盘输入一串字符(不超过20个),显示回车换行后,屏幕重显刚才输入的这串字符。
实验程序清单:
DATA SEGMENT
A DB 20 , 0 , 20 DUP(‘$’)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX , DATA
MOV DS , AX
LEA DX, A
MOV AH,10
INT 21H
MOV DL,0DH ;显示回车符
MOV AH , 2
INT 21H
MOV DL, 0AH ;显示换行符
MOV AH, 2
INT 21H
LEA DX, A+2 ; 重显输入的字符串
MOV AH,9
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END START
四、宏指令的定义及调用格式
1、宏指令的定义格式:
宏指令名 MACRO [参数表]
宏指令体
ENDM
功能:定义一条宏指令,宏指令一般放在汇编语言源程序的开头部份定义,宏指令看上去与子程序类似,其本质与子程序完全一样,宏调用时,把定义宏指令程序段插入在宏调用处;宏调用只是节约用户程序的书写长度,增加用户程序的可读性,不节约程序在内存的存储空间。子程序调用时(CALL 子程序名),保护好现场断点,转向执行子程序,遇到子程序返回指令RET ,返回断点处继续执行原来的程序,程序汇编时,节约了用户程序存储空间。
2、宏指令调用格式
宏指令名 [参数表]
实验实例4: 利用定义宏,编写一个显示十进制数(不超过65535)的8086宏汇编语言程序。
程序清单如下:
OUTP MACRO X ;宏定义开始
MOV CX,0
文档评论(0)