打印系统时间8086

时间:2014-12-10 13:54:11

标签: assembly x86 x86-16

我想打印8086程序中的当前时间,但为什么只打印奇怪的字符?

此外,当我的系统中的时间是9:50时,CH值为15,CL为33。

org 100h   

data segment
hour db " "
min db " "
data ends

printf MACRO str
    lea dx, str
    mov ah, 9
    int 21h
endm

code segment

start:

mov ah, 2Ch
int 21h    

mov hour, CH
mov min, CL 

printf hour
printf min

ret

1 个答案:

答案 0 :(得分:0)

您可以尝试这个

.MODEL SMALL .STACK 64 .DATA DISP DB "24-HOUR --> " HR DB ?,?,' : ' MIN DB ?,?,' HH:MM ',10,13,'$' .CODE START: MOV AX,@DATA MOV DS,AX MOV AH,2CH INT 21H MOV AL,CH AAM ADD AX, 3030H MOV HR, AH MOV HR+1, AL MOV AL,CL AAM ADD AX, 3030H MOV MIN, AH MOV MIN+1,AL LEA DX,DISP MOV AH,09H INT 21H INT 3 END START .END