⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.asm

📁 CMOS数据的写程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
ADJRing0:
	mov	 eax, [esp+4]
	mov eax,dword ptr [_Ring3ProcName+4]
	call dword ptr [_Ring3ProcName]
	ret	
@39:
ADJRing3:
@40:
	pop edx
	ret 
@@Ring0Proc$qqrv	endp
@Ring0Proc$qqrv	ends
_TEXT	ends
_DATA	segment dword public use32 'DATA'
	align	4
_NaN	label	tbyte
	db 0,0,0,0,0,0,0,192,255,255
	align	4
_Infinity	label	tbyte
	db 0,0,0,0,0,0,0,128,255,127
	align	4
_NegInfinity	label	tbyte
	db 0,0,0,0,0,0,0,128,255,255
	align	4
@Math@MinSingle	label	tbyte
	db 0,88,128,76,15,10,4,137,106,63
	align	4
@Math@MaxSingle	label	tbyte
	db 0,104,253,102,60,158,201,255,126,64
	align	4
@Math@MinDouble	label	tbyte
	db 0,0,0,0,0,0,0,128,205,59
	align	4
@Math@MaxDouble	label	tbyte
	db 0,176,219,185,131,137,22,242,254,67
	align	4
@Math@MinExtended	label	tbyte
	db 0,0,0,0,0,0,0,0,0,0
	align	4
@Math@MaxExtended	label	tbyte
	db 0,0,0,0,0,0,0,128,255,127
	align	4
@Math@MinComp	label	tbyte
	db 0,128,145,214,238,255,255,255,61,192
	align	4
@Math@MaxComp	label	tbyte
	db 0,128,145,214,238,255,255,255,61,64
 ?debug C FB0C0100600000
_DATA	ends
_BSS	segment dword public use32 'BSS'
	align	4
_Form1	label	dword
	db	4	dup(?)
_BSS	ends
_DATA	segment dword public use32 'DATA'
@_$DCVN$@TForm1@$bctr$qqrp18Classes@TComponent	segment virtual
	align	2
@@_$DCVN$@TForm1@$bctr$qqrp18Classes@TComponent	label	dword
	dd	@@$xt$p6TForm1
	dd	1029
	dd	-4
	dd	0
@_$DCVN$@TForm1@$bctr$qqrp18Classes@TComponent	ends
_DATA	ends
_DATA	segment dword public use32 'DATA'
@_$ECTWN$@TForm1@$bctr$qqrp18Classes@TComponent	segment virtual
	align	2
@@_$ECTWN$@TForm1@$bctr$qqrp18Classes@TComponent	label	dword
	dd	0
	dd	-40
	dw	0
	dw	5
	dd	0
	dd	@@_$DCVN$@TForm1@$bctr$qqrp18Classes@TComponent
@_$ECTWN$@TForm1@$bctr$qqrp18Classes@TComponent	ends
_DATA	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@$bctr$qqrp18Classes@TComponent	segment virtual
	align	2
@@TForm1@$bctr$qqrp18Classes@TComponent	proc	near
?live16400@0:
	push ebp
	mov ebp,esp
	add esp,-40
	test dl,dl
	push ebx
	push esi
	mov byte ptr [ebp-8],dl
	jle       short @41
	call __ClassCreate
@41:
@42:
	mov esi,ecx
	mov ebx,edx
	mov dword ptr [ebp-4],eax
	mov eax,offset @@_$ECTWN$@TForm1@$bctr$qqrp18Classes@TComponent
	call @__InitExceptBlockLDTC
?live16400@16: ; ESI = Owner, EBX = $delflag
	mov word ptr [ebp-24],8
	mov ecx,esi
	xor edx,edx
	mov eax,dword ptr [ebp-4]
	call @@Forms@TForm@$bctr$qqrp18Classes@TComponent
	add dword ptr [ebp-12],16
?live16400@32: ; EBX = $delflag
	mov edx,dword ptr [ebp-40]
	mov dword ptr fs:[0],edx
	mov eax,dword ptr [ebp-4]
@44:
@43:
	test bl,bl
	je        short @45
	call __AfterConstruction
?live16400@48: ; 
@45:
	pop esi
	pop ebx
	mov esp,ebp
	pop ebp
	ret 
@@TForm1@$bctr$qqrp18Classes@TComponent	endp
@TForm1@$bctr$qqrp18Classes@TComponent	ends
_TEXT	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@FormShow$qqrp14System@TObject	segment virtual
	align	2
@@TForm1@FormShow$qqrp14System@TObject	proc	near
?live16405@0:
@46:
	xor edx,edx
	call @@TForm1@ShowTimer$qqrp14System@TObject
@47:
	ret 
