专注于互联网--专注于架构
powered by
最新标签
网站地图
文章索引
Rss订阅
crazycoder.cn
aub.org.cn
首页
CrazyCoder
原创
翻译
数据库
项目管理
QQ协议开发
开发语言
Web开发
验证码识别
技术综合
服务器
Dig版
标签
Rss订阅
首页 »汇编语言 » 直接定址表:利用直接定址表的中断处理程序 »正文
直接定址表:利用直接定址表的中断处理程序
来源: 发布时间:星期四, 2009年2月12日 浏览:1060次 评论:0
;21:022007-7-5
\" align=top>assumecs:codesg
\" align=top>
\" align=top>datasgsegment
\" align=top>endlEQU<0dh,0ah>
\" align=top>function0dbendl,\"ThisInt7chfunctionis:$\"
\" align=top>function1dbendl,\"(1)Cls$\"
\" align=top>function2dbendl,\"(2)SetFrontColor$\"
\" align=top>function3dbendl,\"(3)SetBackColor$\"
\" align=top>function4dbendl,\"(4)ScrollUp$\"
\" align=top>function5dbendl,\"(5)Exit$\"
\" align=top>inputfdbendl,endl,\"PleaseInputfunctionnumber:$\"
\" align=top>inputcdbendl,endl,\"PleaseInputcolor(0-8):$\"
\" align=top>errorsdbendl,endl,\"InputError!PleaseInputthenumber(1-5),color(0-8)\",endl,endl,\'$\'
\" align=top>datasgends
\" align=top>
\" align=top>stacksegment
\" align=top>dw
16dup(0)
\" align=top>stackends
\" align=top>
\" align=top>codesgsegment
\" align=top>
\" align=top>start:
\" align=top>movax,stack
\" align=top>movss,ax
\" align=top>movsp,32
\" align=top>movax,datasg
\" align=top>movds,ax
;/**////////////////////////////////////////////////
\" align=top>;安装7ch中断处理
\" align=top>movax,0
\" align=top>moves,ax
\" align=top>cli
\" align=top>movwordptres:[7ch*4],offscreen
\" align=top>moves:[7ch*4+2],cs
\" align=top>sti
;
/**/////////////////////////////////////////////////
\" align=top>7ch
\" align=top>
\" align=top>movax,4c00h
\" align=top>21h
\" align=top>
;/**/////////////////////////////////////////////////
\" align=top>;7ch中断处理代码
\" align=top>
\" align=top>screen:
\" align=top>jmpshowfc
\" align=top>table:
\" align=top>dw0,sub1,sub2,sub3,sub4;直接定值表第个0为补充地址使得输入1sub1
\" align=top>
\" align=top>showfc:
\" align=top>pushax
\" align=top>pushdx
\" align=top>pushbx
\" align=top>pushcx
\" align=top>
\" align=top>;显示功能提示[Page]
\" align=top>showfc1:
\" align=top>movah,9;21h9号功能为在标准输出上显示以$结尾串DS:DX指向串偏移地址
\" align=top>movdx,offfunction0
\" align=top>21h
\" align=top>movdx,offfunction1
\" align=top>21h
\" align=top>movdx,offfunction2
\" align=top>21h
\" align=top>movdx,offfunction3
\" align=top>21h
\" align=top>movdx,offfunction4
\" align=top>21h
\" align=top>movdx,offfunction5
\" align=top>21h
\" align=top>
\" align=top>movdx,offinputf
\" align=top>21h
\" align=top>
\" align=top>;提示输入功能号码
\" align=top>inputfc:
\" align=top>movah,1
\" align=top>21h;21h1号功能为从标准输入(键盘)读取个ASCII码到al无输入时等
\" align=top>;待回显输入
\" align=top>subal,30h;输入数字ASCII码减30h转换为十进制值
\" align=top>movbh,al
\" align=top>cmpbh,5;范围判断
\" align=top>jaerror
\" align=top>cmpbh,5;5号功能为退出
\" align=top>jesret
\" align=top>cmpbh,
0;范围判断
\" align=top>jberror
\" align=top>cmpbh,2;如果是23号功能则提示输入颜色值
\" align=top>jeinputcolor
\" align=top>cmpbh,3
\" align=top>jeinputcolor
\" align=top>jmp
\" align=top>
\" align=top>inputcolor:
\" align=top>movah,9
\" align=top>movdx,offinputc
\" align=top>21h
\" align=top>movah,1
\" align=top>21h
\" align=top>subal,30h
\" align=top>cmpal,8;范围判断
\" align=top>jaerror
\" align=top>cmpal,0
\" align=top>jberror;范围判断
\" align=top>
\" align=top>:[Page] movah,bh
\" align=top>movbl,ah
\" align=top>movbh,0
\" align=top>addbx,bx;根据输入功能号码来确定TABLE中子偏移地址
\" align=top>callwordptrtable[bx];子
\" align=top>jmp
showfc1;功能循环
\" align=top>
\" align=top>sret:
\" align=top>popcx
\" align=top>popbx
\" align=top>popdx
\" align=top>popax
\" align=top>iret
\" align=top>
\" align=top>error:
callsub1
\" align=top>movah,9
\" align=top>movdx,offerrors
\" align=top>21h
\" align=top>jmpshowfc1
\" align=top>
\" align=top>sub1:
\" align=top>pushbx
\" align=top>pushcx
\" align=top>pushes
\" align=top>movbx,0b800h
\" align=top>moves,bx
\" align=top>movbx,0;显存偶数地址为
\" align=top>movcx,2000;显存页4000字节偶数字节为2000个
\" align=top>sub1s:
\" align=top>movptres:[bx],\'\';用空格代替原先相当于清除原
\" align=top>addbx,2
\" align=top>loopsub1s
\" align=top>popes
\" align=top>popcx
\" align=top>popbx
\" align=top>ret
\" align=top>
\" align=top>
\" align=top>sub2:
\" align=top>pushbx
\" align=top>pushcx
\" align=top>pushes
\" align=top>movbx,0b800h
\" align=top>moves,bx
\" align=top>movbx,1;显存奇数地址为颜色值
\" align=top>movcx,2000;显存页4000字节奇数字节为2000个
\" align=top>sub2s:
\" align=top>andptres:[bx],11111000b;颜色值中012位为前景色RGB先清除掉
\" align=top>ores:[bx],al;再or上我们输入al值则得到我们需要前景色
\" align=top>addbx,2
\" align=top>loopsub2s
\" align=top>popes
\" align=top>popcx
\" align=top>popbx
\" align=top>ret
\" align=top>
\" align=top>sub3:
\" align=top>pushbx
\" align=top>pushcx
\" align=top>pushes
\" align=top>movcl,4
\" align=top>shlal,cl
\" align=top>movbx,0b800h
\" align=top>moves,bx
\" align=top>movbx,
1
\" align=top>movcx,2000
\" align=top>sub3s:
\" align=top>andptres:[bx],10001111b;颜色值中765位为背景色RGB
\" align=top>ores:[bx],al
\" align=top>addbx,2
\" align=top>loopsub3s
\" align=top>popes
\" align=top>popcx
\" align=top>popbx
\" align=top>ret
\" align=top>
\" align=top>sub4:
\" align=top>pushcx
\" align=top>pushsi
\" align=top>pushdi
\" align=top>pushes
\" align=top>pushds
\" align=top>movsi,0b800h
\" align=top>moves,si
\" align=top>movds,si
\" align=top>movsi,160;显存页25行(0-24)160列(0-159)这里160为下行开头第列
\" align=top>movdi,0;上行开头SI,DI顺序递增~
\" align=top>cld
\" align=top>movcx,24;只需要复制后面24行开头第行不要了
\" align=top>sub4s:
\" align=top> pushcx
\" align=top>movcx,
160;列数还是要够160这里是循环次数注意和上面区别
\" align=top>repmovsb
\" align=top>popcx
\" align=top>loopsub4s
\" align=top>
\" align=top>movcx,80;行160列偶数列为80偶数列也即是所在列
\" align=top>movsi,0
\" align=top>sub4s1:
\" align=top>movptr[160*24+si],\'\';最后行上移了原来行要清除掉
\" align=top>addsi,2
\" align=top>loopsub4s1
\" align=top>popds
\" align=top>popes
\" align=top>popdi
\" align=top>popsi
\" align=top>popcx
\" align=top>ret
\" align=top>
\" align=top>codesgends
\" align=top>endstart
[Page]
唉做个这么简单东西都要花这么长时间年轻人话估计有45分钟也就搞定调试完了
标签:dnf网络中断 dnf网络连接被中断 系统中断控制器 直接定址表
下载文章的 PDF文档电子版 离线看
0我顶
相关文章
网络应用:WSRR 6.2 应用系列 第 2 部分: WSRR 访问控制介绍
嵌入式网络控制器:80C186XL嵌入式系统中DRAM控制器的CPLD解决方案
处理中断过程:如何接受消息,中断正在处理的过程
系统中断控制器:中断
读者评论
1楼 sda(219.140.178.*) 发布于:星期日, 2009年1月11日
网络中断很不爽
发表评论
昵称:
内容:
赞助商链接
更多
热门标签
调用基类析构函数(1) 初始化注意事项(1) 调用析构函数(1) 单链表逆(1) 单链表逆置程序(1) 单链表就地逆置(1) 三维数组(1) phpfseek(1) vcfseek(1) 宽度自适应(1) 函数返回指针(1) 函数的参数(1) stdarg.h(1) lexicalcohesion(1) lexicalchange(1) 应用程序正常初始化(1) c程序设计递归法(1) cstatic滚动条(1) vccstatic(1) cstaticsetbitmap(1)
RSS订阅
更多
精华推荐
疯狂代码,大型网站架构系列之五,缓存策略设计概要 C#多线程教程系列之四,简单的多线程通讯(实例代码) 疯狂代码,大型网站架构系列之四,多对多关系的以及并发缓存的设计 卑鄙无耻的猫扑公司,无耻的联盟,黑心联盟 关于这次疯狂代码生成器的改版,以及一些抓图 原创,使用轮廓以及扇形扫描实现qq的验证码识别 疯狂代码,大型网站架构系列之三,多对多关系的优化设计 疯狂代码,大型网站架构系列之二,底层架构概论 疯狂代码,大型网站架构系列之一,前言,不得不考虑的问题 c# 一个有用的汉字转拼音类 更多
最新标签
oracle查看表空间(1) au13aix5lbasics(1) aixoracle10grac(1) aixoracle10g(1) oracle列相加(1) oracle字符串相加(1) 代码格式(1) javalist的用法(1) javarandom用法(1) javalist用法(1) java用法(1) jsonfocus(1) onfocusthis.blur(1) onbluronfocus(1) java获取路径(1) java获取相对路径(1) java获取绝对路径(1) facerobot(1) java.util.robot(1) javarobot(1)
RSS订阅
更多
Dig排行
疯狂代码生成器简介 sql语句大全:常用 SQL 语句大全 sql触发器:如何在SQL Server中使用触发器 C#多线程教程系列之一,多线程入门,实例代码 疯狂代码,大型网站架构系列之一,前言,不得不考虑的问题 会员登陆代码 一个最简单的会员登陆代码 疯狂代码,大型网站架构系列之二,底层架构概论 Flash文字特效 卑鄙无耻的猫扑公司,无耻的联盟,黑心联盟 ftp映射:FTP映射让资源应用更灵活 RSS订阅
更多
阅读排行
疯狂代码生成器简介 会员登陆代码 一个最简单的会员登陆代码 sql语句大全:常用 SQL 语句大全 C#多线程教程系列之一,多线程入门,实例代码 u盘文件夹被隐藏:手动清除仿文件夹图标U盘病毒 疯狂代码,大型网站架构系列之一,前言,不得不考虑的问题 疯狂代码,大型网站架构系列之二,底层架构概论 疯狂代码,大型网站架构系列之三,多对多关系的优化设计 C#多线程教程系列之二,多线程入门,实例代码,线程分工 c#常用的正则表达式,其实对所有语言都通用,常用正则表达式总结 RSS订阅
更多
最新文章
mysql数据库:MySQL数据库常用命令 超级实用版分享 oracle表空间:Oracle表空间操作详解-入门基础 aixoracle10g:oracle10g ias 在aix 5l安装纪实 oracle9i数据库:Windows下Oracle9i数据库文件的自动备份 oracle字符串相加:如何在Oracle中实现时间相加处理 ORA-01810: 格式代码出现两次 ViewState简单类型视图状态应用 用CNG加密文件的简单思路方法 写给ASP.NET程序员:网站WebSite中的安全问题 java用法:提高Java性能的几个高效使用方法
MD5查询加密工具 在线实体类生成工具