我们都知道int9中断是键盘的按键中断程序,按下键盘触发int9中断,不懂int9中断的请自己去百度查查说明和用法

利用中断任务安装一个新的int 9中断例程,功能:在DOS下,按F1键后改变当前屏幕的显示颜色,其他的键照常处理。

;任务:安装一个新的int 9中断例程,
;功能:在DOS下,按F1键后改变当前屏幕的显示颜色,其他的键照常处理。 assume cs:code stack segment
db 30h dup()
stack ends data segment
db 20h dup()
data ends code segment
start: mov ax,
mov es,ax
mov di,200h
mov ds,ax
mov si,[*]
mov cx,
cld
rep movsb mov ax,cs
mov ds,ax
mov si,offset s
mov cx,offset se - offset s;设置从标号sqrend到标号sqr的转移位移
cld
rep movsb
mov word ptr es:[*],200h
mov word ptr es:[*+], mov ax,4c00h
int 21h s:
push ax
push es
mov ax,0b800h
mov es,ax
push cx
mov cx,
push bx
mov bx,
in al,60h
cmp al,3bh
jne s1
s0:
; add byte ptr es:[bx],10h
inc byte ptr es:[bx]
add bx,
loop s0
s1:
int 80h
pop bx
pop cx
pop es
pop ax
iret
se:nop mov ax,4c00h
int 21h code ends
end start

运行:位使用的win7+masm6.15,所以把上面的代码编译、链接、运行后,在当前cmd窗口输入debug回车,然后按F1键,就可以看到效果了

汇编题目:在DOS下,按F1键后改变当前屏幕的显示颜色的更多相关文章

  1. 在屏幕中间显示,按ESC键后改变字符的颜色

    程序功能:编写程序在屏幕中间显示“a”~“z”,并可以让人看清,这个任务比较好实现. (1)在b800:[ 160*12+40*2]处存入a的ASCII码.(2)在循环中使用一个10000000000 ...

  2. 汇编题目:按A键,当松开的时显示字母A

    安装一个新的int9中断例程,功能:在DOS下,按下“A”键后,除非不再松开,如果松开,就显示满屏的“A”:其他的按键照常处理.提示:按下一个键时产生的扫描码称为通码,松开一个键时产生的扫描码称为断码 ...

  3. 汇编题目:在屏幕中间显示a-z的所有字母,按ESC键改变字符颜色

    在屏幕中显示a-z字母,按ESC键改变字符颜色. ;程序功能:在屏幕中间同一点显示a-z的所有字符 ; 1.使用cpu循环空运行实现延迟 ; 2.按ESC键改变正在循环显示的字符的颜色 ; 3.程序完 ...

  4. 汇编语言程序入门实验一:在dos下对用户输入作出应答

    汇编语言程序入门实验一:在dos下对用户输入作出应答 1,背景 成功预言了今天要上计算机操作系统上机实验课,昨天预习后,今天的两个上机实验做得很成功.但是也有一些问题.问题1:学校的系统目前是wind ...

  5. DOS下windows系统查看wifi密码

    DOS下windows系统查看wifi密码 首先,按win+R键,win键如下 弹出框中输入cmd 在弹出界面输入 netsh wlan show profiles 你可以看到你链接过的所有wifi名 ...

  6. mysql的初识--DOS下的简单命令

    DOS下进入 1.通过程序中的mySQL的:MySQL 5.6 Command Line Client直接进入mySQL的命令行: 2.或者通过WIn+R-->输入cmd,然后C:等一层一层找到 ...

  7. 在DOS下的DEBUG命令的详细用法

    在DOS下的DEBUG命令的详细用法 名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range address d (Dump ...

  8. DOS下常用网络命令技巧

    DOS,即使对于许多自称了解计算机的人而言,也是一个比较陌生的词汇.然而,在网络管理过程中,DOS命令却是一个不可逾越的障碍,几乎所有的网络命令都运行在DOS界面.对初级用户而言,掌握一些常用网络命令 ...

  9. 汇编语言程序入门实验二:在dos下建立子目录操作

    汇编语言程序入门实验二:在dos下建立子目录操作 1,背景 在读此文,并读懂前,建议读者先阅读这两篇博客 1,在dos环境下汇编语言程序设计入门(输出hello world)和masm32的下载.安装 ...

随机推荐

  1. 石子合并DP

    DP Time Limit:3000MS     Memory Limit:131072KB     64bit IO Format:%lld & %llu Submit Status Pra ...

  2. android菜鸟学习笔记23----ContentProvider(三)利用内置ContentProvider监听短信及查看联系人

    要使用一个ContentProvider,必须要知道的是它所能匹配的Uri及其数据存储的表的结构. 首先想办法找到访问短信及联系人数据的ContentProvider能接受的Uri: 到github上 ...

  3. 最简单的php验证码

    <?php session_start(); // Settings: You can customize the captcha here $image_width = 120; $image ...

  4. linux c编程:Posix消息队列

    Posix消息队列可以认为是一个消息链表. 有足够写权限的线程可以往队列中放置消息, 有足够读权限的线程可以从队列中取走消息 在某个进程往一个队列写入消息前, 并不需要另外某个进程在该队列上等待消息的 ...

  5. docker centos yum 源

    aliyun yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.rep ...

  6. awk 运算符(算术运算符,赋值运算符,关系运算符,逻辑运算符,正则运算符)说明

    awk作为文本处理优秀工具之一,它有独自丰富的运算符.下面我们一起归纳总结一下,所有运算符. 可以分为:算术运算符,赋值运算符,关系运算符,逻辑预算法,正则运算符. 一.运算符介绍 运算符 描述 赋值 ...

  7. php验证复选框的小例子

    发布:thatboy   来源:Net     [大 中 小] 本文介绍一个简单的php实例,通过代码验证复选框值的有效性,有需要的朋友,可以参考下. 验证复选框的php代码,如下: <?php ...

  8. Git——版本控制概论(一)

    随着信息技术的发展,软件开发已不是小手工作坊,软件的规模和复杂度已经不再适合一个人单打独斗的开发了, 团队协作变得相当重要,如果没有VCS(版本控制系统Version Control System), ...

  9. Linux mint

    最近一直在配置vim, 今天终于配的差不多了,拿出来晒晒,^_^ . 附上一段Linux Mint 的简介(来自Wiki). Linux Mint是一种基于Ubuntu开发出的Linux操作系统.由L ...

  10. window.location.assign和window.location.href区别

    window.location.assign和window.location.href区别 window.location.assign(url)和window.location.href=url实现 ...