Is #RISCV any fun to write assembly language in? #asm #assemblylanguage #programming
Besides the 6502, what other processor is genuinely fun to hand write assembly on? #asm #assemblylanguage #programming
Ah, this is fucking good....checkout, fellas ...if and only if, you are NOT distracted by shallowed popular stuff...
I found a very nice use-case for Copilot agent: make a map of code for high level view of the engine.
Now I can look at this and think about any optimizations or refactors. Remember, this is a pure assembly code base!
Full map => https://github.com/w84death/x86-assembly/blob/main/bios/game12/MAP.md
How two modes works. Exploring map vs building tracks.
Binary is 5162 bytes.
Low level UX:
- mode 0: viewport panning
- mode 1: cursor movement + tracks building
For future there will be mode 2 for infrastructure placement/management.
Current size: 5175 bytes.
I'm starting implementing game-play elements. Slowly. This is now hand placed elements but the engine recognize carts (empty or resource type) and can draw one type of railroads.
Binary is almost 5K at the moment.
Are there other architectures besides x86 and x86-64 that use ATT assembly syntax?
I've got my birthday present earlier. A working unit of Compaq Contura 430C!
A 486DX4/100 notebook with a trackball ~30 years old.
What is most important is that my latest engine works absolutely flawless and with full speed! Success!
p.s. the sound it makes is pure ASMR (floppy, hard disk, beeps.)
Lazy ARM Assembly Question: does ARM64/ARM32 have an official list of operand type names similar to Intel/AMD's x86/x86-64 operand types (ex: reg32
, m64
, etc). I see imm8
, imm16
, imm32
, and imm64
in the official ARM64 documentation, and they refer to any X register as Xd
/Xn
/Xm
, so ARM does appear to use some kind of operand type names. I can't find any mention of memory type names though.
Obscure Assembly Syntax Question: what is the Intel/ATT syntax for the m64{k}
/mem64
operand type? Somehow it's combining a 64bit memory offset with one of the k0
-k7
opmask registers?
Implemented DawnBringer's 16 Color Palette!
Current binary size: 4187 bytes
Is there a canonical Assembly term for instructions or operands that are dependent on the byte offset of the instruction within the assembled/encoded output (ex: jmp
s to labels or RIP-relative operands)? Is Position-Dependent-Instruction a thing?
How many xmm
/ymm
/zmm
registers did x86 have vs. x86-64? I'm seeing conflicting information on Google, claiming that x86 had zmm0
-zmm31
while others claim it only had up to xmm15
/ymm15
/zmm15
. (This might be because some webpages are confusing x86-64 in 32bit mode as being the same as the x86 architecture proper.)