@@TForm1@FormShow$qqrp14System@TObject	endp
@TForm1@FormShow$qqrp14System@TObject	ends
_TEXT	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@FormCreate$qqrp14System@TObject	segment virtual
	align	2
@@TForm1@FormCreate$qqrp14System@TObject	proc	near
?live16406@0:
@48:
	call @@OpenWinRing$qv
@49:
	ret 
@@TForm1@FormCreate$qqrp14System@TObject	endp
@TForm1@FormCreate$qqrp14System@TObject	ends
_TEXT	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@FormCloseQuery$qqrp14System@TObjectro	segment virtual
	align	2
@@TForm1@FormCloseQuery$qqrp14System@TObjectro	proc	near
?live16407@0:
@50:
	call @@CloseWinRing$qv
@51:
	ret 
@@TForm1@FormCloseQuery$qqrp14System@TObjectro	endp
@TForm1@FormCloseQuery$qqrp14System@TObjectro	ends
_TEXT	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@Button1Click$qqrp14System@TObject	segment virtual
	align	2
@@TForm1@Button1Click$qqrp14System@TObject	proc	near
?live16408@0:
@52:
	call @@Forms@TCustomForm@Close$qqrv
@53:
	ret 
@@TForm1@Button1Click$qqrp14System@TObject	endp
@TForm1@Button1Click$qqrp14System@TObject	ends
_TEXT	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@ReadRTC$qqrv	segment virtual
	align	2
@@TForm1@ReadRTC$qqrv	proc	near
?live16409@0:
	push ecx
@54:
 	cli	
?live16409@32: ; EAX = this
@55:
	xor edx,edx
	lea ecx,dword ptr [eax+792]
?live16409@48: ; EDX = i, ECX = @temp1
@56:
	mov eax,edx
	add eax,eax
	mov byte ptr [esp+1],al
?live16409@64: ; 
	mov	 al, byte ptr [esp+1]
	out	 070H, al
	in	 al, 071H
	mov	 byte ptr [esp+0], al
?live16409@128: ; EDX = i, ECX = @temp1
	mov al,byte ptr [esp]
	mov byte ptr [ecx],al
@58:
@59:
	inc edx
	inc ecx
	cmp edx,3
	jl        short @56
?live16409@160: ; 
@57:
 	sti	
@60:
	pop edx
	ret 
@@TForm1@ReadRTC$qqrv	endp
@TForm1@ReadRTC$qqrv	ends
_TEXT	ends
_DATA	segment dword public use32 'DATA'
@_$DCXN$@TForm1@ShowTimer$qqrp14System@TObject	segment virtual
	align	2
@@_$DCXN$@TForm1@ShowTimer$qqrp14System@TObject	label	dword
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-4
	dd	0
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-4
	dd	0
@_$DCXN$@TForm1@ShowTimer$qqrp14System@TObject	ends
_DATA	ends
_DATA	segment dword public use32 'DATA'
@_$ECTYN$@TForm1@ShowTimer$qqrp14System@TObject	segment virtual
	align	2
@@_$ECTYN$@TForm1@ShowTimer$qqrp14System@TObject	label	dword
	dd	0
	dd	-40
	dw	0
	dw	5
	dd	0
	dd	@@_$DCXN$@TForm1@ShowTimer$qqrp14System@TObject+16
	dw	0
	dw	5
	dd	0
	dd	@@_$DCXN$@TForm1@ShowTimer$qqrp14System@TObject
@_$ECTYN$@TForm1@ShowTimer$qqrp14System@TObject	ends
_DATA	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@ShowTimer$qqrp14System@TObject	segment virtual
	align	2
@@TForm1@ShowTimer$qqrp14System@TObject	proc	near
?live16410@0:
@61:
	push ebp
	mov ebp,esp
	add esp,-40
	push ebx
	mov ebx,eax
	mov eax,offset @@_$ECTYN$@TForm1@ShowTimer$qqrp14System@TObject
	call @__InitExceptBlockLDTC
