首页 > 汇编试验十五:安装新的int 9中断例程

汇编试验十五:安装新的int 9中断例程

安装新的int 9中断例程(按'A'键后显示满屏幕的'A')

int 9 是外中断,同样,程序编写还是和其他中断例程类似,安装(复制),调用;

不同点是在于,他要从端口读取数据60h,

Source Code :

assume cs:codestack segmentdb 128 dup(0)
stack endscode segmentstart:mov ax,stackmov ss,axmov sp,128push cspop dsmov si,offset int9startmov ax,0mov es,axmov di,204hmov cx,offset int9end - offset int9startcldrep movsbpush es:[9*4]pop es:[200h]push es:[9*4+2]pop es:[202h]climov word ptr es:[9*4],204hmov word ptr es:[9*4+2],0hstimov ax,4c00hint 21hint9start:push axpush cxpush espush dipushfcall dword ptr cs:[200h]in al,60hcmp al,1eh+80hjne okmov cx,2000mov ax,0b800hmov es,axmov di,0s:mov byte ptr es:[di],'A'mov byte ptr es:[di+1],2add di,2loop sok:pop dipop espop cxpop axiretint9end:nopcode ends
end start
View Code

实验效果:

 

转载于:https://www.cnblogs.com/TreeDream/p/7058924.html

更多相关:

  • vim /etc/elasticsearch/elasticsearch.yml path.repo: ["/data/backups/es_backup"] #备份目录,根据自己情况进行填写 systemctl restart elasticsearch.service mkdir -pv /data/backups/...

  • C++11标准中可以为模板定义别名,比如 template using ptr=std::shared_ptr; //这里模板定义ptr为智能指针std::shared_ptr定义的别名 所以实际应用中可以借此来简化代码,比如 #include #include

  • 先说结论,智能指针都是非线程安全的。 多线程调度智能指针 这里案例使用的是shared_ptr,其他的unique_ptr或者weak_ptr的结果都是类似的,如下多线程调度代码: #include #include #include #include #i...

  • 文章目录unique_ptr 智能指针的实现shared_ptr 智能指针的实现指针类型转换 unique_ptr 智能指针的实现 一个对象只能被单个unique_ptr 所拥有。 #include using namespace std;/*增加模板类型,保证智能指针的类型是由传入的类型决定的*/ t...

  • 文章目录weak_ptr描述声明作用原理实现函数成员使用总结 weak_ptr描述 声明 头文件: 模版类:template class weak_ptr 声明方式:std::weak_ptr statement 作用 根据boost库的官方描述,weak_ptr是...

  • 文章目录shared_ptr描述声明作用原理实现函数使用关于shared_ptr循环引用问题 shared_ptr描述 声明 shared_ptr属于C++11特性中新加的一种智能指针,它的实现方式是模版类,头文件 template class shared_ptr 所以使用shared...