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

2023-11-09

实验十七

这道题我也不知道写的对不对,逻辑上应该没啥问题,但是运行起来好像没效果。

题目和个人思路

安装一个新的int 7ch中断例程,实现通过逻辑扇区号对软盘进行读写。
参数说明:
(1)用ah寄存器传递功能号:0表示读,1表示写。
(2)用dx寄存器传递要读写的扇区的逻辑扇区号。
(3)用es:bx指向存储读出数据或写入数据的内存区。

代码如下:

assume cs:code

code segment
start:
	mov ax,cs
	mov ds,ax
	mov si,offset int7ch
	mov ax,0
	mov es,ax
	mov di,200h
	mov cx,offset int7ch_end - offset int7ch
	cld
	rep movsb
	
	cli
	mov word ptr es:[7ch*4],200h
	mov word ptr es:[7ch*4+2],0
	sti

	mov ax,4c00h
	int 21h
	
;16位除法,dx高位,ax低位,ax商,dx余数
int7ch:
	push cx
	push dx
	push bx
	push ax

	mov ax,dx
	mov dx,0
	mov bx,1440
	div bx
	mov cl,al		;面号,先存在cl中

	mov ax,dx		;dx=rem(逻辑扇区号/1440)
	mov dh,cl		;将暂存在cl中的面号存在dh中
	mov dl,0		;驱动器号,软驱 0

	mov bl,18
	div bl			;div bl=rem((逻辑扇区号/1440)/18)
	mov ch,al		;磁道号。al=int(rem(逻辑扇区号/1440)/18)

	inc ah			;ah=rem(rem(逻辑扇区号/1440)/18)
	mov cl,ah		;扇区号

	pop ax
	push ax
	mov al,0		;读写扇区数
	cmp ah,0
	je read
	cmp ah,1
	je write

read:
	mov ah,2
	jmp short ok
write:
	mov ah,3
	jmp short ok
ok:
	int 13h
	pop ax
	pop bx
	pop dx
	pop cx

	iret
int7ch_end:
	nop

