We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.
Max
Yeah, normally I usually use binary mode by default, so I must have just had a typo this time. Th…
»
Mārtiņš Možeiko
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…
»
Mārtiņš Možeiko
They were used as pointer to stack frame. In 64-bit you can use any register.I don't think 16-bit …
»
longtran2904
What does (e)bp do in 16/32-bit ABI that is different from rbp?
»
alexbezh
I’m hiring my first Full Stack Web programmer to the team. The app is called AMS Pilot(). It’s…
»
Mārtiņš Možeiko
You can and compilers do use just rsp to reference data from stack frame. See example here: After …
»
marcus_17
is used when you do dynamic allocation on stack. has to move because: "All memory beyond the cur…
»
longtran2904
Can't I just access frame data from rsp? How does rbp come into play?
»
Mārtiņš Možeiko
Yes, __chkstk expects argument in rax register for size. If __chkstk fails then OS will raise exce…
»
longtran2904
In the prolog example, why can't the compiler just do sub RSP, fixed-allocation-size? Why does it …
»
Mārtiņš Možeiko
ret n was used in stdcall/pascal x86 calling conventions in 16-bit and 32-bit code. Because argume…
»
longtran2904
Ok, so if the callee allocates space on the stack, it must pop that space before returning to the …
»
Mārtiņš Možeiko
rsp register keeps address to stack location where call/ret/push/pop instructions can read or writ…
»
longtran2904
So each time there is a call instruction, a hidden 8 bytes gets pushed on the stack? And each time…
»
x13pixels
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…
»
Mārtiņš Možeiko
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…
»
Mārtiņš Možeiko
Before call opcode the stack is 16 aligned. Call pushes 8 bytes of return address, so rsp is not 1…
»
Delicious Lines
All right, I will look into this, thank you very much for the information!
»
longtran2904
But 40-byte isn't aligned with 16-byte, while 32-byte is? What did you mean by Because caller push…
»
x13pixels
Fixed for next release. Thanks for pointing that out Simon.
»
x13pixels
Dynamically generated disassembly is not currently supported in the disassembly window. However, y…
»
Mārtiņš Možeiko
I don't know details of remedy debugger. But debugger usually needs extra support from application…
»
Delicious Lines
Hello, I am working on a project where I run custom generated machine code that I load at runtime.…
»
Mārtiņš Možeiko
I think it is 40 because it needs to keep stack pointer 16-byte aligned. Because caller pushed ret…
»
@Mattias_G
Thanks :) Yeah, No Sunshine was using an older html template, and it wasn't scaling correctly, but…
»