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

📄 calculate24appui.asm

📁 这是一个基于symbian操作系统的速算24游戏
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	mov	DWORD PTR _this$[ebp], ecx
	mov	eax, DWORD PTR _this$[ebp]
	mov	DWORD PTR [eax], OFFSET FLAT:??_7MEikStatusPaneObserver@@6B@ ; MEikStatusPaneObserver::`vftable'
	mov	eax, DWORD PTR _this$[ebp]
	mov	esp, ebp
	pop	ebp
	ret	0
??0MEikStatusPaneObserver@@QAE@XZ ENDP			; MEikStatusPaneObserver::MEikStatusPaneObserver
_TEXT	ENDS
PUBLIC	??_7MCoeViewDeactivationObserver@@6B@		; MCoeViewDeactivationObserver::`vftable'
;	COMDAT ??_7MCoeViewDeactivationObserver@@6B@
CONST	SEGMENT
??_7MCoeViewDeactivationObserver@@6B@ DD FLAT:__purecall ; MCoeViewDeactivationObserver::`vftable'
	DD	FLAT:?MCoeViewDeactivationObserver_Reserved_1@MCoeViewDeactivationObserver@@EAEXXZ
	DD	FLAT:?MCoeViewDeactivationObserver_Reserved_2@MCoeViewDeactivationObserver@@EAEXXZ
CONST	ENDS
;	COMDAT ??0MCoeViewDeactivationObserver@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4
??0MCoeViewDeactivationObserver@@QAE@XZ PROC NEAR	; MCoeViewDeactivationObserver::MCoeViewDeactivationObserver, COMDAT
	push	ebp
	mov	ebp, esp
	push	ecx
	mov	DWORD PTR _this$[ebp], ecx
	mov	eax, DWORD PTR _this$[ebp]
	mov	DWORD PTR [eax], OFFSET FLAT:??_7MCoeViewDeactivationObserver@@6B@ ; MCoeViewDeactivationObserver::`vftable'
	mov	eax, DWORD PTR _this$[ebp]
	mov	esp, ebp
	pop	ebp
	ret	0
??0MCoeViewDeactivationObserver@@QAE@XZ ENDP		; MCoeViewDeactivationObserver::MCoeViewDeactivationObserver
_TEXT	ENDS
EXTRN	?RemoveFromStack@CEikonEnv@@QAEXPAVCCoeControl@@@Z:NEAR ; CEikonEnv::RemoveFromStack
_TEXT	SEGMENT
_this$ = -12
$T54083 = -4
$T54084 = -8
??1CCalculate24AppUi@@UAE@XZ PROC NEAR			; CCalculate24AppUi::~CCalculate24AppUi

