汇编语言(王爽第三版)实验十五

2023-11-19

实验十五

题目与个人思路

安装一个新的int 9中断例程,功能:在DOS下,按下"A"键后,除非不再松开,如果松开,就显示满屏幕的"A",其他的键照常处理。

我刚刚开始以为还要判断按下"A"键的扫描码,后来发现不用。只要判断松开"A"键的扫描码即可
程序如下:

assume cs:code

stack segment
	db 128 dup (0)
stack ends

code segment

start:
	mov ax,stack
	mov ss,ax
	mov sp,128

	push cs
	pop ds

	mov ax,0
	mov es,ax

	mov si,offset int9						;设置ds:si指向源地址
	mov di,204h								;设置es:di指向目的地址
	mov cx,offset int9end-offset int9 		;设置cx为传输长度
	cld										;设置传输方向为正
	rep movsb

	push es:[9*4]
	pop es:[200h]
	push es:[9*4+2]
	pop es:[202h]

	cli
	mov word ptr es:[9*4],204h
	mov word ptr es:[9*4+2],0
	sti

	mov ax,4c00h
	int 21h
int9:
	push ax
	push bx
	push cx
	push es

	mov ax,0b800h
	mov es,ax
	mov di,0

	in al,60h

	pushf
	call dword ptr cs:[200h]		;当此中断例程执行时(CS)=0

	cmp al,9eh						;A的断码
	jne int9ret

	mov cx,2000						;80*25
a:	
	mov byte ptr es:[di],65
	add di,2
	loop a

int9ret:
	pop es
	pop cx
	pop bx
	pop ax
	iret	
int9end:
	nop

code ends
end start	

运行效果如下图所示:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

