Use near jumps.

This commit is contained in:
Matthijs ter Woord 2016-06-11 16:17:05 -04:00
parent 4d6fceb9e7
commit f9dfb1bcf7
13 changed files with 63 additions and 63 deletions

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
DebugStub_AsmBreakEIP dd 0
DebugStub_AsmOrigByte dd 0
@ -34,7 +34,7 @@ Ret
DebugStub_ClearAsmBreak:
Mov EDI, [DebugStub_AsmBreakEIP]
Cmp EDI, 0
JE DebugStub_ClearAsmBreak_Exit
JE near DebugStub_ClearAsmBreak_Exit
Mov AL, [DebugStub_AsmOrigByte]
Mov [EDI + 0], AL
Mov dword [DebugStub_AsmBreakEIP], 0

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
@ -6,90 +6,90 @@ DebugStub_ProcessCommand:
Call DebugStub_ComReadAL
Push EAX
Cmp AL, DebugStub_Const_Vs2Ds_Noop
JE DebugStub_ProcessCommand_Exit
JE near DebugStub_ProcessCommand_Exit
Mov EAX, 0
Call DebugStub_ComReadAL
Mov [DebugStub_CommandID], EAX
Mov EAX, [ESP + 0]
Cmp AL, DebugStub_Const_Vs2Ds_TraceOff
JNE DebugStub_ProcessCommand_Block1_End
JNE near DebugStub_ProcessCommand_Block1_End
Call DebugStub_TraceOff
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block1_End:
Cmp AL, DebugStub_Const_Vs2Ds_TraceOn
JNE DebugStub_ProcessCommand_Block2_End
JNE near DebugStub_ProcessCommand_Block2_End
Call DebugStub_TraceOn
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block2_End:
Cmp AL, DebugStub_Const_Vs2Ds_Break
JNE DebugStub_ProcessCommand_Block3_End
JNE near DebugStub_ProcessCommand_Block3_End
Call DebugStub_AckCommand
Call DebugStub_Break
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block3_End:
Cmp AL, DebugStub_Const_Vs2Ds_BreakOnAddress
JNE DebugStub_ProcessCommand_Block4_End
JNE near DebugStub_ProcessCommand_Block4_End
Call DebugStub_BreakOnAddress
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block4_End:
Cmp AL, DebugStub_Const_Vs2Ds_SendMethodContext
JNE DebugStub_ProcessCommand_Block5_End
JNE near DebugStub_ProcessCommand_Block5_End
Call DebugStub_SendMethodContext
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block5_End:
Cmp AL, DebugStub_Const_Vs2Ds_SendMemory
JNE DebugStub_ProcessCommand_Block6_End
JNE near DebugStub_ProcessCommand_Block6_End
Call DebugStub_SendMemory
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block6_End:
Cmp AL, DebugStub_Const_Vs2Ds_SendRegisters
JNE DebugStub_ProcessCommand_Block7_End
JNE near DebugStub_ProcessCommand_Block7_End
Call DebugStub_SendRegisters
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block7_End:
Cmp AL, DebugStub_Const_Vs2Ds_SendFrame
JNE DebugStub_ProcessCommand_Block8_End
JNE near DebugStub_ProcessCommand_Block8_End
Call DebugStub_SendFrame
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block8_End:
Cmp AL, DebugStub_Const_Vs2Ds_SendStack
JNE DebugStub_ProcessCommand_Block9_End
JNE near DebugStub_ProcessCommand_Block9_End
Call DebugStub_SendStack
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block9_End:
Cmp AL, DebugStub_Const_Vs2Ds_Ping
JNE DebugStub_ProcessCommand_Block10_End
JNE near DebugStub_ProcessCommand_Block10_End
Call DebugStub_Ping
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block10_End:
Cmp AL, DebugStub_Const_Vs2Ds_SetINT3
JNE DebugStub_ProcessCommand_Block11_End
JNE near DebugStub_ProcessCommand_Block11_End
Call DebugStub_SetINT3
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
DebugStub_ProcessCommand_Block11_End:
Cmp AL, DebugStub_Const_Vs2Ds_ClearINT3
JNE DebugStub_ProcessCommand_Block12_End
JNE near DebugStub_ProcessCommand_Block12_End
Call DebugStub_ClearINT3
Call DebugStub_AckCommand
Jmp DebugStub_ProcessCommand_Exit
@ -118,7 +118,7 @@ DebugStub_ProcessCommandBatch:
DebugStub_ProcessCommandBatch_Begin:
Call DebugStub_ProcessCommand
Cmp AL, 8
JNE DebugStub_ProcessCommandBatch_Begin
JNE near DebugStub_ProcessCommandBatch_Begin
Call DebugStub_AckCommand
DebugStub_ProcessCommandBatch_Exit:

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
@ -48,7 +48,7 @@ Popad
DebugStub_SendCommandOnChannel_Block1_Begin:
Cmp ECX, 0
JE DebugStub_SendCommandOnChannel_Block1_End
JE near DebugStub_SendCommandOnChannel_Block1_End
Call DebugStub_ComWrite8
Dec ECX
Jmp DebugStub_SendCommandOnChannel_Block1_Begin
@ -71,7 +71,7 @@ Mov ESI, [DebugStub_CallerESP]
DebugStub_SendStack_Block1_Begin:
Cmp ESI, [DebugStub_CallerEBP]
JE DebugStub_SendStack_Block1_End
JE near DebugStub_SendStack_Block1_End
Call DebugStub_ComWrite8
Jmp DebugStub_SendStack_Block1_Begin
@ -94,7 +94,7 @@ Mov ECX, EAX
DebugStub_SendMethodContext_Block1_Begin:
Cmp ECX, 0
JE DebugStub_SendMethodContext_Block1_End
JE near DebugStub_SendMethodContext_Block1_End
Call DebugStub_ComWrite8
Dec ECX
Jmp DebugStub_SendMethodContext_Block1_Begin
@ -118,7 +118,7 @@ Mov ECX, EAX
DebugStub_SendMemory_Block1_Begin:
Cmp ECX, 0
JE DebugStub_SendMemory_Block1_End
JE near DebugStub_SendMemory_Block1_End
Call DebugStub_ComWrite8
Dec ECX
Jmp DebugStub_SendMemory_Block1_Begin
@ -134,7 +134,7 @@ Ret
DebugStub_SendTrace:
Mov AL, DebugStub_Const_Ds2Vs_BreakPoint
Cmp dword [DebugStub_DebugStatus], DebugStub_Const_Status_Run
JNE DebugStub_SendTrace_Block1_End
JNE near DebugStub_SendTrace_Block1_End
Mov AL, DebugStub_Const_Ds2Vs_TracePoint
DebugStub_SendTrace_Block1_End:
@ -161,7 +161,7 @@ Mov ESI, [EBP + 8]
DebugStub_SendText_WriteChar:
Cmp ECX, 0
JE DebugStub_SendText_Finalize
JE near DebugStub_SendText_Finalize
Call DebugStub_ComWrite8
Dec ECX
Inc ESI
@ -311,7 +311,7 @@ Mov ESI, [EBP + 8]
DebugStub_SendMessageBox_WriteChar:
Cmp ECX, 0
JE DebugStub_SendMessageBox_Exit
JE near DebugStub_SendMessageBox_Exit
Call DebugStub_ComWrite8
Dec ECX
Inc ESI

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
DebugStub_Const_Signature equ 0x19740807

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
DebugStub_CallerEBP dd 0
DebugStub_CallerEIP dd 0
@ -22,7 +22,7 @@ Mov EBX, DebugStub_DebugBPs
SHL EAX, 2
Add EBX, EAX
Cmp ECX, 0
JNE DebugStub_BreakOnAddress_Block1_End
JNE near DebugStub_BreakOnAddress_Block1_End
Mov EDI, [EBX + 0]
Mov AL, 0x90
Mov [EDI + 0], AL
@ -46,14 +46,14 @@ SHL EAX, 2
Add EBX, EAX
Mov EAX, [EBX + 0]
Cmp EAX, 0
JE DebugStub_BreakOnAddress_Block2_End
JE near DebugStub_BreakOnAddress_Block2_End
Inc ECX
Mov [DebugStub_MaxBPId], ECX
Jmp DebugStub_BreakOnAddress_Continue
DebugStub_BreakOnAddress_Block2_End:
Cmp ECX, 0
JNE DebugStub_BreakOnAddress_Block3_End
JNE near DebugStub_BreakOnAddress_Block3_End
Jmp DebugStub_BreakOnAddress_FindBPLoopExit
DebugStub_BreakOnAddress_Block3_End:
@ -100,7 +100,7 @@ DebugStub_Executing:
MOV EAX, DR6
And EAX, 0x4000
Cmp EAX, 0x4000
JNE DebugStub_Executing_Block1_End
JNE near DebugStub_Executing_Block1_End
And EAX, 0xBFFF
MOV DR6, EAX
Call DebugStub_ResetINT1_TrapFLAG
@ -110,14 +110,14 @@ Jmp DebugStub_Executing_Normal
DebugStub_Executing_Block1_End:
Mov EAX, [DebugStub_CallerEIP]
Cmp EAX, [DebugStub_AsmBreakEIP]
JNE DebugStub_Executing_Block2_End
JNE near DebugStub_Executing_Block2_End
Call DebugStub_DoAsmBreak
Jmp DebugStub_Executing_Normal
DebugStub_Executing_Block2_End:
Mov EAX, [DebugStub_MaxBPId]
Cmp EAX, 0
JNE DebugStub_Executing_Block3_End
JNE near DebugStub_Executing_Block3_End
Jmp DebugStub_Executing_SkipBPScan
DebugStub_Executing_Block3_End:
@ -125,7 +125,7 @@ Mov EAX, [DebugStub_CallerEIP]
Mov EDI, DebugStub_DebugBPs
Mov ECX, [DebugStub_MaxBPId]
repne scasd
JNE DebugStub_Executing_Block4_End
JNE near DebugStub_Executing_Block4_End
Call DebugStub_Break
Jmp DebugStub_Executing_Normal
@ -133,16 +133,16 @@ DebugStub_Executing_Block4_End:
DebugStub_Executing_SkipBPScan:
Cmp dword [DebugStub_DebugBreakOnNextTrace], DebugStub_Const_StepTrigger_Into
JNE DebugStub_Executing_Block5_End
JNE near DebugStub_Executing_Block5_End
Call DebugStub_Break
Jmp DebugStub_Executing_Normal
DebugStub_Executing_Block5_End:
Mov EAX, [DebugStub_CallerEBP]
Cmp dword [DebugStub_DebugBreakOnNextTrace], DebugStub_Const_StepTrigger_Over
JNE DebugStub_Executing_Block6_End
JNE near DebugStub_Executing_Block6_End
Cmp EAX, [DebugStub_BreakEBP]
JB DebugStub_Executing_Block7_End
JB near DebugStub_Executing_Block7_End
Call DebugStub_Break
DebugStub_Executing_Block7_End:
@ -150,9 +150,9 @@ Jmp DebugStub_Executing_Normal
DebugStub_Executing_Block6_End:
Cmp dword [DebugStub_DebugBreakOnNextTrace], DebugStub_Const_StepTrigger_Out
JNE DebugStub_Executing_Block8_End
JNE near DebugStub_Executing_Block8_End
Cmp EAX, [DebugStub_BreakEBP]
JBE DebugStub_Executing_Block9_End
JBE near DebugStub_Executing_Block9_End
Call DebugStub_Break
DebugStub_Executing_Block9_End:
@ -162,7 +162,7 @@ DebugStub_Executing_Block8_End:
DebugStub_Executing_Normal:
Cmp dword [DebugStub_TraceMode], DebugStub_Const_Tracing_On
JNE DebugStub_Executing_Block10_End
JNE near DebugStub_Executing_Block10_End
Call DebugStub_SendTrace
DebugStub_Executing_Block10_End:
@ -171,7 +171,7 @@ DebugStub_Executing_CheckForCmd:
Mov DX, 5
Call DebugStub_ReadRegister
Test AL, 1
JE DebugStub_Executing_Block11_End
JE near DebugStub_Executing_Block11_End
Call DebugStub_ProcessCommand
Jmp DebugStub_Executing_CheckForCmd
@ -191,29 +191,29 @@ Call DebugStub_SendTrace
DebugStub_Break_WaitCmd:
Call DebugStub_ProcessCommand
Cmp AL, DebugStub_Const_Vs2Ds_Continue
JE DebugStub_Break_Done
JE near DebugStub_Break_Done
Cmp AL, DebugStub_Const_Vs2Ds_AsmStepInto
JNE DebugStub_Break_Block1_End
JNE near DebugStub_Break_Block1_End
Call DebugStub_SetINT1_TrapFLAG
Jmp DebugStub_Break_Done
DebugStub_Break_Block1_End:
Cmp AL, DebugStub_Const_Vs2Ds_SetAsmBreak
JNE DebugStub_Break_Block2_End
JNE near DebugStub_Break_Block2_End
Call DebugStub_SetAsmBreak
Call DebugStub_AckCommand
Jmp DebugStub_Break_WaitCmd
DebugStub_Break_Block2_End:
Cmp AL, DebugStub_Const_Vs2Ds_StepInto
JNE DebugStub_Break_Block3_End
JNE near DebugStub_Break_Block3_End
Mov dword [DebugStub_DebugBreakOnNextTrace], DebugStub_Const_StepTrigger_Into
Mov [DebugStub_BreakEBP], EAX
Jmp DebugStub_Break_Done
DebugStub_Break_Block3_End:
Cmp AL, DebugStub_Const_Vs2Ds_StepOver
JNE DebugStub_Break_Block4_End
JNE near DebugStub_Break_Block4_End
Mov dword [DebugStub_DebugBreakOnNextTrace], DebugStub_Const_StepTrigger_Over
Mov EAX, [DebugStub_CallerEBP]
Mov [DebugStub_BreakEBP], EAX
@ -221,7 +221,7 @@ Jmp DebugStub_Break_Done
DebugStub_Break_Block4_End:
Cmp AL, DebugStub_Const_Vs2Ds_StepOut
JNE DebugStub_Break_Block5_End
JNE near DebugStub_Break_Block5_End
Mov dword [DebugStub_DebugBreakOnNextTrace], DebugStub_Const_StepTrigger_Out
Mov EAX, [DebugStub_CallerEBP]
Mov [DebugStub_BreakEBP], EAX

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
DebugStub_MaxBPId dd 0
@ -21,7 +21,7 @@ Mov EBX, 0
DebugStub_WaitForSignature_Block1_Begin:
Cmp EBX, DebugStub_Const_Signature
JE DebugStub_WaitForSignature_Block1_End
JE near DebugStub_WaitForSignature_Block1_End
Call DebugStub_ComReadAL
Mov BL, AL
ROR EBX, 8

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
DebugWaitMsg db 96, 87, 97, 105, 116, 105, 110, 103, 32, 102, 111, 114, 32, 100, 101, 98, 117, 103, 103, 101, 114, 32, 99, 111, 110, 110, 101, 99, 116, 105, 111, 110, 46, 46, 46, 96, 0
@ -10,7 +10,7 @@ Mov ESI, DebugStub_Const_VidBase
DebugStub_Cls_Block1_Begin:
Cmp ESI, 0xB8FA0
JNB DebugStub_Cls_Block1_End
JNB near DebugStub_Cls_Block1_End
Mov dword [ESI + 0], 0x00
Inc ESI
Mov dword [ESI + 0], 0x0A
@ -31,7 +31,7 @@ Add EDI, 1640
DebugStub_DisplayWaitMsg_Block1_Begin:
Cmp byte [ESI + 0], 0
JE DebugStub_DisplayWaitMsg_Block1_End
JE near DebugStub_DisplayWaitMsg_Block1_End
Mov AL, [ESI + 0]
Mov [EDI + 0], AL
Inc ESI

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
%ifndef Exclude_IOPort_Based_SerialInit
@ -37,7 +37,7 @@ Mov DX, 5
DebugStub_ComReadAL_Wait:
Call DebugStub_ReadRegister
Test AL, 0x01
JE DebugStub_ComReadAL_Wait
JE near DebugStub_ComReadAL_Wait
Mov DX, 0
Call DebugStub_ReadRegister
@ -52,7 +52,7 @@ Mov DX, 5
DebugStub_ComWrite8_Wait:
Call DebugStub_ReadRegister
Test AL, 0x20
JE DebugStub_ComWrite8_Wait
JE near DebugStub_ComWrite8_Wait
Mov DX, 0
Mov AL, [ESI + 0]
Call DebugStub_WriteRegister

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
@ -107,7 +107,7 @@ DebugStub_ComWriteX:
DebugStub_ComWriteX_More:
Call DebugStub_ComWrite8
Dec ECX
JNE DebugStub_ComWriteX_More
JNE near DebugStub_ComWriteX_More
DebugStub_ComWriteX_Exit:
mov dword [static_field__Cosmos_Core_INTs_mLastKnownAddress], DebugStub_ComWriteX_Exit

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
DebugStub_ComAddr dd 1016

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
@ -16,7 +16,7 @@ Mov EBX, EAX
MOV EAX, DR6
And EAX, 0x4000
Cmp EAX, 0x4000
JE DebugStub_TracerEntry_Block1_End
JE near DebugStub_TracerEntry_Block1_End
Dec EBX
DebugStub_TracerEntry_Block1_End:

View file

@ -1,4 +1,4 @@
; Generated at 6/11/2016 12:59:50 PM
; Generated at 6/11/2016 4:16:44 PM
@ -7,7 +7,7 @@ Add eax, 4
Mov EBX, EBP
Add EBX, EAX
Cmp EBX, ESP
JE DebugStub_CheckStack_Block1_End
JE near DebugStub_CheckStack_Block1_End
Mov EAX, [ESP + 0]
Mov [DebugStub_CallerEIP], EAX
Call DebugStub_SendStackCorruptionOccurred