首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

读 《Orange‘s一个操作系统的实现》,下面的代码怎么将loader加载到内存

2013-03-26 
读 《Orange‘s一个操作系统的实现》,下面的代码如何将loader加载到内存?LABEL_GOON_LOADING_FILE:pushax `.

读 《Orange‘s一个操作系统的实现》,下面的代码如何将loader加载到内存?
LABEL_GOON_LOADING_FILE:
pushax; `.
pushbx;  |
movah, 0Eh;  | 每读一个扇区就在 "Booting  " 后面
moval, '.';  | 打一个点, 形成这样的效果:
movbl, 0Fh;  | Booting ......
int10h;  |
popbx;  |
popax; /

movcl, 1
callReadSector
popax; 取出此 Sector 在 FAT 中的序号
callGetFATEntry
cmpax, 0FFFh
jzLABEL_FILE_LOADED
pushax; 保存 Sector 在 FAT 中的序号
movdx, RootDirSectors
addax, dx
addax, DeltaSectorNo
addbx, [BPB_BytsPerSec]
jmpLABEL_GOON_LOADING_FILE
LABEL_FILE_LOADED:

movdh, 1; "Ready."
callDispStr; 显示字符串



看不出来将文件拷贝到内存的语句,不懂呀,求大虾指教。
[解决办法]
你是没看明白那两个函数的意思,CALL READSECTOR加载扇区,call getfatentry找下一个扇区

热点排行