丹 青

 

2011年12月4日

汇编语言 第2版 课程设计2代码,附详细说明

摘要: assume cs:codecode segment org 7c00h;因为最终要加载到0:7c00h处,所以标记为7c00h开始的偏移 ; ;由于初学没有一点经验,有的时候碰到问题总感觉程序写的对啊,怎么还是出错。 ;就会怀疑是不是用的虚拟机不兼容,甚至怀疑书里讲的对不对啊之类的 ;不过最终花了一个星期给写出来了!=.=,证明书里讲的都是正确的,使用的虚拟机也完全没有问题(用的是Bochs 2.3虚拟机)。 ;大家在发现奇怪的问题的时候还是要看自己的代码是否正确 ; ;个人觉得难点在功能3,在循环显示时钟的时候还要响应键盘。 ;于是就重写了int9中断,在这个中断里判断用户如果按了es.. 阅读全文

posted @ 2011-12-04 12:32 丹 青 阅读(477) 评论(0) 推荐(0) 编辑

2011年12月1日

汇编学习-汇编中的分段和段地址的定位

摘要: 首先说明以下的内容都是摸索出来的,不敢说一定正确,有不对的地方还请指正。我在学习汇编的过程中一直不明白操作系统是如何分段的和如何将一个段地址赋给寄存器(如有个段data segment 那么 mov ax,data 是如何实现的)经过查找资料和摸索基本了解了其中原理,记录如下:首先看如何分段,比如有如下代码data segmentdb ‘data’data ends我最初的理解是:当程序运行时在获得这个分段的信息后,会自动在内存中查找一段长为64K的未使用空间给这个段使用。我以为一个段固定必须是64K,并且不一定会被分配到内存的哪个地方。后来在实践中发现我的理解是错误的。事实是:一个段最大占用 阅读全文

posted @ 2011-12-01 13:23 丹 青 阅读(2430) 评论(0) 推荐(1) 编辑

导航