#程序级接口的应用
姓名:
学号:
班级:计科160
课程:
操作系性质:
时间:2018.09.06
一、实验名称:程序级接口的应用
二、实验目的:认识验证用户与操作系统之间在程序级接口的应用与实现。
三、实验性质:
四、实验原理与内容:
(1)实验原理:操作系统是用户与计算机之间的接口,用户通过操作系统提供的手段和方法可以使用计算机的各类资源,操作系统为用户提供接口分为作业控制级接口和程序级接口,其中作业控制级接口供用户在终糊使用,程序级接口供用户在边城市使用。一些实际的操作系统,例如: AT&T 的UNIX系统、DEC的RSX-IM操作系统、Micoson的Dos/Windows操作系统均为用户提供了丰富的程序级接口调用函数或子例程,这些接口调用例程都表现为操作系统为用户提供的系统调用.所谓的系统调用就是至少包括一条访管指令在内的、有操作系统代替用户完成的某些特定功能的程序段。在汇编程序中用户可以直接使用系统调用,若使用高级语言编写程序,则由编译程序将高级语言中的有关资源操作的语句变换为相应的系统调用,本实验基于操作系统关于操作系统调用的基本理论出发,通过在汇编语言中运用DOS操作系统提供的系统调用,实现一些简单的程序功能,以加强对操作系统在程序级接口的理解。
(2)实验内容:
运用DOS操作系统提供的系统功能调用NT21H实现简单的键盘字符操作。键盘字符操作:
编写一-汇编语言程序,功能要求如下:
1.在程序运行过程中,若通过键盘输入Y,则程序转入标号为YES的程序段显示字符串“YES";2.若输入N,则程序转入标号为NO的程序段显示字符串“NO”;
3.输入其他字符,则程序转入标号为ERROR的程序段显示字符串“ERROR";4. 输入字符Q,终止运行,返回DOS;程序代码:
CODE SEGMENT
ASSUME CS:CODE,DS:CODEORG 100H
START:JMP GET KEYYESSTR DB ' YES ','$'NOSTR DB ' NO ','$'
E DB ' ERROR ','$'GET KEY:MOV AH,01H
GET KEY:MOV AH,01H
INT 21HCMP AL,'Y'JE YES l
CMP AL,'N'JE NO
CMP AL,'Q'JE DONE
JMP ERRORJMP GET KEY
YES:
MOV AX,CSMOV DS,AX
MOV DX,OFFSET YESSTR lMOV AH,09HINT 21H
MOV DL,0AHMOV AH,02INT 21H
MOV DL,0DHMOV AH,02INT 21H
JMP GET KEY
NO:
MOV AX,CS
MOV DS,AX
MOV DX,OFFSET NOSTRMOV AH,09HINT 21H
MOV DL,0AHMOV AH,02INT 21H
MOV DL,0DHMOV AH,02INT 21H
JMP GET KEY
ERROR: MOV AX,CS
MOV DS,AX
MOV DX OFFSETMOV AH,09HINT 21H
MOV DL,0AHMOV AH,02INT 21H
MOV DL,0DHMOV AH,02INT 21H
JMP GET KEY
DONE:
INT 21HCODE ENDS
END START
五、总结与讨论:
总结:
虽然本次实验较为简单,但是通过本次实验我更加了解了什么是接口,什么是程序级接口,以及熟悉了接口的一些指令和应用。