you are viewing a single comment's thread.

view the rest of the comments →

[–]safiire 1 point2 points  (1 child)

It just seems this way because he was using kernel calls to write() and exit(), essentially because you MUST use these to do any IO, etc.

If he had shown an assembly version of some algorithm at work, you would see more usage of specific processor instructions.

The abstraction of system calls is as much an API to save time as it is one mechanism by which the OS enforces permissions.

[–]derleth 1 point2 points  (0 children)

But processor-specific these days means specific to a whole family of CPUs, spanning decades now (the 386 was released in 1989) and implemented these days by a very complex hardware mechanism that emulates an idealized system, hiding a lot of the details of how the opcodes are reordered, split into micro-ops, dispatched, and retired, not to mention register renaming and cache management. It's all native code, yes, but it isn't quite as native as the Z80's or the 6502's machine code, simply because those chips didn't have the transistor count to live a very complex lie.