要交实验报告!急!高手把代码逐句解释下。。初学者,不懂!
时间:2010-12-19
来源:互联网
TITLE ZY2TJ.ASM
UCODE SEGMENT
ASSUME CS:UCODE
BEGIN:
JMP BEGIN_
INT_SEG DW ?
INT_OFF DW ?
BEGIN_:
CLI
MOV AH,35H
MOV AL,0EH ;保存原来的IRQ6的地址
INT 21H
MOV INT_OFF,BX
MOV INT_SEG,ES
MOV AX,CS
MOV DS,AX
MOV AH,25H
MOV AL,0EH
MOV DX,OFFSET UINTR
INT 21H
IN AL,21H
AND AL,0BFH
MOV DX,21H
OUT DX,AL
STI
JMP $
UINTR PROC FAR
CLI
MOV DX,88H
MOV AL,'R'
OUT DX,AL
MOV AL,20H
OUT 20H,AL
IRET
UINTR ENDP
UCODE ENDS
END BEGIN
UCODE SEGMENT
ASSUME CS:UCODE
BEGIN:
JMP BEGIN_
INT_SEG DW ?
INT_OFF DW ?
BEGIN_:
CLI
MOV AH,35H
MOV AL,0EH ;保存原来的IRQ6的地址
INT 21H
MOV INT_OFF,BX
MOV INT_SEG,ES
MOV AX,CS
MOV DS,AX
MOV AH,25H
MOV AL,0EH
MOV DX,OFFSET UINTR
INT 21H
IN AL,21H
AND AL,0BFH
MOV DX,21H
OUT DX,AL
STI
JMP $
UINTR PROC FAR
CLI
MOV DX,88H
MOV AL,'R'
OUT DX,AL
MOV AL,20H
OUT 20H,AL
IRET
UINTR ENDP
UCODE ENDS
END BEGIN
作者: zhangcong002 发布时间: 2010-12-19
我就是看看
作者: abgood 发布时间: 2010-12-19
UCODE SEGMENT
ASSUME CS:UCODE ;定义ucode为代码段
BEGIN: ;代码段的开始地址
JMP BEGIN_ ;跳到标号为BEGIN_的地址
INT_SEG DW ? ;定义变量INT_SEG 和INT_OFF
INT_OFF DW ?
BEGIN_: ;标号
CLI ;关中断
MOV AH,35H
MOV AL,0EH ;保存原来的IRQ6的地址
INT 21H ;DOS中断,取指定中断号0EH的入口地址
MOV INT_OFF,BX ;把bx赋给变量INT_OFF,即中断号0EH的偏移地址
MOV INT_SEG,ES ;把es赋给变量INT_seg,即中断号0EH的段地址
MOV AX,CS ;这段代码的意思是把UINTR子过程设置为中断号为0eh的中断过程
MOV DS,AX
MOV AH,25H
MOV AL,0EH
MOV DX,OFFSET UINTR
INT 21H
IN AL,21H ;读中断屏蔽寄存器
AND AL,0BFH
MOV DX,21H
OUT DX,AL ;屏蔽软盘中断
STI ;开中断
JMP $ ;还是执行本指令
UINTR PROC FAR
CLI
MOV DX,88H
MOV AL,'R'
OUT DX,AL
MOV AL,20H
OUT 20H,AL
IRET
UINTR ENDP
UCODE ENDS
END BEGIN
ASSUME CS:UCODE ;定义ucode为代码段
BEGIN: ;代码段的开始地址
JMP BEGIN_ ;跳到标号为BEGIN_的地址
INT_SEG DW ? ;定义变量INT_SEG 和INT_OFF
INT_OFF DW ?
BEGIN_: ;标号
CLI ;关中断
MOV AH,35H
MOV AL,0EH ;保存原来的IRQ6的地址
INT 21H ;DOS中断,取指定中断号0EH的入口地址
MOV INT_OFF,BX ;把bx赋给变量INT_OFF,即中断号0EH的偏移地址
MOV INT_SEG,ES ;把es赋给变量INT_seg,即中断号0EH的段地址
MOV AX,CS ;这段代码的意思是把UINTR子过程设置为中断号为0eh的中断过程
MOV DS,AX
MOV AH,25H
MOV AL,0EH
MOV DX,OFFSET UINTR
INT 21H
IN AL,21H ;读中断屏蔽寄存器
AND AL,0BFH
MOV DX,21H
OUT DX,AL ;屏蔽软盘中断
STI ;开中断
JMP $ ;还是执行本指令
UINTR PROC FAR
CLI
MOV DX,88H
MOV AL,'R'
OUT DX,AL
MOV AL,20H
OUT 20H,AL
IRET
UINTR ENDP
UCODE ENDS
END BEGIN
作者: leetow2003 发布时间: 2010-12-19
MOV AL,20H
OUT 20H,AL
是通知8259A当前中断结束
IRET是从中断返回
88H端口不知道是什么,哪位说说
OUT 20H,AL
是通知8259A当前中断结束
IRET是从中断返回
88H端口不知道是什么,哪位说说
作者: leetow2003 发布时间: 2010-12-19
TITLE ZY2TJ.ASM ;这个是描述文件名
UCODE SEGMENT ;CS关联的段名
ASSUME CS:UCODE ;关联
BEGIN: ;BEGIN标签
JMP BEGIN_ ;跳转到BEGIN_标签
INT_SEG DW ? ;字变量INT_SEG
INT_OFF DW ? ;字变量INT_OFF
BEGIN_: ;BEGIN_标签
CLI ;关中断
MOV AH,35H ;从0000:000E*4地址读取ISR地址
MOV AL,0EH ;中断号
INT 21H ;读取ISR地址
MOV INT_OFF,BX ;出口参数为(高16 cs)ES:(低16 ip)BX
MOV INT_SEG,ES ;BX保存到INT_OFF,ES保存到INT_SEG
MOV AX,CS
MOV DS,AX ;DS=CS
MOV AH,25H ;设置新的ISR地址到地址0000:000E*4
MOV AL,0EH ;中断号
MOV DX,OFFSET UINTR
INT 21H ;入口参数为(高16 cs)DS:DX(低16 ip)
IN AL,21H ;读21口字节到AL
AND AL,0BFH ;D6位置0
MOV DX,21H
OUT DX,AL ;写回21口
STI ;开中断
JMP $ ;死循环
UINTR PROC FAR ;子程序UINTR,远调
CLI ;关中断
MOV DX,88H
MOV AL,'R'
OUT DX,AL ;数据'R'写回88口
MOV AL,20H
OUT 20H,AL ;数据20H写回20口
IRET ;中断返回
UINTR ENDP ;子程序结束
UCODE ENDS ;代码段结束
END BEGIN ;代码从BEGIN开始执行
UCODE SEGMENT ;CS关联的段名
ASSUME CS:UCODE ;关联
BEGIN: ;BEGIN标签
JMP BEGIN_ ;跳转到BEGIN_标签
INT_SEG DW ? ;字变量INT_SEG
INT_OFF DW ? ;字变量INT_OFF
BEGIN_: ;BEGIN_标签
CLI ;关中断
MOV AH,35H ;从0000:000E*4地址读取ISR地址
MOV AL,0EH ;中断号
INT 21H ;读取ISR地址
MOV INT_OFF,BX ;出口参数为(高16 cs)ES:(低16 ip)BX
MOV INT_SEG,ES ;BX保存到INT_OFF,ES保存到INT_SEG
MOV AX,CS
MOV DS,AX ;DS=CS
MOV AH,25H ;设置新的ISR地址到地址0000:000E*4
MOV AL,0EH ;中断号
MOV DX,OFFSET UINTR
INT 21H ;入口参数为(高16 cs)DS:DX(低16 ip)
IN AL,21H ;读21口字节到AL
AND AL,0BFH ;D6位置0
MOV DX,21H
OUT DX,AL ;写回21口
STI ;开中断
JMP $ ;死循环
UINTR PROC FAR ;子程序UINTR,远调
CLI ;关中断
MOV DX,88H
MOV AL,'R'
OUT DX,AL ;数据'R'写回88口
MOV AL,20H
OUT 20H,AL ;数据20H写回20口
IRET ;中断返回
UINTR ENDP ;子程序结束
UCODE ENDS ;代码段结束
END BEGIN ;代码从BEGIN开始执行
作者: va_zaixuexi 发布时间: 2010-12-19
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28