汇编语言(王爽第三版)实验十五 的相关文章

  • C++泛型编程

    C 泛型编程 1 泛型编程 1 1 模板 1 2 函数模板 1 2 1 语法 1 2 2 使用函数模板方式 1 2 3 普通函数和函数模板的区别 1 2 4 普通函数与函数模板的调用规则 1 2 5 模板的局限性 1 3 类模板 1 3 1
  • Python与Stata在数据处理上的区别

    转自 微点阅读 https www weidianyuedu com 本节旨在演示如何在 pandas 中做各种类似Stata的操作 按照惯例 我们按如下方式导入 pandas 和 NumPy 计量经济学服务中心import pandas
  • 太牛逼了!从Python入门到入魔

    总被读者问到 我看完了python入门的书 后面就不知道要学什么了 今天就给你们整理全套入门到进阶的教程 这套教程非常全面而且详细 从Python入门到Python进阶 Django Flask等Web框架以及爬虫 数据库 算法与数据结构等
  • 定时开机电路设计

    在一些情况下 比如电池供电 需要定时采集数据并传输 并且对功耗要求比较高时 就需要电路实现采集完成后关机 且能够定时自动启动的功能 一种方法是 采集完成后 通过单片机关闭外围电路的电源 且单片机本身处于低功耗模式 只保留RTC工作 设置定时
  • 二面字节被问到VARCHAR(M) 到底占用多少个字节?我跟面试官硬刚了半小时

    前言 这个问题其实很有迷惑性 问的是字节 不是字符 我们知道在计算机中只能存储二进制数据 所以要搞清楚这个问题 就要搞清楚下面2个问题 1 字节和字符的对应关系 2 varchar 到底能存多少个字节 为了搞清楚上面两个问题 又必须搞清楚m
  • 数据分析整体框架之落地全流程讲解

    小飞象 交流会 人生没有四季 只有两季 努力就是旺季 不努力就是淡季 内部交流 11期 数据分析整体框架 之落地全流程 data analysis 分享人 刘珍珍 数据分析的目的是把隐藏在杂乱无章的数据背后的信息集中和提炼出来 总结出研究对
  • Python打印输出数组中全部元素的方法

    学习Python的人都知道数组是最常用的的数据类型 为了保证程序的正确性 需要调试程序 因此 需要在程序中控制台中打印数组的全部元素 如果数组的容量较小 例如 只含有10个元素 采用print命令或print函数可以答应出数组中的每个元素
  • 月薪1000到游戏创业赚百万,程序员到自媒体达人,他是怎么做到的?

    深圳雷哥 一位8年游戏开发经验的程序员游戏创业赚了百万从程序员转战自媒体写作与职场教练目前副业每月收入高达4K全网粉丝2 万 预计年底破5万下面来听听雷哥的传奇故事 希望对大家有所启发和帮助 01 我的学生时代 我叫雷巍 今年32岁 来自湖
  • 8个适合新手的Python小项目

    这是我挑出来的8个适合新手的小项目 涉及了爬虫 多线程 selenium PhantomJs itchat 邮件发送 crontab 命令行颜色显示 excel操作 PIL 识别验证码 首先说明 天下没有免费的午餐 每个项目平均下来2元多一
  • Python中保留两位小数的几种方法

    保留两位小数 并做四舍五入处理 方法一 使用字符串格式化 gt gt gt a 12 345 gt gt gt print 2f a 12 35 gt gt gt 方法二 使用round内置函数 gt gt gt a 12 345 gt g
  • 零基础入门 HTML 的 8 分钟极简教程

    在今天 前端工程师已经成为研发体系中的重要岗位之一 可是与此相对的是 极少大学的计算机专业愿意开设前端课 大部分前端工程师的知识 也都是在实践和工作中不断学习的 最近收到很多同学的后台留言 说希望多推出一些前端方向的教程 今天我们就带来一个
  • ​第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程

    朱江 现任联想 北京 有限公司 Android 开发工程师 从事 Android 开发工作多年 有丰富的项目经验 负责和参与开发过多款移动应用程序 同时还是多个开源项目的作者 2017 年开始在 CSDN 发表 Android 技术相关博文
  • n行Python代码系列:两行代码去除抖音快手短视频尾部Logo

    老猿Python博文目录 https blog csdn net LaoYuanPython 一 引言 最近看到好几篇类似 n行Python代码 的博文 看起来还挺不错 简洁 实用 传播了知识 带来了阅读量 撩动了老猿的心 决定跟风一把 推
  • 前端趋势 2022

    大家好 我是若川 持续组织了近一年的源码共读活动 感兴趣的可以 加我微信lxchuan12 参与 每周大家一起学习200行左右的源码 共同进步 同时极力推荐订阅我写的 学习源码整体架构系列 包含20余篇源码文章 历史面试系列 另外 目前建有
  • DDD专家张逸:构建领域驱动设计知识体系

    张逸 读完需要 5分钟 速读仅需 2 分钟 领域驱动设计专家 曾就职于 ThoughtWorks 作为 Lead Consultant 为客户提供架构设计 大数据分析 持续交付 代码质量 敏捷管理等咨询服务 著译作包括 软件设计精要与模式
  • 哈工大2020软件构造Lab3实验报告

    本项目于4 21日实验课验收 更新完成 如果有所参考 请点点关注 点点赞GitHub Follow一下谢谢 2020春计算机学院 软件构造 课程Lab3实验报告 Software Construction 2020 Spring Lab 3
  • C 语言文件读取全指南:打开、读取、逐行输出

    C 语言中的文件读取 要从文件读取 可以使用 r 模式 FILE fptr 以读取模式打开文件 fptr fopen filename txt r 这将使 filename txt 打开以进行读取 在 C 中读取文件需要一点工作 坚持住 我
  • Go 语言运算符详解:加法、算术、赋值、比较、逻辑和位运算符全面解析

    运算符用于对变量和值执行操作 加号运算符 将两个值相加 如下面的示例所示 示例代码 package main import fmt func main var a 15 25 fmt Println a 尽管加号运算符通常用于将两个值相加
  • Python 中多态性的示例和类的继承多态性

    单词 多态 意味着 多种形式 在编程中 它指的是具有相同名称的方法 函数 操作符 可以在许多不同的对象或类上执行 函数多态性 一个示例是 Python 中的 len 函数 它可以用于不同的对象 字符串 对于字符串 len 返回字符的数量 示
  • C# Break 和 Continue 语句以及数组详解

    C Break 它被用于 跳出 switch 语句 break 语句也可用于跳出循环 以下示例在 i 等于 4 时跳出循环 示例 for int i 0 i lt 10 i if i 4 break Console WriteLine i

