操作系统的系统调用(MASM)
来源:互联网 发布:centos 6.5mysql 编辑:程序博客网 时间:2024/05/01 23:17
获取系统时间并显示源程序outtime.asm
DATA SEGMENT
MESSGE DB OAH,'GET TIME OK!!!!',OAH,ODH,'S'
DATA ENDS
STACK SEGMECT PARA STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
GODE SEGMENT PARA
MAIN PROC FAR
ASSUME CS:CODE, DS:DATA, SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AH,2CH;
INT 21H
MOV BL,3;
PUSH DX;
PUSH CX;
CYCLE: POP AX;
MOV DH,AL;
MOV AL,AH;
MOV AH,0;
MOV BH,10
MOV BH,10
DIV BH;
CALL OUTTIME;
MOV dl,':'
MOV AH,02h
INT 21h;
MOV AL,DH;
MOV AH,0;
MOV BH,10
DIV BH;
CALL OUTTIME;
MOV dl,''
MOV ah,02h;
DEC BL
CMP BL,1
JNBE CYCLE;
MOV DX,OFFSET MESSGE
MOV AH,9
INT 21H;
JMP START;
MOV AH,4CH
INT 21H
MAIN ENDP
OUTTIME PROC NEAR
MOV BH,AL;
MOV CH,AH;
MOV CL,3
NEXT: ADD BH,30H;
MOV DL,BH
MOV AH,02H
INT 21H;
MOV BH,CH;
DEC CL
CMP CL,1
JNBE NEXT;
RET
OUTTIME ENDP
CODE ENDS
END START
2.实验步骤
(1)首先确认磁盘上有汇编工具MASM,该汇编工具保存于D盘根目录的MASM文件夹,如无该工具,请自行复制建立。
(2)利用编辑工具输入源程序。在WINDOWS环境下,通过点击“开始”菜单→“程序”→“附件”→“记事本”,打开记事本的编辑窗口。 (3)将上述提供的源程序清单逐行输入。
(4)将输入的源程序另存为:outtime.asm文件。点击记事本左上角的“文件”菜单→点击“另存为”窗口,在“保存在”栏目处选择保存文件的位置。“文件名”栏目处输入:outtime.asm,在“保存类型”栏目处选择“所有文件”。操作无误后点击“保存”按钮。
(5)点击“开始”菜单→“程序”→“附件”→“命令提示符”,打开MS-DOS窗口。在光标处输入D:后回车,将当前目录转向D盘根目录。
(6)将MASM目录定为当前目录,键入命令:cd masm 并回车。
(7)对源程序进行汇编,键人命令:masm outtime.masm并回车,然后按提示操作。目标程序名取默认值,即为:outtime.obj。
(8)链接目标程序。键入命令:link outtime.obj并回车,然后按提示操作。可执行文件名默认值,即为;outtime.exe。
(9)运行可执行文件。键入命令:outtime.exe并回车,可在屏幕上看到运行结果。
(10)按TRCL+C键结束程序运行。
(11)退出操作系统命令界面。键入命令:exit按回车即可。
(二)通过系统调用测试操作系统的版本号
1. 参考源程序(本例功能:测试系统版本是否为 5.XX)
;PVE.ASM
DATA SEGMENT
MESSGE DB 0AH,0DH,'NOT DOS 5.XX VERSION',0AH,0DH,'$'
MESSGEL DB 0AH,0DH,'DOS 5.XX VERSION OK!!!',0AH,0DH,'$'
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT PARA
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AH,30H
INT 21H
CMP AL,5
JE VEROK
MOV AH,09H
MOV DX,OFFSET MESSGE
INT 21H
MOV AH,4CH
INT 21H
VEROK: MOV DX,OFFSE MESSGEL
MOV AH,09
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
- 操作系统的系统调用(MASM)
- (操作系统)系统调用
- 随笔:操作系统:系统调用的实现
- 操作系统from清华大学向勇,陈渝 笔记(二)操作系统的启动、中断、异常、系统调用
- (操作系统课程项目)系统调用
- 【操作系统】添加系统调用
- 现代操作系统笔记2(操作系统概念和系统调用)
- 向 wmware workstation pro 的 MS-DOS 操作系统中导入文件(masm debug edit)(详细图解)
- 《现代操作系统》(第3版)读书笔记(1)之系统调用(关键词:操作系统/系统调用)
- 让你的MASM支持__fastcall调用方式
- 让你的MASM支持__fastcall调用方式
- 操作系统总结(二)系统调用及系统结构
- 宏汇编MASM系统
- nasm和masm的差别(珍珠)
- 操作系统 基于clone()系统调用
- 操作系统实验 修改系统调用
- 操作系统实验之系统调用
- 操作系统实验-系统调用
- VS一些快捷键
- 我们到底该怎么学技术?如何成为一个优秀的技术人员?
- 短作业优先调度算法(C++代码)
- 设计模式(ZZ)
- AjaxPro.2.dll 基本应用(转)
- 操作系统的系统调用(MASM)
- 资源分配之银行家算法(含随机调度算法C++代码,此银行家算法,没考虑死锁的发生)
- 设计ASP.NET应用程序的七大绝招
- 内存对齐与 struct型数据的内存布局
- 基础入门——设计模式概述
- //使用hibernate,实现group by and sum and count
- C# 中的 @ 符号的使用及注意事项
- L. W. ZJU 2007筹备会议一:纪要
- JScript写的ASP程序有哪些?