4 ms·
> Also, the x86 instruction set seems daunting to pick up for a beginner. Would it be better learning on a 4/8-bit or toy machine first? The x86 instruction se
by msla 5y ago
> Also, the x86 instruction set seems daunting to pick up for a beginner. Would it be better learning on a 4/8-bit or toy machine first?
The x86 instruction set isn't daunting, the 16-bit x86 memory model is, speaking as someone who learned x86 assembly at a young age. It is easier to work on Linux, because segmentation is a non-issue and you have a flat address space.
- userbinator 5y agoSegmentation is also a non-issue if you stay within a single segment. Especially if you're writing in Asm and just starting out, even 64k is a lot. A "hello world" has less than a dozen bytes of executable code. The majority of the standard commands in DOS are <64k binaries.
- spc476 5y agoIt's also not much of an issue if you split code and data, each being 64K in size.
- shadowofneptune 5y agoIs segmentation really that bad? With an assembler you have direct control of which segment is being used. It's unlikely a hobby project will span more than 64k. Even if it does, for a lot of projects the individual data structures are small enough to split between segments.
- spc476 5y agoIt only becomes an issue of have a data structure that can exceed 64K in size, or multiple structures, who aggregate size is greater than 64k in size. Then you have to deal with so called FAR pointers.