Date 装配打印系统日期
由于cx寄存器的大小,我在打印系统日期时遇到问题。如果没有任何大的改变,如何解决这个问题Date 装配打印系统日期,date,assembly,x86,masm,Date,Assembly,X86,Masm,由于cx寄存器的大小,我在打印系统日期时遇到问题。如果没有任何大的改变,如何解决这个问题 title casadatum zas segment stack db 256 dup(?) zas ends strsize EQU 64 dat segment print db 'Current System Date is : $' date db 'dd:mm:rrrr$' nl db 10,13,'$' dat ends cod
title casadatum
zas segment stack
db 256 dup(?)
zas ends
strsize EQU 64
dat segment
print db 'Current System Date is : $'
date db 'dd:mm:rrrr$'
nl db 10,13,'$'
dat ends
code segment
assume cs:code, ss:zas, ds:dat
get_date proc
mov ah,2ah
int 21h
mov al,dl
call convert
mov [bx],ax
mov al,dh
call convert
mov [bx+3],ax
mov al,cx
call convert
mov [bx+6],ax
ret
endp
convert proc
push dx
mov ah,0
mov dl,10
div dl
or ax, 3030h
pop dx
ret
endp
start:
mov ax, seg dat
mov ds,ax
LEA BX, date
CALL GET_date
lea dx,print
mov ah,09h
int 21h
lea dx,date
mov ah,09h
int 21h
koniec:
mov ah, 4ch
int 21h
code ends
end start
替换这部分代码
mov al,cx
call convert
mov [bx+6],ax
按照这些指示
mov al,100
xchg ax,cx
div cl
mov ch,ah
call convert
mov [bx+6],ax
mov al,ch
call convert
mov [bx+8],ax
将
cx
除以100,然后依次打印商和余数。