; 25   :     {

	push	ebp
	mov	ebp, esp
	sub	esp, 16					; 00000010H
	mov	DWORD PTR _this$[ebp], ecx
	mov	eax, DWORD PTR _this$[ebp]
	mov	DWORD PTR [eax], OFFSET FLAT:??_7CCalculate24AppUi@@6BCCoeAppUi@@@ ; CCalculate24AppUi::`vftable'
	mov	ecx, DWORD PTR _this$[ebp]
	mov	DWORD PTR [ecx+20], OFFSET FLAT:??_7CCalculate24AppUi@@6BMEikMenuObserver@@@ ; CCalculate24AppUi::`vftable'
	mov	edx, DWORD PTR _this$[ebp]
	mov	DWORD PTR [edx+24], OFFSET FLAT:??_7CCalculate24AppUi@@6BMCoeMessageObserver@@@ ; CCalculate24AppUi::`vftable'
	mov	eax, DWORD PTR _this$[ebp]
	mov	DWORD PTR [eax+28], OFFSET FLAT:??_7CCalculate24AppUi@@6BMObjectProvider@@@ ; CCalculate24AppUi::`vftable'
	mov	ecx, DWORD PTR _this$[ebp]
	mov	DWORD PTR [ecx+72], OFFSET FLAT:??_7CCalculate24AppUi@@6BMEikStatusPaneObserver@@@ ; CCalculate24AppUi::`vftable'
	mov	edx, DWORD PTR _this$[ebp]
	mov	DWORD PTR [edx+76], OFFSET FLAT:??_7CCalculate24AppUi@@6BMCoeViewDeactivationObserver@@@ ; CCalculate24AppUi::`vftable'

; 26   :     if (iAppView)

	mov	eax, DWORD PTR _this$[ebp]
	cmp	DWORD PTR [eax+96], 0
	je	SHORT $L53600

; 28   :         iEikonEnv->RemoveFromStack(iAppView);

	mov	ecx, DWORD PTR _this$[ebp]
	mov	edx, DWORD PTR [ecx+96]
	push	edx
	mov	eax, DWORD PTR _this$[ebp]
	mov	ecx, DWORD PTR [eax+4]
	call	?RemoveFromStack@CEikonEnv@@QAEXPAVCCoeControl@@@Z ; CEikonEnv::RemoveFromStack

; 29   :         delete iAppView;

	mov	ecx, DWORD PTR _this$[ebp]
	mov	edx, DWORD PTR [ecx+96]
	mov	DWORD PTR $T54084[ebp], edx
	mov	eax, DWORD PTR $T54084[ebp]
	mov	DWORD PTR $T54083[ebp], eax
	cmp	DWORD PTR $T54083[ebp], 0
	je	SHORT $L54085
	push	1
	mov	ecx, DWORD PTR $T54083[ebp]
	mov	edx, DWORD PTR [ecx]
	mov	ecx, DWORD PTR $T54083[ebp]
	call	DWORD PTR [edx]
	mov	DWORD PTR -16+[ebp], eax
	jmp	SHORT $L54086
$L54085:
	mov	DWORD PTR -16+[ebp], 0
$L54086:

; 30   :         iAppView = NULL;

	mov	eax, DWORD PTR _this$[ebp]
	mov	DWORD PTR [eax+96], 0
$L53600:

; 32   :     }

	mov	ecx, DWORD PTR _this$[ebp]
	call	??1CAknAppUi@@UAE@XZ			; CAknAppUi::~CAknAppUi
	mov	esp, ebp
	pop	ebp
	ret	0
??1CCalculate24AppUi@@UAE@XZ ENDP			; CCalculate24AppUi::~CCalculate24AppUi
_TEXT	ENDS
PUBLIC	??2CBase@@SAPAXIW4TLeave@@@Z			; CBase::operator new
PUBLIC	?Panic@@YAXW4TCalculate24Panics@@@Z		; Panic
PUBLIC	??B?$TLitC@$09@@QBEABVTDesC16@@XZ		; TLitC<10>::operator TDesC16 const &
EXTRN	?ExecuteLD@CAknResourceNoteDialog@@QAEHABVTDesC16@@@Z:NEAR ; CAknResourceNoteDialog::ExecuteLD
EXTRN	??0CAknInformationNote@@QAE@XZ:NEAR		; CAknInformationNote::CAknInformationNote
EXTRN	?Exit@CEikAppUi@@IAEXXZ:NEAR			; CEikAppUi::Exit
_TEXT	SEGMENT
_aCommand$ = 8
_this$ = -12
_informationNote$53640 = -4
$T54088 = -8
?HandleCommandL@CCalculate24AppUi@@UAEXH@Z PROC NEAR	; CCalculate24AppUi::HandleCommandL

