汇编 实时显示系统时间 年月日信息
来源:互联网 发布:粉笔直播课淘宝 编辑:程序博客网 时间:2024/05/18 23:52
编写一个程序,在屏幕上实时地显示日期和时间(例如:2007-4-12 15:32:58显示为3:32:20 P.M. Saturday,April 12,2007)直到任意一个键被按下才退出程序。
showyear macro char
push ax
push si
push cx
push dx
push bx
push di
mov ax,char
mov si, offset divisors
mov di, offset results
mov cx,5
aa:
mov dx,0
div word ptr [si] ;除法指令的被除数是隐含操作数,此处为dx:ax,商ax,余数dx
add al,48 ;商加上48即可得到相应数字的ASCII码
mov byte ptr [di],al
inc di
add si,2
mov ax,dx
loop aa
mov cx,4
mov di, offset results
bb:
cmp byte ptr [di],'0' ;不输出前面的0字符
jne print
inc di
loop bb
print:
mov dx,di
mov ah,9
int 21h
pop di
pop bx
pop dx
pop cx
pop si
pop ax
endm
DISP MACRO CHAR ;显示字符
PUSH AX
PUSH DX
MOV DL,CHAR
MOV AH,2
INT 21H
POP DX
POP AX
ENDM
GETNUM MACRO CHAR ;显示数字
PUSH AX
PUSH DX
PUSH CX
MOV AL,CHAR
AAM
MOV DH,AL
MOV DL,AH
OR DL,30H
MOV AH,2
INT 21H
MOV DL,DH
OR DL,30H
MOV AH,2
INT 21H
POP CX
POP DX
POP AX
ENDM
GETWEEK MACRO CHAR ;显示星期
PUSH AX
PUSH DX
PUSH SI
PUSH CX
LEA SI,D_TAB
MOV AL,CHAR
XOR AH,AH
MOV CX,AX
LOOP1:INC SI
INC SI
LOOP LOOP1
MOV DX,[SI]
MOV AH,9
INT 21H
POP CX
POP SI
POP DX
POP AX
ENDM
GETMONTH MACRO CHAR ;显示月份
PUSH AX
PUSH DX
PUSH SI
PUSH CX
LEA SI,M_TAB
MOV AL,CHAR
DEC AL
XOR AH,AH
MOV CX,AX
LOOP2:INC SI
INC SI
LOOP LOOP2
MOV DX,[SI]
MOV AH,9
INT 21H
POP CX
POP SI
POP DX
POP AX
ENDM
DATAS SEGMENT
divisors DW 10000, 1000, 100, 10, 1
results DB 0,0,0,0,0,"$" ;存放五位数ASCII码
BUF DB 'A$'
BUF1 DB 'YUE$'
D_TAB DW SUN,MON,TUE,WED,THU,FRI,SAT
M_TAB DW JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DCE,TIM
SUN DB 'Sunday$'
MON DB 'Monday$'
TUE DB 'Tuesday$'
WED DB 'Wednesday$'
THU DB 'Thursday$'
FRI DB 'Friday$'
SAT DB 'Saturday$'
JAN DB 'January$'
FEB DB 'February$'
MAR DB 'March$'
APR DB 'April$'
MAY DB 'May$'
JUN DB 'June$'
JUL DB 'July$'
AUG DB 'August$'
SEP DB 'September$'
OCT DB 'October$'
NOV DB 'November$'
DCE DB 'December$'
TIM DB '.M. $'
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
LLL:
mov ah,2
mov bh,0
mov dh,0
mov dl,0
int 10h
MOV AH,2CH
INT 21H
GETNUM CH
DISP 3AH
GETNUM CL
DISP 3AH
GETNUM DH
DISP 00H
CMP CH,12
JA P
DISP 41H
JMP A
P: DISP 50H
A: MOV DX,M_TAB+24
MOV AH,9
INT 21H
MOV AH,2AH
INT 21H
GETWEEK AL
DISP 2CH
GETMONTH DH
DISP 00H
GETNUM DL
DISP 2CH
showyear CX
MOV AH,06H
MOV DL,0FFH
INT 21H
JE LLL
MOV AH,4CH
INT 21H
CODES ENDS
END START
- 汇编 实时显示系统时间 年月日信息
- 实时显示系统时间
- 切换时区,实时刷新时间。。 今天的时间, 周几的信息。。超过7天显示年月日
- 汇编显示系统时间
- js实时显示系统时间
- vc 实时显示系统时间
- VC2008 实时显示系统时间
- Qt实时显示系统时间
- JavaScript实时显示系统时间
- android 实时显示系统时间
- 系统信息时间显示
- javascript显示年月日时间
- 状态栏时间显示年月日
- 显示系统时间(汇编) 图形化显示
- Android动态显示当前年月日时分秒系统时间
- 系统时间、星期、年月日
- 实时显示系统时间(JS)
- 转载:JS实时显示系统时间
- Thinking in C++ (1-9) C++为什么会成功
- 零起点学VB做外挂(五)
- 项目开发的需求分析
- JavaScript笔记——JavaScript的系统函数学习
- VC读写INI文件(转)
- 汇编 实时显示系统时间 年月日信息
- 软件测试相关的63个国外站点
- 零起点学VB做外挂(六)
- struts2乱码问题
- Delphi 快捷键
- Ultraedit使用技巧小结
- 中国各城市工资知多少
- 过滤器
- おめでとう