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.
Handmade Network»Feed
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…
»
longtran2904
Why does msvc decide to reserve 40 bytes on the stack for memcpy in copy2 when the src pointer is…
»