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

《自己动手写操作系统》中的一个小疑点,大家帮忙来看看

2012-02-10 
《自己动手写操作系统》中的一个小问题,大家帮忙来看看!------------------------------------显示AL中的

《自己动手写操作系统》中的一个小问题,大家帮忙来看看!
;   ------------------------------------
;   显示   AL   中的数字
;   默认地:
;数字已经存在   AL   中
;edi   始终指向要显示的下一个字符的位置
;   被改变的寄存器:
;ax,   edi
;   ------------------------------------
DispAL:
pushecx
pushedx

movah,   0Ch;   0000:   黑底         1100:   红字
movdl,   al
shral,   4
movecx,   2
.begin:
andal,   01111b
cmpal,   9
ja.1
addal,   '0 '
jmp.2
.1:
subal,   0Ah
addal,   'A '
.2:
mov[gs:edi],   ax
addedi,   2

moval,   dl
loop.begin
addedi,   2;/*这句似乎是多余的,因为循环体每次循环都给edi加上2了,这里似乎是一个错误,这样一来,edi指向的两个字节就是没有初始化的两个字节,难道是显示一个空位(空格)吗?*/

popedx
popecx

ret
;   DispAL   结束-------------------------

[解决办法]
哦,明白了,脑筋一时转不过弯来,呵呵。

热点排行