进日,我在看一时钟TSR程序,分析其中一个把BIOS数据区中的定时器数据转换成HH:MM:SS时间格式的数据(ASCII)的
程序片段时,既学到一点东西,又发现了一写自己弄不明白的
问题。现在我把自己学到的好东西写出来与大家分享,同时向各路高手请教请教。
程序片段如下:(汇编语言
程序)
(省略)
HMS db 8 dup('':'')
time proc
lea di,position ;(1) --行号
mov ax,0 ;(2)
mov ds,ax ;(3)
mov al,ds:[46eh] ;(4)
call clk1 ;(5)
mov ax,ds:[46ch] ;(6)
mov dx,0 ;(7)
mov bx,444h ;(8)
call clk0 ;(9)
mov ax,dx ;(10)
mov cx,3ch ;(11)
mul cx ;(12)
clk0:
add di,3 ;(13)
div bx ;(14)
clk1:
aam ;(15)
add ax,3030h ;(16)
xchg ah,al ;(17)
mov cs:[di],ax &nb