;编程在屏幕中间显示当前年、月、日、时、分、秒
;资料:秒0分2时4日7月8年9
;这6个信息分别用bx,dx,ax来存储
assume cs:code
code segment
start: mov si,12*160+68
mov al,9h
jmp short s
s1: mov al,8h
jmp short s
s2: mov al,7h
jmp short s
s3: mov al,4h
jmp short s
s4: mov al,2h
jmp short s
s5: mov al,0h
s: out 70h,al
mov bh,al;取得AL值用以决定跳转点
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
call print
cmp bh,9h
je s1
cmp bh,8h
je s2
cmp bh,7h
je s3
cmp bh,4h
je s4
cmp bh,2h
je s5
mov ax,4c00h
int 21h
print: mov dx,0b800h
mov ds,dx
mov [si],ah
mov [si+2],al
cmp bh,7
ja t1;大于7则
je t2
cmp bh,0
je t
mov byte ptr [si+4],':'
jmp t3
t1: mov byte ptr [si+4],'/'
jmp t3
t2: mov byte ptr [si+4],' '
t3: add si,6
t: ret
code ends
end start
- [tinyparticle] 没有问题。 09/20 22:30
- [wsrf] 要求是在显示过程中只要按下ESC键,字母的颜色就要发生一次改变。 09/16 08:17
- [huibian2009] 多谢指点,是我太大意了。 09/14 16:29
- [tinyparticle] popf call dword ptr ds:[0] 所以此处只要将标志寄存器入栈就可以 09/11 20:10
- [huibian2009] 多谢您的提醒,使我对汇编又多了一些了解。这里的ASSUME不能省略。再次感谢! 09/11 11:28
- [lwbfq] 没有问题。 09/10 18:59
- [lwbfq] 正确。 09/10 18:59
- [lwbfq] 这个程序有点问题。博主运行一下看看结果就知道了。 09/10 18:58
- [lwbfq] 没问题,博主继续努力。 09/10 18:50
- [wsrf] 没有问题。 09/10 08:34
- [scuzg] 谢谢你的意见,我也希望和同学交流,以提高授课效率。我的QQ是28926141,有空聊聊。 11/12 11:09