code ends
end start


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

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

  • 什么是COBOL? COBOL编程说明

    有些技术永不消亡 它们只是逐渐消失在木制品中 向普通软件开发人员询问有关COBOL 面向通用商业语言 的信息 他们会看着您 就像您提到复写纸 含铅汽油或78 RPM记录一样 与Go或Python甚至Pascal或C 之类的现代语言相比 CO
  • 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
  • 微服务实践--微服务方法论00

    思想 在接收到一个新的新项目时 架构师的职责是建立项目的业务与技术实现之间的桥梁 在翻译业务到技术实现的过程中需要进行业务建模 技术设计等方面的工作 业务建模和技术设计过程中都有各自领域的知识体系 基本上每个知识体系都是由上层的理论 概念和
  • 如何在Controller层实现事务管理?

    在spring aop 事务管理中发现 我们是在service层实现的事务管理 现在有如下场景 大家讨论下看如何实现 ControllerA ControllerB ControllerC 共同依赖ServiceA ServiceB 上述C
  • “千年虫”,计算机的巨大BUG!

    作者 十三侃娱乐 说起来 现在社会科技中 除了真正学过计算机专业的人 大部分人对于 千年虫 这个称号都有些陌生 甚至有些人连听都没听过 不知道的网友听到 虫 这个字可能还会脑补出一大堆不明生物的样子 但其实 千年虫 并不是一种生物 而是一种
  • 学姐去微软了

    这篇文章是我邀请在微软工作的学姐写的 最近正好是金九银十校招季 所以我邀请学姐写下当年她面试时的一些经验 希望对大家有帮助 自我介绍 烤冷面 女 hitCS专业本 硕 2018年之前没有PM实习经验 2018年暑期实习拿到腾讯和微软的PM岗
  • 面向过程和面向对象的语言有哪些,以及优缺点(一篇文章让你理解)

    C语言是面向过程的 而C python java是面向对象的 面向过程的编程思想将一个功能分解为一 个一个小的步骤 我们通过完成一个一 个的小的步骤来完成一个程序 优点 这种编程方式 符合我们人类的思维 编写起来相对比较简单 缺点 但是这种
  • 借力亚马逊云科技实现 Apache APISIX 的生态探索与产品成长

    关于 Apache APISIX Apache APISIX 于 2019 年被两位创始人捐赠给 Apache 软件基金会孵化器 并于第二年7月从孵化器毕业 成为 Apache 顶级项目 APISIX 作为开源 API 网关 一直以活跃和快
  • 为什么程序员都喜欢安静?

    大家回顾一下上学期间 你在上晚自习想完成今天老师布置的作业 但是你的班级却非常的吵闹 跟置身在菜市场一样 你能专心完成作业吗 不受周围吵闹环境的影响吗 相信大部分的人都难以静下心来认真完成作业 有时候好不容易想到一个思路 结果旁边的人拍你一
  • 利用hbase api在本地访问并操作服务器的hbase数据库

    最近因为实验室项目需要 开始研究了hbase 然后想一次性往集群服务器上写入大量的数据 并存到hbase中 考虑到在hbase shell下只能单个数据put 这样对于批量插入数据的要求完全不合适 于是就研究起hbase的java api
  • 与Miriam Suzanne一起进行Sass,Susy,单元测试和寻找声音

    In this episode of the Versioning Show Tim and David are joined by Miriam Suzanne best known for Susy a responsive layou
  • Gavin Wood Web3峰会最新演讲:波卡不是智能合约平台,而是平台的平台(全文)...

    在波卡上 每个平台都在用高性能 高效率和最优的方式做着自己擅长的事 而不必让它们的用户用底层平台的货币进行支付 从而将可定制性和灵活性提高了一个台阶 本文谨代表作者个人观点 不代表火星财经立场 该内容旨在传递更多市场信息 不构成任何投资建议
  • 理解line-height和vertical-align

    来源 https www cnblogs com libo web p 15457582 html 行高 line height line height 属性是指文本行基线之间的距离 用于设置多行元素的空间量 如多行文本的间距 对于块级元素
  • java 中的指针_Java中的指针

    java 中的指针 Java中有指针吗 简短的答案是 不 没有 这对于许多开发人员来说似乎是显而易见的 但是 为什么对其他人却不那么明显呢 http stackoverflow com questions 1750106 how can i
  • ​第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程

    朱江 现任联想 北京 有限公司 Android 开发工程师 从事 Android 开发工作多年 有丰富的项目经验 负责和参与开发过多款移动应用程序 同时还是多个开源项目的作者 2017 年开始在 CSDN 发表 Android 技术相关博文
  • SitePoint播客#61:HTML5 =厨房水槽

    Episode 61 of The SitePoint Podcast is now available This week your hosts are Patrick O Keefe iFroggy Stephan Segraves s
  • 朋友问我,程序员和非程序员的思维模式有什么区别?

    英文 https javascript plainenglish io what is the difference in thinking model between programmers and normal persons 8ff8
  • python到底值不值得学,自学两年,有话说!!

    首先说说笔者自己 笔者从小就对计算机有浓厚的兴趣 无奈家里穷 买不起 考大学的时候又阴差阳错的进了文科专业 高大上的工商管理专业 第一台计算机 还是大二的时候花了600买的二手货 海尔品牌机 赛扬466cpu 那时候主流的cpu奔腾500
  • Python 程序设计习题(4) —— 列表与元组

    目录 1 Python 习题部分 2 Python 习题讲解 列表 元组 其他 1 Python 习题部分 要想学习一门语言 便少不了练习 故附上部分 Python 习题 供大家学习参考 如有错误之处 还望指正 1 二年级一班举行了数学考试
  • Docker CLI 实战指南:从基础命令到 Dockerfile 构建和 Docker Compose

    Docker CLI 命令行界面 是一个强大的工具 可让您与 Docker 容器 映像 卷和网络进行交互和管理 它为用户提供了广泛的命令 用于在其开发和生产工作流中创建 运行和管理 Docker 容器和其他 Docker 资源 安装 要开始

