After about an hour of banging my head against a wall, I decided to ask you guys about this. I'm coding in assembly using KipIrvine's stuff, and I'm using Visual Studio 2015 on Windows 10 if that helps. Obviously this debug output shouldn't happen, it should run my program instead of just givng a massive unload/load debug menu right? Here is a small section of the debug output:
'ohgodpleasework.exe' (Win32): Loaded 'C:\Users\Algor\Desktop\visualstudio2k15\Project64_VS2015\x64\Debug\ohgodpleasework.exe'. Symbols loaded.
'ohgodpleasework.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Symbols loaded.
'ohgodpleasework.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Symbols loaded.
'ohgodpleasework.exe' (Win32): Unloaded 'C:\Windows\System32\kernel32.dll'
'ohgodpleasework.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Symbols loaded.
'ohgodpleasework.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Symbols loaded.
'ohgodpleasework.exe' (Win32): Unloaded 'C:\Windows\System32\KernelBase.dll'
'ohgodpleasework.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Symbols loaded.
'ohgodpleasework.exe' (Win32): Unloaded 'C:\Windows\System32\KernelBase.dll'
That KernelBase.dll had about 75 of it's own lines, just the same loaded/unloaded lines. And it ended with:
"The program '[1896] ohgodpleasework.exe' has exited with code 0 (0x0)."
Anyone have this happen before who can provide some insight?
As requested here's the code of what I'm trying to run:
; Use of if statement
INCLUDE C:\Irvine\Irvine32.inc
.data
cost Dword ?
revenue Dword ?
str1 Byte "Enter revenue", 0dh, 0ah, 0
str2 Byte "Enter cost", 0dh, 0ah, 0
str3 Byte "Break Even", 0dh, 0ah, 0
str4 Byte "Profit = ", 0
Str5 Byte "Loss = ", 0
.code
main PROC
lea edx,str1
call WriteString
call ReadDec
mov revenue, eax
lea edx,str2
call WriteString
call ReadDec
mov cost, eax
cmp revenue, eax
JE L1 ;if (revenue== cost)
JA L2 ;if else (revenue > cost)
JB L3 ;if else (revenue < cost)
L1:
lea edx, str3
call WriteString
jmp Stop
L2:
mov ebx, cost
mov eax, revenue
sub eax, ebx
lea edx, str4
call WriteString
call WriteDec
call crlf
jmp Stop
L3:
mov ebx, revenue
mov eax, cost
sub eax, ebx
lea edx, str5
call WriteString
call WriteDec
call crlf
Stop:
exit
main ENDP
END main