Yes, putting b in open mode for reading binary files is required. Otherwise C runtime is allowed t…
Max —
Hey, I think I figured out the issue and just wanted to post my findings here. I think the issue …
Ric —
I've recently started following along the Handmade Hero series to improve my programming knowledge…
They were used as pointer to stack frame. In 64-bit you can use any register.I don't think 16-bit …
What does (e)bp do in 16/32-bit ABI that is different from rbp?
I’m hiring my first Full Stack Web programmer to the team. The app is called AMS Pilot(). It’s…
You can and compilers do use just rsp to reference data from stack frame. See example here: After …
is used when you do dynamic allocation on stack. has to move because: "All memory beyond the cur…
Can't I just access frame data from rsp? How does rbp come into play?
Yes, __chkstk expects argument in rax register for size. If __chkstk fails then OS will raise exce…
In the prolog example, why can't the compiler just do sub RSP, fixed-allocation-size? Why does it …
ret n was used in stdcall/pascal x86 calling conventions in 16-bit and 32-bit code. Because argume…
Ok, so if the callee allocates space on the stack, it must pop that space before returning to the …
rsp register keeps address to stack location where call/ret/push/pop instructions can read or writ…
So each time there is a call instruction, a hidden 8 bytes gets pushed on the stack? And each time…
RemedyBG 0.3.9.2 is available for download with a couple of fixes to the previous version: Improve…
Max —
Looking at the raw bytes in a hex editor is a skill I will need to work on. When I open both my w…
bmp file format has multiple versions - and each of them have a bit different headers. See the tab…
Max —
Hi, I have been able to load various bmp into my projects with no issues for a while. However rec…
amrel —
Hi everyone - excited to join the community. I have just recently discovered Handmade Hero, and de…
Before call opcode the stack is 16 aligned. Call pushes 8 bytes of return address, so rsp is not 1…
All right, I will look into this, thank you very much for the information!
But 40-byte isn't aligned with 16-byte, while 32-byte is? What did you mean by Because caller push…
Fixed for next release. Thanks for pointing that out Simon.
Dynamically generated disassembly is not currently supported in the disassembly window. However, y…
I don't know details of remedy debugger. But debugger usually needs extra support from application…
Hello, I am working on a project where I run custom generated machine code that I load at runtime.…
I think it is 40 because it needs to keep stack pointer 16-byte aligned. Because caller pushed ret…
Thanks :) Yeah, No Sunshine was using an older html template, and it wasn't scaling correctly, but…
Why does msvc decide to reserve 40 bytes on the stack for memcpy in copy2 when the src pointer is…