谁知道int 21h,子功能5fh的调用

boywang 2001-04-26 04:24:00
...全文
213 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
GameMaster 2001-07-29
  • 打赏
  • 举报
回复
哇,好啊
hp1200 2001-07-29
  • 打赏
  • 举报
回复
up
Kelvin9230 2001-06-29
  • 打赏
  • 举报
回复
For more details, please read "Ralf Brown's Interrupt List" If you need this doc, look for it on the internet and you will find out, or you can get from me.
seedundersnow 2001-05-31
  • 打赏
  • 举报
回复
呵呵,夸张
nelsonc 2001-05-24
  • 打赏
  • 举报
回复
哪个子功能?
fury 2001-05-24
  • 打赏
  • 举报
回复
Int 21/AX=5F00h - DOS 3.1+ network - GET REDIRECTION MODE
Int 21/AX=5F01h - DOS 3.1+ network - SET REDIRECTION MODE
Int 21/AX=5F02h - DOS 3.1+ network - GET REDIRECTION LIST ENTRY
Int 21/AX=5F03h - DOS 3.1+ network - REDIRECT DEVICE
Int 21/AX=5F04h - DOS 3.1+ network - CANCEL REDIRECTION
Int 21/AX=5F05h - DOS 4.0+ network - GET EXTENDED REDIRECTION LIST ENTRY
Int 21/AX=5F05h - STARLITE architecture - MAP LOCAL DRIVE LETTER TO REMOTE FILE SYSTEM
Int 21/AX=5F06h - Network - GET FULL REDIRECTION LIST
Int 21/AX=5F06h - STARLITE architecture - UNMAP DRIVE LETTER
Int 21/AX=5F07h - DOS 5+ - ENABLE DRIVE
Int 21/AX=5F07h - STARLITE architecture - MAKE NAMED OBJECT AVAILABLE ON NETWORK
Int 21/AX=5F08h - DOS 5+ - DISABLE DRIVE
Int 21/AX=5F08h - STARLITE architecture - REMOVE GLOBAL NETWORK NAME OF OBJECT
Int 21/AX=5F09h - STARLITE architecture - BIND TO NETWORK DEVICE
Int 21/AX=5F0Ah - STARLITE architecture - DETACH FROM NETWORK DEVICE
Int 21/AX=5F30h - LAN Manager Enhanced DOS - GET REDIRECTOR VERSION
Int 21/AX=5F32h - Named Pipes - LOCAL DosQNmPipeInfo
Int 21/AX=5F33h - Named Pipes - LOCAL DosQNmPHandState
Int 21/AX=5F34h - Named Pipes - LOCAL DosSetNmPHandState
Int 21/AX=5F35h - Named Pipes - LOCAL DosPeekNmPipe
Int 21/AX=5F36h - Named Pipes - LOCAL DosTransactNmPipe
Int 21/AX=5F37h - Named Pipes - DosCallNmPipe
Int 21/AX=5F38h - Named Pipes - LOCAL DosWaitNmPipe - AWAIT AVAIL. OF PIPE INSTANCE
Int 21/AX=5F39h - Named Pipes - LOCAL DosRawReadNmPipe
Int 21/AX=5F3Ah - Named Pipes - LOCAL DosRawWriteNmPipe
Int 21/AX=5F3Bh - LAN Manager Enhanced DOS - NetHandleSetInfo
Int 21/AX=5F3Ch - LAN Manager Enhanced DOS - NetHandleGetInfo
Int 21/AX=5F3Dh - LAN Manager Enhanced DOS - WRITE MAILSLOT???
Int 21/AX=5F3Eh - LAN Manager Enhanced DOS - LOCAL NetSpecialSMB
Int 21/AX=5F3Fh - LAN Manager Enhanced DOS - REMOTE API CALL
Int 21/AX=5F40h - LAN Manager Enhanced DOS - LOCAL NetMessageBufferSend
Int 21/AX=5F41h - LAN Manager Enhanced DOS - LOCAL NetServiceEnum
Int 21/AX=5F42h - LAN Manager Enhanced DOS - LOCAL NetServiceControl
Int 21/AX=5F43h - LAN Manager Enhanced DOS - LOCAL DosPrintJobGetId
Int 21/AX=5F44h - LAN Manager Enhanced DOS - LOCAL NetWkstaGetInfo
Int 21/AX=5F45h - LAN Manager Enhanced DOS - LOCAL NetWkstaSetInfo
Int 21/AX=5F46h - LAN Manager Enhanced DOS - LOCAL NetUseEnum
Int 21/AX=5F47h - LAN Manager Enhanced DOS - LOCAL NetUseAdd
Int 21/AX=5F48h - LAN Manager Enhanced DOS - LOCAL NetUseDel
Int 21/AX=5F49h - LAN Manager Enhanced DOS - NetUseGetInfo
Int 21/AX=5F4Ah - LAN Manager Enhanced DOS - LOCAL NetRemoteCopy
Int 21/AX=5F4Bh - LAN Manager Enhanced DOS - LOCAL NetRemoteMove
Int 21/AX=5F4Ch - LAN Manager Enhanced DOS - LOCAL NetServerEnum
Int 21/AX=5F4Dh - LAN Manager Enhanced DOS - DosMakeMailslot
Int 21/AX=5F4Eh - LAN Manager Enhanced DOS - DosDeleteMailslot
Int 21/AX=5F4Fh - LAN Manager Enhanced DOS - DosMailslotInfo
Int 21/AX=5F50h - LAN Manager Enhanced DOS - DosReadMailslot
Int 21/AX=5F51h - LAN Manager Enhanced DOS - DosPeekMailslot
Int 21/AX=5F52h - LAN Manager Enhanced DOS - DosWriteMailslot
Int 21/AX=5F53h - LAN Manager Enhanced DOS - NetServerEnum2
Int 21/AX=5F55h - LAN Manager Enhanced DOS - KILL ALL CONNECTIONS???
Int 21/AX=5F80h - LANtastic - GET LOGIN ENTRY
Int 21/AX=5F81h - LANtastic - LOGIN TO SERVER
Int 21/AX=5F82h - LANtastic - LOGOUT FROM SERVER
Int 21/AX=5F83h - LANtastic - GET USERNAME ENTRY
Int 21/AX=5F84h - LANtastic - GET INACTIVE SERVER ENTRY
Int 21/AX=5F85h - LANtastic - CHANGE PASSWORD
Int 21/AX=5F86h - LANtastic - DISABLE ACCOUNT
Int 21/AX=5F87h - LANtastic v3+ - GET ACCOUNT
Int 21/AX=5F88h - LANtastic v4.0+ - LOGOUT FROM ALL SERVERS
Int 21/AX=5F97h - LANtastic - COPY FILE
Int 21/AX=5F98h - LANtastic - SEND UNSOLICITED MESSAGE
Int 21/AX=5F99h - LANtastic - GET LAST RECEIVED UNSOLICITED MESSAGE
Int 21/AX=5F9Ah - LANtastic - GET MESSAGE PROCESSING FLAGS
Int 21/AX=5F9Bh - LANtastic - SET MESSAGE PROCESSING FLAGS
Int 21/AX=5F9Ch - LANtastic v3+ - POP UP LAST RECEIVED MESSAGE
Int 21/AX=5F9Dh - LANtastic v4.1+ - GET REDIRECTOR CONTROL BITS
Int 21/AX=5F9Eh - LANtastic v4.1+ - SET REDIRECTOR CONTROL BITS
Int 21/AX=5FA0h - LANtastic - GET QUEUE ENTRY
Int 21/AX=5FA1h - LANtastic - SET QUEUE ENTRY
Int 21/AX=5FA2h - LANtastic - CONTROL QUEUE
Int 21/AX=5FA3h - LANtastic v3+ - GET PRINTER STATUS
Int 21/AX=5FA4h - LANtastic v3+ - GET STREAM INFO
Int 21/AX=5FA5h - LANtastic v3+ - SET STREAM INFO
Int 21/AX=5FA7h - LANtastic - CREATE USER AUDIT ENTRY
Int 21/AX=5FA9h - LANtastic v4.1+ - SET EXTENDED QUEUE ENTRY
Int 21/AX=5FB0h - LANtastic - GET ACTIVE USER INFORMATION
Int 21/AX=5FB1h - LANtastic - GET SHARED DIRECTORY INFORMATION
Int 21/AX=5FB2h - LANtastic v3+ - GET USERNAME FROM ACCOUNT FILE
Int 21/AX=5FB3h - LANtastic v3+ - TRANSLATE PATH
Int 21/AX=5FB4h - LANtastic v3+ - CREATE INDIRECT FILE
Int 21/AX=5FB5h - LANtastic v3+ - GET INDIRECT FILE CONTENTS
Int 21/AX=5FB6h - LANtastic v4.1+ - SET AUTO-LOGIN DEFAULTS
Int 21/AX=5FB7h - LANtastic v4.1+ - GET AUTO-LOGIN DEFAULTS
Int 21/AX=5FC0h - LANtastic - GET TIME FROM SERVER
Int 21/AX=5FC8h - LANtastic v4.0+ - SCHEDULE SERVER SHUTDOWN
Int 21/AX=5FC9h - LANtastic v4.0+ - CANCEL SERVER SHUTDOWN
Int 21/AX=5FCAh - LANtastic v4.0+ - STUFF SERVER KEYBOARD BUFFER
Int 21/AX=5FCBh - LANtastic v4.1+ - TERMINATE USER
Int 21/AX=5FCCh - LANtastic v4.1+ - GET/SET SERVER CONTROL BITS
Int 21/AX=5FCDh - LANtastic v4.1+ - FLUSH SERVER CACHES
Int 21/AX=5FD0h - LANtastic - GET REDIRECTED PRINTER TIMEOUT
Int 21/AX=5FD1h - LANtastic - SET REDIRECTED PRINTER TIMEOUT
Int 21/AX=5FE0h - LANtastic - GET DOS SERVICE VECTOR
Int 21/AX=5FE1h - LANtastic - SET DOS SERVICE VECTOR
Int 21/AX=5FE2h - LANtastic - GET MESSAGE SERVICE VECTOR
Int 21/AX=5FE3h - LANtastic - SET MESSAGE SERVICE VECTOR
fury 2001-05-24
  • 打赏
  • 举报
