<自己动手写操作系统>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....
在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....
无论生活、还是技术,一切都不断的学习和更新~~~努力~