鱼C论坛

 找回密码
 立即注册
查看: 2876|回复: 0

[学习笔记] 《零基础入门学习汇编语言》第二十八讲

[复制链接]
发表于 2017-7-7 23:54:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 shuiyu 于 2018-1-18 23:16 编辑

越努力,越幸运。欢迎大家来看我的笔记 小白刚学,不对的请各位大佬指正,谢谢

一、一段安全的空间
(1)在8086模式中,随意向一段内存空间写入内容是很危险的 ,因为这段空间中可能存放着重要的系统数据或代码。
(2)我们在纯DOS方式(实模式)下,可以不理会DOS,直接用汇编语言去操作真实的硬件,因为运行在CPU实模式下的DOS,没有能力对硬件系统进行全面、严格地管理。但在Windows XP\2000、UNIX这些运行于CPU保护模式下的操作系统中,不理会操作系统,用汇编语言去操作真实的硬件,是根本不可能的。硬件已被这些操作系统利用CPU保护模式所提供的功能全面而严格地管理了。只要你试图覆盖系统内存,就会报错;使我们不能修改覆盖掉内存。
(3)DOS方式下,一般情况, 0:200~0:2FF 空间中没有系统或其他程序的数据或代码;为了谨慎起见,在进入DOS后,我们可以先用Debug 查看一下,如果0:200~0:2FF单元的内容都是0的话,则证明DOS 和其他合法的程序没有使用这里。


二、将内存ffff:0~ffff:b段元中的数据拷贝到 0:200~0:20b(20:0~20:b)单元中。
(1)正常代码:
这程序其实和我们上一讲的题目差不多,就是改变了段的地址,还有就是多了一个赋值到另一个段的操作。依葫芦画瓢就OK了
1.JPG



(2)优化后的代码(效率更高):
这一个优化了的呢,其实就是在上一个的基础上多使用了一个寄存器es,使得ds不用在一次循环中改变两次,同时被两个段来回赋值。
2.JPG

谢谢小甲鱼带来的视频教程,感谢!!


   
本节结束,多谢览阅!
越努力,越幸运。谢谢大家来看我的笔记 小白刚学,不对的请各位大佬指教,谢谢

评分

参与人数 2鱼币 +11 收起 理由
不二如是 + 5 感谢楼主无私奉献!
小甲鱼 + 6

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 22:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表