?live16410@16: ; EBX = this
	mov dword ptr [_Ring3ProcName],offset @@TForm1@ReadRTC$qqrv
	mov dword ptr [_Ring3ProcName+4],ebx
	call @@Ring0Proc$qqrv
	mov word ptr [ebp-24],8
	xor edx,edx
	lea eax,dword ptr [ebp-4]
	mov dword ptr [ebp-4],edx
	inc dword ptr [ebp-12]
	xor ecx,ecx
	mov word ptr [ebp-24],20
	mov cl,byte ptr [ebx+794]
	push ecx
	push offset s@+101
	push eax
	call @@System@AnsiString@sprintf$qpxce
	add esp,12
	mov edx,dword ptr [ebp-4]
	mov eax,dword ptr [ebx+756]
	call @@Controls@TControl@SetText$qqrx17System@AnsiString
	xor edx,edx
	lea ecx,dword ptr [ebp-4]
	mov dl,byte ptr [ebx+793]
	push edx
	push offset s@+106
	push ecx
	call @@System@AnsiString@sprintf$qpxce
	add esp,12
	mov edx,dword ptr [ebp-4]
	mov eax,dword ptr [ebx+764]
	call @@Controls@TControl@SetText$qqrx17System@AnsiString
	xor ecx,ecx
	lea eax,dword ptr [ebp-4]
	mov cl,byte ptr [ebx+792]
	push ecx
	push offset s@+111
	push eax
	call @@System@AnsiString@sprintf$qpxce
	add esp,12
	mov edx,dword ptr [ebp-4]
	mov eax,dword ptr [ebx+768]
	call @@Controls@TControl@SetText$qqrx17System@AnsiString
?live16410@208: ; 
	dec dword ptr [ebp-12]
	lea eax,dword ptr [ebp-4]
	mov edx,2
	call @@System@AnsiString@$bdtr$qqrv
	mov ecx,dword ptr [ebp-40]
	mov dword ptr fs:[0],ecx
@62:
	pop ebx
	mov esp,ebp
	pop ebp
	ret 
@@TForm1@ShowTimer$qqrp14System@TObject	endp
@TForm1@ShowTimer$qqrp14System@TObject	ends
_TEXT	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@ReadComs$qqrv	segment virtual
	align	2
@@TForm1@ReadComs$qqrv	proc	near
?live16413@0:
	push ecx
@63:
 	cli	
?live16413@32: ; EAX = this
@64:
	xor edx,edx
	lea ecx,dword ptr [eax+795]
?live16413@48: ; EDX = i, ECX = @temp1
@65:
	mov byte ptr [esp+1],dl
?live16413@64: ; 
	mov	 al, byte ptr [esp+1]
	out	 070H, al
	in	 al, 071H
	mov	 byte ptr [esp+0], al
?live16413@128: ; EDX = i, ECX = @temp1
	mov al,byte ptr [esp]
	mov byte ptr [ecx],al
@67:
@68:
	inc edx
	inc ecx
	cmp edx,128
	jl        short @65
?live16413@160: ; 
@66:
 	sti	
@69:
	pop edx
	ret 
@@TForm1@ReadComs$qqrv	endp
@TForm1@ReadComs$qqrv	ends
_TEXT	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@WriteComs$qqrv	segment virtual
	align	2
@@TForm1@WriteComs$qqrv	proc	near
?live16414@0:
	push ecx
@70:
 	cli	
?live16414@32: ; EAX = this
@71:
	mov edx,16
	lea ecx,dword ptr [eax+811]
?live16414@48: ; EDX = i, ECX = @temp1
@72:
	mov byte ptr [esp+1],dl
	mov al,byte ptr [ecx]
	mov byte ptr [esp],al
?live16414@80: ; 
	mov	 al, byte ptr [esp+1]
	out	 070H, al
	mov	 al, byte ptr [esp+0]
	out	 071H, al
?live16414@144: ; EDX = i, ECX = @temp1
@74:
@75:
	inc edx
	inc ecx
	cmp edx,128
	jl        short @72
?live16414@160: ; 
@73:
 	sti	
@76:
	pop edx
	ret 
@@TForm1@WriteComs$qqrv	endp
@TForm1@WriteComs$qqrv	ends
_TEXT	ends
_DATA	segment dword public use32 'DATA'
@_$DCZN$@TForm1@Button2Click$qqrp14System@TObject	segment virtual
	align	2
@@_$DCZN$@TForm1@Button2Click$qqrp14System@TObject	label	dword
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-4
	dd	0
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-4
	dd	0
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-8
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-12
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-16
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-20
	dd	@@$xt$17System@AnsiString
	dd	4
	dd	-24
	dd	0
@_$DCZN$@TForm1@Button2Click$qqrp14System@TObject	ends
_DATA	ends
_DATA	segment dword public use32 'DATA'
@_$ECTAO$@TForm1@Button2Click$qqrp14System@TObject	segment virtual
	align	2
@@_$ECTAO$@TForm1@Button2Click$qqrp14System@TObject	label	dword
	dd	0
	dd	-60
	dw	0
	dw	5
	dd	0
	dd	@@_$DCZN$@TForm1@Button2Click$qqrp14System@TObject+16
	dw	0
	dw	5
	dd	0
	dd	@@_$DCZN$@TForm1@Button2Click$qqrp14System@TObject
	dw	20
	dw	5
	dd	1
	dd	@@_$DCZN$@TForm1@Button2Click$qqrp14System@TObject+32
