<自己动手写操作系统>2011033101

【分析】

在debug状态下,查看如下代码运行
; 下面在 A 盘的根目录寻找 LOADER.BIN

    mov    word [wSectorNo], SectorNoOfRootDirectory

LABEL_SEARCH_IN_ROOT_DIR_BEGIN:

    cmp    word [wRootDirSizeForLoop], 0    ; ┓

其中wSectorNo=0,SectorNoOfRootDirectory=19,wRootDirSizeForLoop=14

方便看,此部分转换下:
mov    word [0], 19
cmp    word [14], 0    ;

在debug下,看到这两句对应为:
mov word ptr [7D20],0013

cmp word ptr [7D1E],0000

看到这里,需要补充学习下word ptr以及cmp指令了
问题以:
word [0] 地址是好多,原来数据又是多少,指向哪?

从已学的寻址方式来看,word [0]的段地址是ds段,按字操作

在debug命令跟踪查看
ds=0ba9h
使用d 0ba9:7d20,出现00 00 00 00....
执行mov word ptr [7D20],0013
再查看,出现13 00 00 00....
posted @ 2011-03-31 16:19  西就东城  阅读(199)  评论(0编辑  收藏  举报