๐พ Archived View for bbs.geminispace.org โบ u โบ norayr โบ 21825 captured on 2024-12-17 at 15:39:43. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Re: "i have this feeling about lowtech (not permacomputing) that..."
i dont know? i only used gas on unix.
what i like in gas for x86[_64] is that you are required to understand that movb generates different opcode than movw, movl and movq. same with addb..addq and others.
so whatever i do is more understandable.
i guess in case of nasm it follows masm tradition where assembler can figure out by itself is it movb or movl by the type of other argument.
that might be indeed useful but the programmer doesnt realize there are different opcodes behind these instructions, and that 8bit add instruction itself takes less bytes than newer add instructions.
Nov 16 ยท 4 weeks ago
๐ norayr [OP] ยท Nov 16 at 10:00:
in case of 6502 you have ca65, which is part of cc65 compiler suite, it feels like gas, it has useful macros and you can define 'variables' by not really caring where they will reside in memory because default .cfg file for the platform describes it. but you dont know about that configuration file and what happening is not that transparent for you.
also cc65 is long to compile, it has big codebase. well how big can it be? it is still a hobby project and the target cpu is 6502 but still it is complex.
but there is xa, very simple assembler and almost nothing is done behind your back. you also need to explicitly mention everything. the source code of xa is smaller ...
๐ norayr [OP] ยท Nov 16 at 10:00:
and you understand more of what you are doing when using xa.
i have this feeling about lowtech (not permacomputing) that gcc is not lowtech. however, tcc is. we feel that c is lowtech, because it has a small syntax and it is possible to write efficient code with it, but we forget that the c we use has lots of corporate investments, lots of language extensions, and the compiler compiles in hours. tcc is lowtech, because it supports standard c without extensions and it is easy to compile it. however, it is not possible to compile linux kernes with tcc....