Live data from Hacker News

HelloAssembly: The smallest possible complete Windows application (2021)

github.com

11–20 of 53 posts

Re: HelloAssembly: The smallest possible complete Windows application (2021)

#12

Interesting to bypass CRT and work directly against the Windows API. That said, these rely on USER.32.DLL and KERNEL32.DLL to do the majority of the heavy lifting. It's a bit like 'smallest hello world in assembly' but the code is just setting up the calling convention and then passing the zero-terminated character string into `write`. Cool, but that could be done a bit more straightforwardly in C, too. A lot of asse…

> That said, these rely on USER.32.DLL and KERNEL32.DLL to do the majority of the heavy lifting.

Since the low-level Windows kernel API is undocumented and non-public, using these system DLLs is your only option on Windows.

It's just like linking against libc.so on any POSIX systems.

Re: HelloAssembly: The smallest possible complete Windows application (2021)

#14

Interesting to bypass CRT and work directly against the Windows API. That said, these rely on USER.32.DLL and KERNEL32.DLL to do the majority of the heavy lifting. It's a bit like 'smallest hello world in assembly' but the code is just setting up the calling convention and then passing the zero-terminated character string into `write`. Cool, but that could be done a bit more straightforwardly in C, too. A lot of asse…

It’s a minimal Windows app, so the whole idea is to rely on Windows DLLs as much as possible.

Re: HelloAssembly: The smallest possible complete Windows application (2021)

#16

[flagged]

What about his contributions to human civilization? ;)

He got a world record score on the Tempest arcade game [1], then developed an AI which beat his own record[2]. His biggest failure was, that after rebuilding TEMPEST from arcade machine ROMS, he added levels to the game but never made them public [3].

[1]. https://www.youtube.com/watch?v=EuSMCWu02hA

[2]. https://www.youtube.com/watch?v=TdbpoDjIvPk

[3]. https://www.youtube.com/watch?v=BjsVSEbXDOM

Re: HelloAssembly: The smallest possible complete Windows application (2021)

#17

Interesting to bypass CRT and work directly against the Windows API. That said, these rely on USER.32.DLL and KERNEL32.DLL to do the majority of the heavy lifting. It's a bit like 'smallest hello world in assembly' but the code is just setting up the calling convention and then passing the zero-terminated character string into `write`. Cool, but that could be done a bit more straightforwardly in C, too. A lot of asse…

It’s a minimal Windows app, so the whole idea is to rely on Windows DLLs as much as possible.

Officially, one should not use KERNEL32.dll for instance but go via crt. In practice, most interfaces are stable.

Re: HelloAssembly: The smallest possible complete Windows application (2021)

#19

Earlier quoted context omitted.

It’s a minimal Windows app, so the whole idea is to rely on Windows DLLs as much as possible.

Officially, one should not use KERNEL32.dll for instance but go via crt. In practice, most interfaces are stable.

kernel32 is an official API, you're probably thinking of ntdll. CRT is the C-runtime. Not everything is written in C.

Re: HelloAssembly: The smallest possible complete Windows application (2021)

#20
post #19

Earlier quoted context omitted.

Officially, one should not use KERNEL32.dll for instance but go via crt. In practice, most interfaces are stable.

kernel32 is an official API, you're probably thinking of ntdll. CRT is the C-runtime. Not everything is written in C.

Yes, you are right, must have been thinking of ntdll.
Post reply on HN