|
主题 : : 求汇编可修改日期时间显示 [待解决] |
回复[ 3次 ]
点击[ 504次 ] | |
荣誉值:6
信誉值:0
注册日期:2009-12-03 21:13 |
mov al,9
out 70h,al
mov al,年份
out 71h,al
以此类推9,8,7..... | | |
荣誉值:0
信誉值:0
注册日期:2012-08-02 18:27 |
assume cs:code
code segment
start:
call showclock
jmp short start
mov ax,4c00h
int 21h
showclock:
;输出年份
;-------------------------
mov al,9;读取年份
call readdate
call procesdate
mov di,2
call putchar
mov ax,00100000b
call procesdate
mov di,0
call putchar
;-----------------------
;输出符号 /
;------------------
mov ax,0;
mov ax,2fh
mov di,4
call putchar
;-------------------
;输出月份 输出位置 6
;--------------------------
mov al,8;读取月份
call readdate
call procesdate
mov di,6
call putchar
;---------------------------
;输出符号 /
;------------------
mov ax,0;
mov ax,2fh
mov di,8
call putchar
;-------------------
;-------------------
;输出日 输出位置 10
;--------------------------
mov al,7;读取月份
call readdate
call procesdate
mov di,10
call putchar
;---------------------------
;输出小时
;--------------------------
mov al,4;读取月份
call readdate
call procesdate
mov di,14
call putchar
;---------------------------
;输出符号 :
;------------------
mov ax,0;
mov ax,3ah
mov di,16
call putchar
;-------------------
;输出分
;--------------------------
mov al,2;读分
call readdate
call procesdate
mov di,18
call putchar
;---------------------------
;输出符号 :
;------------------
mov ax,0;
mov ax,3ah
mov di,20
call putchar
;-------------------
;输出小时
;--------------------------
mov al,0;读取月份
call readdate
call procesdate
mov di,22
call putchar
ret
procesdate:
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add al,30h
add ah,30h
ret
putchar:;ax传入的是ACSII码 di 参数是传入的参数的位置
mov dx,0b800h
mov es,dx
mov dx,ax
mov cx,di
mov si,640
mov al,2
mul cl
add si,ax
mov byte ptr es:[si],dh
mov byte ptr es:[si+1],3
mov byte ptr es:[si+2],dl
mov byte ptr es:[si+2+1],3
ret
readdate:
out 70h,al
in al,71h
ret
code ends
end start | | |