随机推荐

  • 【OpenCV】车辆识别 C++ OpenCV 原理介绍 + 案例实现

    目录 前言 一 图像处理 二值化处理 膨胀 腐蚀 开运算 闭运算 二 案例实现 Step1 灰度处理 Step2 对视频进行帧差处理 Step3 二值化处理 Step4 腐蚀处理 Step5 膨胀处理 Step6 标记 框选目标 完整代码
  • Project file already exist. ImageManageSys.vcxproj already exists.Select ‘OK‘ to regenerate the file

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 二 错误原因 三 解决办法 前言 我已经安装了Qt visual studio tools插件 当我用visual studio 2019 导入Qt工程中的ImageManageSys p
  • 密码复习——AES

    AES 分组加密 明文的固定长度128位 密钥长度可以是128 192 256位 按明文与密钥长度都是128位来解释AES的加密过程 在AES中 明文是以字节的形式排列 一个字节8bit位 排列如下 AES的整体加密流程 其中最后一轮第十轮
  • centos网络配置

    centos安装后无法上网 方法 修改网络配置 打开一个配置文件 vi etc sysconfig network scripts ifcfg ens33 配置文件的内容 TYPE Ethernet PROXY METHOD none BR
  • RHCSA试题+答案

    把root密码设置为要求的 grub启动菜单选e编辑 找见默认kernel linux16 在行末添加rd break b引导 虚拟机需要删到ro ro保留 虚拟机中小键盘不能用的可能性比较大 特别是用passwd指定root密码的时候不易
  • c语言t0中断方式编程,PIC C语言编程_PICC中断函数的实现

    PICC可以实现C语言的中断服务程序 中断服务程序有一个特殊的定义方法 voidinterruptISR void 其中的函数名 ISR 可以改成任意合法的字母或数字组合 但其入口参数和返回参数类型必须是 void 型 亦即没有入口参数和返
  • 实现HTTPS系列第一弹之【http,https,www,web等概念简介】

    博文说明 前言 本文将通过个人口吻介绍http https www web等相关知识 在目前时间点 2017年5月7号 下 所掌握的技术水平有限 可能会存在不少知识理解不够深入或全面 望大家指出问题共同交流 在后续工作及学习中如发现本文内容
  • SpringBoot原理详解

    SpringBoot是什么 Spring Boot是由Pivotal团队提供的全新框架 其设计目的是用来简化新Spring应用的初始搭建以及开发过程 该框架使用了特定的方式来进行配置 从而使开发人员不再需要定义样板化的配置 用我的话来理解
  • 数据标准化/归一化normalization

    数据标准化 归一化normalization 皮皮blog CSDN博客 http blog csdn net pipisorry article details 52247379 http blog csdn net pipisorry
  • uniapp中git忽略node_modules,unpackage文件

    首先在当前项目的命令行新建 gitignore文件 touch gitignore 再在编辑器中打开该文件 并在该文件中加入需要忽略的文件名 node modules project unpackage DS Store 提示 如果以前提交
  • 统计字符串中汉字的个数

    统计给定文本文件中汉字的个数 input 输入文件首先包含一个整数n 表示测试实例的个数 然后是n段文本 Output 对于每一段文本 输出其中的汉字的个数 每个测试实例的输出占一行 Hint 从汉字机内码的特点考虑 汉字机内码可以理解为a
  • JAVA笔记

    目录 目录 auth getAccessToken获取接口调用凭证 官方文档 官方描述 实际运用 wxacode get生成小程序二维码 官方文档 官方描述 请求地址 实际运用 urlscheme generate生成小程序scheme 用
  • Unity 资源加载卸载过程

    什么时候才是UnusedAssets 看一个例子 Object obj Resources Load MyPrefab GameObject instance Instantiate obj as GameObject Destroy in
  • 力扣300题

    现在开始刷力扣题 这里记录不会的题 https leetcode cn 665 非递减数列 第三遍没写出来 总结思想 利用贪心算法 当i gt i 1时 要不缩小i的值到i 1 要不放大i 1的值到i 并且保证尽量不放大i 1的值 总结 这
  • 【web安全】——floor报错注入

    作者名 Demo不是emo 主页面链接 主页传送门 创作初心 一切为了她 座右铭 不要让时代的悲哀成为你的悲哀 专研方向 web安全 后渗透技术 每日emo 树是生活 埋的是我 看花就好 别看我的落魄 今天给大家讲解的是SQL注入中的flo
  • 记录WSL2配置

    Windows10上安装了WSL2 并通过手动安装了Ubuntu18 04版本 运用Cmder作为终端 quake风格 外观和使用方面都很舒适 shell使用了ohmyzsh 较于默认的shell 功能更加强大且观感更好 编写代码时 利用V
  • 判断一个大于2的正整数n是否为素数的方法有多种,给出两种算法,说明其中一种算法更好的理由

    判断一个大于2的正整数n是否为素数的方法有多种 给出两种算法 说明其中一种算法更好的理由 问题解答 include
  • Qt 帮助项目

    Qt帮助项目收集生成压缩帮助文件所需的所有数据 除了诸如目录 索引关键字和帮助文档之类的实际帮助数据外 它还包含一些其他信息 例如用于标识帮助文件的名称空间 一个帮助项目代表一个文档集 Qt帮助项目文件格式 文件格式是基于XML的 为了更好
  • using UnityEditor引用注意事项

    本文转载自http blog csdn net czlilove article details 19979725 在运行时脚本中使用UnityEditor命名空间 假如该脚本被挂在场景中的物体上 那么 可以这样做 在Unity编辑器中运行
  • 汇编语言(王爽第三版)实验十五

    实验十五 题目与个人思路 安装一个新的int 9中断例程 功能 在DOS下 按下 A 键后 除非不再松开 如果松开 就显示满屏幕的 A 其他的键照常处理 我刚刚开始以为还要判断按下 A 键的扫描码 后来发现不用 只要判断松开 A 键的扫描码