Assembly 8086中的打印系统时间
我想在8086程序中打印当前时间,但为什么它只打印奇怪的字符 此外,当我的系统中的时间为9:50时,CH值为15,CL值为33Assembly 8086中的打印系统时间,assembly,x86,x86-16,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 m
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
你可以试试这个
.小型模型
.堆栈64
数据
显示数据库24小时->
人力资源数据库?,,':'
最小分贝?,?,'HH:MM',10,13',$'
密码
开始:
MOV-AX,@DATA
MOV-DS,AX
MOV-AH,2CH
INT 21H
莫夫艾尔,CH
空空导弹
添加AX,3030H
MOV HR,啊
MOV HR+1,铝
莫夫艾尔酒店
空空导弹
添加AX,3030H
莫夫敏,啊
移动最小值+1,铝
LEA DX,DISP
MOV啊,09H
INT 21H
INT 3
结束-开始
终止
您的小时/分钟值是整数。int 21h/ah=9需要一个字符串地址。15h是小时21的十六进制值,33h是分钟51的十六进制值。要将十六进制或二进制值转换为十进制数,StackOverflow中有很多示例。