随机推荐

  • org.springframework.data.repository.query.QueryByExampleExecutor cannot be resolved.

    SpringBoot 集成JPA提示如下错误信息 The type org springframework data repository query QueryByExampleExecutor cannot be resolved It
  • 多团队协作开发的大型项目Git工作流设计分享

    一 项目简介 文章内容以我自己实际负责的项目前端代码的管理为例 每个公司的git工作流设计应以公司的实际为准 该分享仅做参考 1 项目架构设计 采用基于qiankun的前端微应用 基座应用 业务模块应用 架构设计 项目所管理的供应商达400
  • 一些在前后端用来进行储存数据的地方或者方式

    一些在前后端用来进行储存数据的地方或者方式 文件 可以通过生成新文件的方式将新数据进行储存 这里要考虑到对文件的读写 容量 操作繁琐等等 数据库 属于后端储存数据的地方 如果前端去拿数据的话需要发送HTTP请求 缓存 也叫cache mem
  • VUE tree树双击选中(显示层级结构) 及 vuedraggable插件拖拽功能的实现

    左侧双击选中到中间 显示层级结构 中间可拖拽到右侧 且不可重复拖拽 右侧上下可互相拖拽
  • JS 删除数组中某个元素的几种方式

    目录 第一种 删除最后一个元素 pop 删除 slice 删除 splice 删除 for 删除 length 删除 第二种 删除第一个元素 shift 删除 slice 删除 splice 删除 第三种 删除数组中某个指定下标的元素 sp
  • Opencascade之选择对象

    一 选择模式 Opencascade 通过鼠标选择对象 有多种选择模式 调用AIS InteractiveContext Activate方法进行设置 void SinnView SetSelectMode TopAbs ShapeEnum
  • Vue组件通信方式(8种)

    1 一图认清组件关系名词 父子关系 A与B A与C B与D C与E 兄弟关系 B与C 隔代关系 A与D A与E 非直系亲属 D与E 总结为三大类 父子组件之间通信 兄弟组件之间通信 跨级通信 2 8种通信方式及使用总结 props emit
  • Wireshark—网络分析工具

    Wireshark介绍 WireShark是非常流行的网络封包分析工具 可以截取各种网络数据包 并显示数据包详细信息 常用于开发测试过程中各种问题定位 WireShark软件安装 软件下载路径 wireshark官网 按照系统版本选择下载
  • 电子设计大赛应该准备什么

    电赛的准备 电子设计大赛应该准备什么 基 础 知 识 储 备 基本材料的准备 必 备 技 能 项 目 训 练 Wish 总结 电子设计大赛应该准备什么 2021年的电子设计大赛就要来了 小伙伴是否已经开始紧张的装备呢 下面进入正题 想参加比
  • 记录一次笔试题(R语言)

    记录一次笔试题 R语言 data lt read csv 银行 csv 1 取出李姓 法1 record xingshi c FALSE FALSE FALSE FALSE for i in 1 4 if substring data i
  • mybatis将时间存入数据库后,只有日期,时分秒全是0

    问题原因分析 a 数据库字段类型问题 mysql数据库中 date 为年月日 time为时分秒 datetime为年月日时分秒 pgsql数据库中 Date为年月日 timestamp为年月日时分秒 b mybatis中jdbcType c
  • 【数据分析】数据分析方法(四):多维度拆解分析 & 对比分析

    数据分析方法 四 多维度拆解分析 对比分析 1 多维度拆解分析方法 对于多维度拆解分析方法 要理解两个关键词 维度 拆解 只看数据整体 我们可能注意不到数据内部各个部分构成的差异 如果忽略这种差异进行比较 就有可能导致无法察觉该差异所造成的
  • 冒泡排序,快速排序详解及C++代码详细实现

    冒泡排序 冒泡排序的基本思想是 从后往前 或从前往后 两两比较相邻元素的值 若为逆序 即A i 1 gt A i 则交换它们 直到序列比较完 我们称它为第一趟冒泡 结果是将最小的元素交换到待排序列的第一个位置 或将最大的元素交换到待排序列的
  • CubeMX 5.5 修改HAL库库函数版本

    最初我是按照软件推荐 自动按安装的1 15的 为了和正点原子的例程统一库函数版本 就下载了1 11 但是在工程配置界面始终没有办法修改hal库版本的选择 关闭CubeMX 使用记事本打开工程文件 修改版本号 重新打开工程 库版本修改成功 工
  • Linux学习基础操作和文件管理命令

    Linux学习基础操作和文件管理命令 1 如何解决系统图形出现问题 1 ctrl alt f2 f6 gt gt gt 进入虚拟控制台 ctrl alt f1 gt gt gt 返回图形 2 登陆系统获得root权限 执行init 3 lo
  • 关于富文本编辑图片移动端太大溢出,太小正常处理

    在使用富文本编辑完文章 生成html字符串后 直接给移动端使用 如果图片太大 会出现溢出 图片太小没有问题 如果简单粗暴给全局样式img添加width 100 是可以解决溢出问题 但又造成了一个新的问题 就是小图片之前没有溢出也都变成了10
  • No Feign Client for loadBalancing defined. Didyou forget to include spring-cloud-starter-loadbalance

    Unexpected exception during bean creation nested exception is java lang IllegalStateException No Feign Client for loadBa
  • 解决idea不能搜索任何插件

    解决idea不能搜索任何插件 解决idea不能搜索任何插件
  • 持续集成/技术交付全流程流水线工具的设计与落地

    文章目录 持续集成 技术交付全流程流水线工具的设计与落地 概述 工具架构设计 主要功能模块 代码库 Jenkins 流水线 代码构建 自动化测试 产品部署 监控报警 使用方法 步骤一 安装 Jenkins 步骤二 创建 Jenkins 流水
  • 汇编语言(王爽第三版)实验十七

    实验十七 这道题我也不知道写的对不对 逻辑上应该没啥问题 但是运行起来好像没效果 题目和个人思路 安装一个新的int 7ch中断例程 实现通过逻辑扇区号对软盘进行读写 参数说明 1 用ah寄存器传递功能号 0表示读 1表示写 2 用dx寄存