为什么程序运行一段时间后会自动关闭。
ThreadProc PROC USES edi Param:DWORD
.while TRUE
invoke GetLocalTime,addr SysTime
;得到系统时间的秒,分,时,分别在7段数码管中显示
;Code7 db 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH
; 0 1 2 3 4 5 6 7 8 9
;Code7是1,2,。。9的数码管编码
;Led7 db 6 dup(?)
;Led7 存储对应秒,分,时的数码管编码
xor eax,eax
xor ebx,ebx
xor ecx,ecx
mov ax,SysTime.wSecond
DIV RADIX ;RADIX = 10
mov bh,00H
mov bl,ah ;ah中存有秒数的个位数
mov ch,Code7[ebx]
mov Led7+0,ch
mov bl,al ;al中存有秒数的十位数
mov ch,Code7[ebx]
mov Led7+1,ch
mov ax,SysTime.wMinute
DIV RADIX
mov bh,00H
mov bl,ah ;ah中存有分的个位数
mov ch,Code7[ebx]
mov Led7+2,ch
mov bl,al ;al中存有分的十位数
mov ch,Code7[ebx]
mov Led7+3,ch
mov ax,SysTime.wHour
DIV RADIX
mov bh,00H
mov bl,ah ;ah中存有小时的个位数
mov ch,Code7[ebx]
mov Led7+4,ch
mov bl,al ;al中存有小时的十位数
mov ch,Code7[ebx]
mov Led7+5,ch
invoke pcicard_iowrite,01H,00H ;调用的DLL函数
mov bl,CountI
mov bh,00H
mov cl,Led7[ebx]
mov Led7I,cl
invoke pcicard_iowrite,00H,Led7I ;调用的DLL函数
mov al,CountI
.while al!=0
shl Sel,1
dec al
.endw
invoke pcicard_iowrite,01H,Sel
mov Sel,01H
.while k < 50000
inc k
dec k
inc k
.endw
mov k,0
.if CountI == 5
mov CountI,0
.else
inc CountI
.endif
.endw
ret
ThreadProc endp
程序运行主要是数码管上显示系统时间,但是好像每次都是运行同一段时间后程序自动关闭。
用VC加载.exe后调试窗口出现
The thread 0xC80 has exited with code 0 (0x0).
The thread 0xA24 has exited with code 0 (0x0).
The program 'D:\masm32\StaDigital.exe' has exited with code 0 (0x0).