; 35   :     {

	push	ebp
	mov	ebp, esp
	sub	esp, 20					; 00000014H
	mov	DWORD PTR _this$[ebp], ecx

; 37   :         {

	mov	eax, DWORD PTR _aCommand$[ebp]
	mov	DWORD PTR -16+[ebp], eax
	cmp	DWORD PTR -16+[ebp], 256		; 00000100H
	je	SHORT $L53612
	cmp	DWORD PTR -16+[ebp], 3009		; 00000bc1H
	je	SHORT $L53612
	cmp	DWORD PTR -16+[ebp], 24576		; 00006000H
	je	SHORT $L53613
	jmp	SHORT $L53643
$L53612:

; 38   :         case EEikCmdExit:
; 39   :         case EAknSoftkeyExit:
; 40   :             Exit();

	mov	ecx, DWORD PTR _this$[ebp]
	call	?Exit@CEikAppUi@@IAEXXZ			; CEikAppUi::Exit

; 41   :             break;

	jmp	SHORT $L53609
$L53613:

; 45   :             _LIT(message,"Command 1");
; 46   :             CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;

	push	0
	push	144					; 00000090H
	call	??2CBase@@SAPAXIW4TLeave@@@Z		; CBase::operator new
	add	esp, 8
	mov	DWORD PTR $T54088[ebp], eax
	cmp	DWORD PTR $T54088[ebp], 0
	je	SHORT $L54089
	mov	ecx, DWORD PTR $T54088[ebp]
	call	??0CAknInformationNote@@QAE@XZ		; CAknInformationNote::CAknInformationNote
	mov	DWORD PTR -20+[ebp], eax
	jmp	SHORT $L54090
$L54089:
	mov	DWORD PTR -20+[ebp], 0
$L54090:
	mov	ecx, DWORD PTR -20+[ebp]
	mov	DWORD PTR _informationNote$53640[ebp], ecx

; 47   :             informationNote->ExecuteLD(message);

	mov	ecx, OFFSET FLAT:_?message@?4??HandleCommandL@CCalculate24AppUi@@UAEXH@Z@4V?$TLitC@$09@@B
	call	??B?$TLitC@$09@@QBEABVTDesC16@@XZ	; TLitC<10>::operator TDesC16 const &
	push	eax
	mov	ecx, DWORD PTR _informationNote$53640[ebp]
	call	?ExecuteLD@CAknResourceNoteDialog@@QAEHABVTDesC16@@@Z ; CAknResourceNoteDialog::ExecuteLD

; 49   :             break;

	jmp	SHORT $L53609
$L53643:

; 50   : 
; 51   :         default:
; 52   :             Panic(ECalculate24BasicUi);

	push	1
	call	?Panic@@YAXW4TCalculate24Panics@@@Z	; Panic
	add	esp, 4
$L53609:

; 55   :     }

	mov	esp, ebp
	pop	ebp
	ret	4
?HandleCommandL@CCalculate24AppUi@@UAEXH@Z ENDP		; CCalculate24AppUi::HandleCommandL
_TEXT	ENDS
EXTRN	?newL@CBase@@CAPAXI@Z:NEAR			; CBase::newL
;	COMDAT ??2CBase@@SAPAXIW4TLeave@@@Z
_TEXT	SEGMENT
_aSize$ = 8
??2CBase@@SAPAXIW4TLeave@@@Z PROC NEAR			; CBase::operator new, COMDAT

; 11   : 	{return newL(aSize);}

	push	ebp
	mov	ebp, esp
	mov	eax, DWORD PTR _aSize$[ebp]
	push	eax
	call	?newL@CBase@@CAPAXI@Z			; CBase::newL
	add	esp, 4
	pop	ebp
	ret	0
??2CBase@@SAPAXIW4TLeave@@@Z ENDP			; CBase::operator new
_TEXT	ENDS
PUBLIC	??B?$TLitC@$0M@@@QBEABVTDesC16@@XZ		; TLitC<12>::operator TDesC16 const &
PUBLIC	?applicationName@?1??Panic@@YAXW4TCalculate24Panics@@@Z@4V?$TLitC@$0M@@@B ; `Panic'::`2'::applicationName
EXTRN	?Panic@User@@SAXABVTDesC16@@H@Z:NEAR		; User::Panic
;	COMDAT ?applicationName@?1??Panic@@YAXW4TCalculate24Panics@@@Z@4V?$TLitC@$0M@@@B
; File \TEST\TEST_S60_20\CALCULATE24\INC\Calculate24.pan
CONST	SEGMENT
?applicationName@?1??Panic@@YAXW4TCalculate24Panics@@@Z@4V?$TLitC@$0M@@@B DD 0bH ; `Panic'::`2'::applicationName
	DB	'C', 00H, 'a', 00H, 'l', 00H, 'c', 00H, 'u', 00H, 'l', 00H
	DB	'a', 00H, 't', 00H, 'e', 00H, '2', 00H, '4', 00H, 00H, 00H
CONST	ENDS
;	COMDAT ?Panic@@YAXW4TCalculate24Panics@@@Z
_TEXT	SEGMENT
_aReason$ = 8
?Panic@@YAXW4TCalculate24Panics@@@Z PROC NEAR		; Panic, COMDAT

; 14   :     {

	push	ebp
	mov	ebp, esp

; 15   :     _LIT(applicationName,"Calculate24");
; 16   :     User::Panic(applicationName, aReason);

	mov	eax, DWORD PTR _aReason$[ebp]
	push	eax
	mov	ecx, OFFSET FLAT:?applicationName@?1??Panic@@YAXW4TCalculate24Panics@@@Z@4V?$TLitC@$0M@@@B
	call	??B?$TLitC@$0M@@@QBEABVTDesC16@@XZ	; TLitC<12>::operator TDesC16 const &
	push	eax
	call	?Panic@User@@SAXABVTDesC16@@H@Z		; User::Panic
	add	esp, 8

; 17   :     }

	pop	ebp
	ret	0
?Panic@@YAXW4TCalculate24Panics@@@Z ENDP		; Panic
_TEXT	ENDS
PUBLIC	??I?$TLitC@$0M@@@QBEPBVTDesC16@@XZ		; TLitC<12>::operator&
;	COMDAT ??B?$TLitC@$0M@@@QBEABVTDesC16@@XZ
_TEXT	SEGMENT
_this$ = -4
??B?$TLitC@$0M@@@QBEABVTDesC16@@XZ PROC NEAR		; TLitC<12>::operator TDesC16 const &, COMDAT

; 638  : 	{return *operator&();}

	push	ebp
	mov	ebp, esp
	push	ecx
	mov	DWORD PTR _this$[ebp], ecx
	mov	ecx, DWORD PTR _this$[ebp]
	call	??I?$TLitC@$0M@@@QBEPBVTDesC16@@XZ	; TLitC<12>::operator&
	mov	esp, ebp
	pop	ebp
	ret	0
??B?$TLitC@$0M@@@QBEABVTDesC16@@XZ ENDP			; TLitC<12>::operator TDesC16 const &
_TEXT	ENDS
PUBLIC	??I?$TLitC@$09@@QBEPBVTDesC16@@XZ		; TLitC<10>::operator&
;	COMDAT ??B?$TLitC@$09@@QBEABVTDesC16@@XZ
_TEXT	SEGMENT
_this$ = -4
??B?$TLitC@$09@@QBEABVTDesC16@@XZ PROC NEAR		; TLitC<10>::operator TDesC16 const &, COMDAT

; 638  : 	{return *operator&();}

	push	ebp
	mov	ebp, esp
	push	ecx
	mov	DWORD PTR _this$[ebp], ecx
	mov	ecx, DWORD PTR _this$[ebp]
	call	??I?$TLitC@$09@@QBEPBVTDesC16@@XZ	; TLitC<10>::operator&
	mov	esp, ebp
	pop	ebp
	ret	0
??B?$TLitC@$09@@QBEABVTDesC16@@XZ ENDP			; TLitC<10>::operator TDesC16 const &
_TEXT	ENDS
;	COMDAT ??I?$TLitC@$0M@@@QBEPBVTDesC16@@XZ
_TEXT	SEGMENT
_this$ = -4
??I?$TLitC@$0M@@@QBEPBVTDesC16@@XZ PROC NEAR		; TLitC<12>::operator&, COMDAT

; 632  : 	{return REINTERPRET_CAST(const TDesC*,this);}

	push	ebp
	mov	ebp, esp
	push	ecx
	mov	DWORD PTR _this$[ebp], ecx
	mov	eax, DWORD PTR _this$[ebp]
	mov	esp, ebp
	pop	ebp
	ret	0
??I?$TLitC@$0M@@@QBEPBVTDesC16@@XZ ENDP			; TLitC<12>::operator&
_TEXT	ENDS
;	COMDAT ??I?$TLitC@$09@@QBEPBVTDesC16@@XZ
_TEXT	SEGMENT
_this$ = -4
??I?$TLitC@$09@@QBEPBVTDesC16@@XZ PROC NEAR		; TLitC<10>::operator&, COMDAT

; 632  : 	{return REINTERPRET_CAST(const TDesC*,this);}

	push	ebp
	mov	ebp, esp
	push	ecx
	mov	DWORD PTR _this$[ebp], ecx
	mov	eax, DWORD PTR _this$[ebp]
	mov	esp, ebp
	pop	ebp
	ret	0
??I?$TLitC@$09@@QBEPBVTDesC16@@XZ ENDP			; TLitC<10>::operator&
_TEXT	ENDS
END

⌨️ 快捷键说明

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