获取日期的问题不太懂
两个代码都可以输出年,但是不懂为什么偏移量不同。麻烦大神帮忙讲讲解一下。
第一个代码
PRINT_BCD:
push ax
shr ax, 12 《《这里向右偏移量是12 - 年的第一个数字》》
and ax, 0x000f
add al, 48
call PRINT_CHAR
pop ax
push ax
shr ax, 8
and ax, 0x000f
add al, 48
call PRINT_CHAR
pop ax
push ax
shr ax, 4
and ax, 0x000f
add al, 48
call PRINT_CHAR
pop ax
and ax, 0x000f
add al, 48
call PRINT_CHAR
ret;
PRINT_CHAR:
mov ah, 0x00
xor bx, bx
xor cx, cx
mov bh, 0
mov bl, 0x0e
mov cx, 1
mov ah, 0x09
int 0x10
xor ax, ax
xor bx, bx
inc dl
mov bh, 0
mov ah, 0x02
int 0x10
ret;
第二个代码
mov ah,04
int 1ah
mov bh,ch
shr bh,4 <<这里向右偏移4》》
add bh,30h
mov [f3],bh
mov bh,ch
and bh,0fh
add bh,30h
mov [f3+1],bh
mov bh,cl
shr bh,4
and bh,0fh
add bh,30h
mov [f3+2],bh
mov bh,cl
and bh,0fh
add bh,30h
mov [f3+3],bh