@_$ECTAO$@TForm1@Button2Click$qqrp14System@TObject	ends
_DATA	ends
_TEXT	segment dword public use32 'CODE'
@TForm1@Button2Click$qqrp14System@TObject	segment virtual
	align	2
@@TForm1@Button2Click$qqrp14System@TObject	proc	near
?live16415@0:
@77:
	push ebp
	mov ebp,esp
	add esp,-68
	push ebx
	push esi
	push edi
	mov ebx,eax
	lea edi,dword ptr [ebp-60]
	mov eax,offset @@_$ECTAO$@TForm1@Button2Click$qqrp14System@TObject
	call @__InitExceptBlockLDTC
?live16415@16: ; EBX = this, EDI = &@temp2
	mov word ptr [edi+16],8
	xor edx,edx
	mov dword ptr [ebp-4],edx
	inc dword ptr [edi+28]
	mov word ptr [edi+16],20
	mov dword ptr [_Ring3ProcName],offset @@TForm1@ReadComs$qqrv
	mov dword ptr [_Ring3ProcName+4],ebx
	call @@Ring0Proc$qqrv
	push 10
	call @Sleep
	call @@Sysutils@Time$qqrv
	fstp qword ptr [ebp-68]
	mov word ptr [edi+16],32
	mov edx,offset s@+122
	lea eax,dword ptr [ebp-8]
	call @@System@AnsiString@$bctr$qqrpxc
	inc dword ptr [edi+28]
	xor eax,eax
	mov dword ptr [ebp-12],eax
	lea eax,dword ptr [ebp-68]
	inc dword ptr [edi+28]
	lea edx,dword ptr [ebp-8]
	lea ecx,dword ptr [ebp-12]
	call @@System@TDateTime@FormatString$xqqrrx17System@AnsiString
	lea edx,dword ptr [ebp-12]
	xor ecx,ecx
	mov dword ptr [ebp-16],ecx
	lea ecx,dword ptr [ebp-16]
	inc dword ptr [edi+28]
	mov eax,offset s@+116
	call @@System@$badd$qqrpxcrx17System@AnsiString
	lea edx,dword ptr [ebp-16]
	push edx
	mov edx,offset s@+129
	lea eax,dword ptr [ebp-20]
	call @@System@AnsiString@$bctr$qqrpxc
	inc dword ptr [edi+28]
	xor eax,eax
	mov dword ptr [ebp-24],eax
	lea edx,dword ptr [ebp-20]
	inc dword ptr [edi+28]
	lea ecx,dword ptr [ebp-24]
	pop eax
	call @@System@AnsiString@$badd$xqqrrx17System@AnsiString
	lea edx,dword ptr [ebp-24]
	lea eax,dword ptr [ebp-4]
	call @@System@AnsiString@$basg$qqrrx17System@AnsiString
	dec dword ptr [edi+28]
	lea eax,dword ptr [ebp-24]
	mov edx,2
	call @@System@AnsiString@$bdtr$qqrv
	dec dword ptr [edi+28]
	lea eax,dword ptr [ebp-20]
	mov edx,2
	call @@System@AnsiString@$bdtr$qqrv
	dec dword ptr [edi+28]
	lea eax,dword ptr [ebp-16]
	mov edx,2
	call @@System@AnsiString@$bdtr$qqrv
	dec dword ptr [edi+28]
	lea eax,dword ptr [ebp-12]
	mov edx,2
	call @@System@AnsiString@$bdtr$qqrv
	dec dword ptr [edi+28]
	lea eax,dword ptr [ebp-8]
	mov edx,2
	call @@System@AnsiString@$bdtr$qqrv
	push offset s@+134
	cmp dword ptr [ebp-4],0
	je        short @78
	mov ecx,dword ptr [ebp-4]
	jmp short @79
@78:
	mov ecx,offset s@+138
@79:
	push ecx
	call @_fopen
	add esp,8
	mov esi,eax
?live16415@112: ; EBX = this, ESI = fp, EDI = &@temp2
	push esi
	push 128
	push 1
	add ebx,795
	push ebx
	call @_fwrite
	add esp,16
?live16415@128: ; ESI = fp, EDI = &@temp2
	push esi
	call @_fclose
	pop ecx
?live16415@144: ; EDI = &@temp2
	dec dword ptr [edi+28]
	lea eax,dword ptr [ebp-4]
	mov edx,2
	call @@System@AnsiString@$bdtr$qqrv
	mov ecx,dword ptr [edi]
	mov dword ptr fs:[0],ecx
?live16415@160: ; 
@80:
	pop edi
	pop esi
	pop ebx
	mov esp,ebp
	pop ebp
	ret 
@@TForm1@Button2Click$qqrp14System@TObject	endp
@TForm1@Button2Click$qqrp14System@TObject	ends
_TEXT	ends

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -