王爽.汇编.第三版.实验16.答案
来源:互联网 发布:飞秋2013正式版 mac版 编辑:程序博客网 时间:2024/04/30 08:16
; int 7c中断例程; assume cs:codecode segmentstart: ; 拷贝代码 mov ax, 0 mov es, ax mov ax, 200h mov di, ax push cs pop ds mov ax, offset int7c mov si, ax mov cx, offset int7c_end - offset int7c cld rep movsb cli mov ax, 0 mov ds, ax mov bx, 07ch*4 mov word ptr ds:[bx], 200h mov word ptr ds:[bx+2], 0 sti mov ax, 4c00h int 21hint7c: jmp short int7c_code ; 注意此处放的是放在绝对地址0:200时,子程序处于的相对地址, ; 此方法不好,因为如果程序不是安装在0:200,就会出错 ; 当如如果直接jmp到标号,是没有问题的 table dw sub1-int7c+200h, sub2-int7c+200hint7c_code: push ax push bx ; 功能号 cmp ah, 1 ja int7c_ok sub bx, bx mov bl, ah add bx, bx push cs pop ds ; 200是本中断代码的起始地址,2:是jmp指令的长度。bx索引到相应table位置 call word ptr [bx+200h+2]int7c_ok: pop bx pop ax iret ; clear screensub1: push bx push cx push es mov bx, 0b800h mov es, bx mov bx, 0 mov cx, 2000sub1s: mov byte ptr es:[bx], ' ' add bx, 2 loop sub1s pop es pop cx pop bx ret ; change text colorsub2: push bx push cx push es mov bx, 0b800h mov es, bx mov bx, 1 mov cx, 2000sub2s: and byte ptr es:[bx], 11111000b or byte ptr es:[bx], al add bx, 2 loop sub2s pop es pop cx pop bx retsuberror: retint7c_end: nopcode endsend start
阅读全文
0 0
- 王爽.汇编.第三版.实验16.答案
- 王爽.汇编.第三版.实验七.答案
- 王爽.汇编.第三版.实验12.答案
- 王爽.汇编.第三版.实验14.答案
- 王爽.汇编.第三版.课程设计1.答案
- 王爽.汇编.第三版.检测点9.3.答案
- 王爽.汇编.第三版.检测点17.1.疑似答案
- 汇编学习-王爽-实验10的答案
- 王爽汇编第三版 实验七
- 汇编学习-实验11答案
- 王爽汇编第二版第三章答案
- 王爽汇编第三版实验10.2 浅析
- 王爽汇编第三版实验10.3 浅析
- 王爽 汇编 实验14
- 王爽-汇编实验5
- 王爽.汇编.第三版.课程设计2
- Java 2实用教程(第三版)实验指导与习题解答and实验模版代码及答案(一)
- Java 2实用教程(第三版)实验指导与习题解答and实验模版代码及答案 (二)
- vue-cli + webpack 多页面实例应用
- vim/vi指令
- python作业2
- OracleOCM认证
- Android——机制篇:Android中的接口回调机制
- 王爽.汇编.第三版.实验16.答案
- 深究AngularJS——自定义服务详解(factory、service、provider)
- # 虚拟机中centos service restart 问题和yum 无法使用问题
- 一种面向搜索引擎的中文切分词方法
- SpringMVC中乱码问题解决
- 程序的内存布局——函数调用栈的那点事
- mac平台Charles抓包 Android手机 https
- java对象与json对象间的相互转换
- fastjson使用(一) -- 最常用的功能[构造和解析JSON]