[求助]关于修改系统时间
是作业题,要求输入时间,修改系统的时间,但是自己写了找不出来问题在哪里,想请大家帮忙修改一下,找一下问题,谢谢楼下的回复了~~~懒的写循环,所以看起来有点乱~~~
data segment
inf db 'what is the date(mm/dd/yy)?$'
inf1 db 0dh,0ah,'month=$'
month db 3,?,2 dup(?)
inf2 db 0dh,0ah,'date=$'
date db 3,?,2 dup(?)
inf3 db 0dh,0ah,'year=$'
year db 5,?,4 dup(?)
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea dx,inf ;输入时间
mov ah,9
int 21h
lea dx,inf1
mov ah,9
int 21h
lea dx,month
mov ah,0ah
int 21h
lea dx,inf2
mov ah,9
int 21h
lea dx,date
mov ah,0ah
int 21h
lea dx,inf3
mov ah,9
int 21h
lea dx,year
mov ah,0ah
int 21h
mov cx,10
mov bx,0
cmp [month+3],0 ;月份保存在Dh中
jnz mon
mov bl,[month+2]
xor bl,30h
mov dh,bl
jmp da
mon:mov bl,[month+2]
xor bl,30h
mov al,bl
mul cx
mov dh,al
mov bl,[month+3]
xor bl,30h
add dh,bl
da: cmp[date+3],0 ;日期保存在Dl中
jnz dat
mov bl,[date+2]
xor bl,30h
mov dl,bl
jmp ye
dat:mov ax,0
mov bl,[date+2]
xor bl,30h
mov al,bl
mul cx
mov dl,al
mov bl,[date+3]
xor bl,30h
add dl,bl
ye: mov ax,0 ;年份保存在CX中
mov bx,0
mov bl,[year+2]
xor bl,30h
mov ax,bx
mul cx
mov bl,[year+3]
xor bl,30h
add ax,bx
mul cx
mov bl,[year+4]
xor bl,30h
add ax,bx
mul cx
mov bl,[year+5]
xor bl,30h
add ax,bx
mov cx,ax
mov ah,2bh
int 21h
mov ah,4ch
int 21h
code ends
end start
[[italic] 本帖最后由 蝶梦痕 于 2007-12-4 00:05 编辑 [/italic]]