回复
is that enough?
zjh 2001-04-27
  • 打赏
  • 举报
回复
可能是新增的。
我手头的资料都只是介绍了这三个中断。
boywang 2001-04-26
  • 打赏
  • 举报
回复
还有别的!
zjh 2001-04-26
  • 打赏
  • 举报
回复
5F02H:取分配列表项
5F03H:网络连接
5F04H:删除网络连接
你是指哪个?
中断服务程序设计实验 2.7.1 实验目的 1、 熟悉中断的概念、中断响应过程、中断向量表以及系统是如何根据中断类型号在中断向量表中得到该中断对应的中断服务程序的入口地址等内容。 2、 掌握中断服务程序的设计方法。 2.7.2 实验预习要求 1、 复习中断的有关内容。 2、 复习中断服务程序设计方法。 3、 读懂“2.7.4 实验内容”中给出的源程序,以便上机调试。 4、 从“2.7.5 实验习题”中任选一道题目,编写源程序,以便上机调试。 2.7.3 中断服务程序设计方法简介 由2.6节中的中断向量表可以看出,PC中断系统中中断类型可分为三类: 磁盘操作系统DOS提供的中断服务程序,中断类型号从20H到2FH; 系统主板BIOS芯片提供的BIOS中断服务程序,包括系统内部中断,中断类型号从00H到07H;系统8级外部中断,中断类型号从08H到0FH,它们对应于接在可编程中断控制器8259A的8个中断请求输入端IR0IR7的8个外部中断,其中IR2(中断类型号0AH)为系统保留,用户可通过该引脚实现对用户所需的外部硬件中断的管理;设备驱动程序,中断类型号从10H到1FH等; 用户定义的中断,中断类型号从60H到7FH、F1H到FFH。用户可根据实际需要将某些通用性强的程序功能通过中断服务程序来实现。一旦设置好了这样的中断服务程序,在其他应用程序中就可以调用这些中断服务程序。 设计中断服务程序的步骤如下: 1、 选择一个中断类型号 如果采用硬件中断,则要使用硬件决定的中断类型号。在PC机系统中,使用了一片可编程中断控制器8259A来对外部硬件中断进行管理,具体内容参见教材264页“8259A应用举例”,可以看出IR2为系统保留,其中断类型号为0AH。若用户需要,可将用户所需的外部中断源发来的中断请求信号接到IR2,编写该中断所需的中断服务程序,并将该中断服务程序的入口地址写到中断向量表0AH4AH4+3四个单元中,这样,当接在IR2上的外部中断源发来中断请求信号时,系统就会根据得到的类型号(0AH)到中断向量表中找出其入口地址,并转去执行该中断服务程序。 如果采用软件中断,即利用执行int n指令的方式执行中断服务程序,则可从系统预留给用户的中断类型号60H7FH、F1HFFH中选择一个。 2、 将中断服务程序的入口地址置入中断向量表的相应的四个存储单元中 确定了中断类型号,还要把中断服务程序入口地址置入中断向量表,以保证在中断响应时CPU能自动转入与该类型号相对应的中断服务程序。下面介绍两种将中断服务程序入口地址置入中断向量表的方法。 (1) 直接装入法 用传送指令直接将中断服务程序首地址置入矢量表中。设中断类型号为60H(此类型号对应的矢量表地址为从00180H开始的四个连续存储单元)。 PUSH DS XOR AX,AX MOV DS,AX ;将数据段寄存器清零 MOV AX,OFFSET INT60 ;将中断服务程序INT60所在段内的偏移地址送AX MOV DS:[0180H],AX ;将中断服务程序偏移地址送中断向量表00180H和00181单元 MOV AX,SEG INT60 ;将中断服务程序INT60所在段的段地址送AX MOV DS:[0180H+2],AX ;将中断服务程序所在代码段的段地址送00182H和00183单元 POP DS (2) DOS系统功能调用功能号(AH)=25H; 入口参数:(AL)=中断类型号, (DS)=中断服务程序入口地址的段地址 (DX)=中断服务程序入口地址的偏移地址 下面程序段完成中断类型号为60H的入口地址置入。 PUSH DS ;保护DS MOV DX,OFFSET INT60 ;取服务程序偏移地址 MOV AX,SEG INT60 ;取服务程序段地址 MOV DS,AX MOV AH,25H ;送功能号 MOV AL,60H ;送中断类型号 INT 21H ;DOS功能调用 POP DS ;恢复DS 3、 使中断服务程序驻留内存,以便其他应用程序调用 实现这一步骤的必要性在于:一旦中断服务程序驻留内存后,一般程序员使用这一新增的中断调用就如同调用DOS或BIOS的中断程序一样,只要了解其入口要求和返回参数就可调用。程序驻留在内存后,它占用的存储区就不会被其他软件覆盖。使程序驻留内存,要求该程序以 .COM形式运行,这种种结构的程序要求入口定位于100H,并且数据和代码均在同一个段内,这样,.COM程序就被定位于低地址区,DOS常在低地址区增加驻留程序,而 .EXE程序被定位于高地
;name: ELECTRONIC CLOCK data segment mess1 db 'Press C or c to correct the time',0ah,0dh db 'Press R or r to SET the RING time',0ah,0dh db 'Press ESC button to exit',0ah,0dh,'$' tn db 'Please input the new time (hh:mm:ss):',0dh,0ah,'$' tM db 'Please input the RING time (hh:mm:SS):',0dh,0ah,'$' mess2 db 'Time is:',0ah,0dh,'$' t_buff db 40 ;在数据段开一段时间显示缓冲区 db ? db 40 dup (?) HOR1 DB 'S' MIN1 DB 'S' SEC1 DB 'S' hor db ? min db ? sec db ? fg db 0 data ends stack segment db 100 dup(?) stack ends code segment assume cs:code,ss:stack,ds:data ;确定各个逻辑段的类型 start: call clear ;调用清屏程序 display: ;时间显示部分 mov ax,data mov ds,ax mov bx,offset t_buff ;送t_buff的偏移地址到BX mov ah,2ch ;调用DOS时间调用功能,功能号:2cH,小时,分钟,秒数分别保存在CH,CL,DH中 int 21h mov al,ch ;小时数设定 mov ah,0 call bctd ;调用进制转换程序 CALL ASC ;---------------------------------------------------------- mov al,':' ;显示分隔符号 mov [bx],al inc bx ;------------------------------------------------------- mov ah,2ch int 21h mov al,cl ;分钟数设定 mov ah,0 call bctd CALL ASC ;------------------------------------------------------------------------- mov al,':' ;显示分隔符号 mov [bx],al inc bx ;------------------------------------------------------------------------- mov ah,2ch ;秒设定 int 21h mov al,dh mov ah,0 call bctd CALL ASC ;---------------------------------------------------------------------- mov al,'$' ;将字符串的结束位送至显示缓冲区的最后一位 mov [bx],al ;------------------------------------------------------------------------------ push bx ;置光标位置 ,AH=2,BH=0,DH跟DL分别为行号与列号,并入栈保护BX mov ah,2 mov bh,0 mov dh,3 mov dl,8 int 10h pop bx lea dx,t_buff ;送t_buff偏移地址到DX,并调用DOS显示功能,功能号为9 mov ah,9 int 21h push bx ;置光标位置 mov ah,2 mov bh,0 mov dh,0 mov dl,0 int 10h pop bx lea dx,mess1 mov ah,9 int 21h push bx ;置光标位置 mov ah,2 mov bh,0 mov dh,3 mov dl,0 int 10h pop bx lea dx,mess2 mov ah,9 int 21h ;------------------------------------------------- mov ah,2ch ;调用DOS时间调用功能,功能号:2cH,小时,分钟,秒数分别保存在CH,CL,DH中 int 21h CMP CH,HOR1 JNZ nxt ;判断闹钟是否到时,如果到时调用07H输出响声 CMP CL,MIN1 JNZ nxt CMP DH,SEC1 JNZ nxt MOV DL,07H MOV AH,02H INT 21H ;----------------------------- nxt: call delay1 mov ah,1 ;调用键盘I/O中断功能号1,获取键值到AL int 16h cmp al,'c' ;是c键,转到时间修改程序 je Cor cmp al,'C' ;是C键,转到时间修改程序 je Cor CMP AL,'R' JE RING CMP AL,'r' JE RING cmp al,1bh jz quit ;是ESC键,退出程序 JMP DISPLAY quit:mov ah,4ch ;程序终止功能int 21h ret RING: call INPUT2 JMP START Cor: call correct ;调用时间修改程序 ;------------------------------- bctd proc near ;二进制转BCD码程序 ;AX输入参数 ;AX输出参数,存放调整过的BCD码 mov dx,ax mov ax,0 mov cx,16 ;设循环次数 bctd1: clc ;清进位标志C rcl dx,1 ;通过进位的循环右移 adc al,al ;带进位加法 daa ;加法的十进制调整 xchg al,ah ;交换高、低八位 adc al,al daa xchg al,ah loop bctd1 ;循环次数保存在CX里 ret bctd endp ;------------------------------------------- clear proc near push ax ;入栈保护现场 push bx push cx push dx mov ax,0600h ;ah=06(滚动)al=00(全屏空白) mov bh,0fh ;设置背景颜色(2)和前景颜色(e) sub cx,cx mov dx,5f5fh int 10h pop dx ;出栈恢复现场 pop cx pop bx pop ax ret clear endp ;----------------------------------------- delay1 PROC ;精确延迟时间程序 MOV DX,04ffh ;循环次数 up: XOR CX,CX a: NOP LOOP a DEC DX JNZ up RET delay1 ENDP ;---------------------------- correct proc ;时间修改程序 call input ;调用键盘输入程序输入数据 mov ch,hor mov cl,min mov dh,sec and dl,0h mov ah,2dh int 21h jmp start ret correct endp ;---------------------------------- input2 proc ;闹钟设置程序 push ax ;入栈保护数据 push bx push cx push dx pushf mov dx,offset tm ;显示设置闹钟的格式提示 mov ah,09h int 21h mov dx,offset t_buff ;数据缓冲区的数据输入 mov ah,0ah int 21h and dx,0h lea bx,t_buff inc bx inc bx mov dh,[bx] sub dh,30h inc bx mov dl,[bx] sub dl,30h mov cl,10 mov al,dh mul cl add al,dl mov ch,al mov hor1,al inc bx inc bx mov dh,[bx] sub dh,30h inc bx mov dl,[bx] sub dl,30h mov cl,10 mov al,dh mul cl add al,dl mov cl,al mov min1,al inc bx inc bx mov dh,[bx] sub dh,30h inc bx mov dl,[bx] sub dl,30h mov cl,10 mov al,dh mul cl add al,dl mov dh,al mov sec1,al popf ;出栈恢复数据 pop dx pop cx pop bx pop ax ret input2 endp ;---------------------------------- input proc ;键盘输入程序 push ax ;入栈保护数据 push bx push cx push dx pushf mov dx,offset tn ;显示修改时间的格式提示 mov ah,09h int 21h mov dx,offset t_buff ;数据缓冲区的数据输入 mov ah,0ah int 21h and dx,0h lea bx,t_buff inc bx inc bx mov dh,[bx] sub dh,30h inc bx mov dl,[bx] sub dl,30h mov cl,10 mov al,dh mul cl add al,dl mov ch,al mov hor,al inc bx inc bx mov dh,[bx] sub dh,30h inc bx mov dl,[bx] sub dl,30h mov cl,10 mov al,dh mul cl add al,dl mov cl,al mov min,al inc bx inc bx mov dh,[bx] sub dh,30h inc bx mov dl,[bx] sub dl,30h mov cl,10 mov al,dh mul cl add al,dl mov dh,al mov sec,al popf ;出栈恢复数据 pop dx pop cx pop bx pop ax ret input endp ;---------------------------- ASC PROC PUSH AX AND AL,0F0H ;选取AL高四位 MOV CL,4 ;设置右循环的次数 ROL AL,CL ;右循环 OR AL,30H ;加30H得到ACSII码 MOV [BX],AL ;将得到的结果送到T_BUFF缓冲区 INC BX ;BX自加1,指针指向下一个缓冲区的下一个地址 POP AX AND AL,0FH ;选取低四位 OR AL,30H MOV [BX],AL ;将转换后的低四位值送入缓冲区的第二个地址 INC BX RET ASC ENDP ;---------------------------------- code ends end start

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