60
Comments
  • 4
    i would actually like to learn assembly, at least a bit but i have no idea how you would compile it, i can't find a compiler for osx
  • 6
    @404response look for emulators. An example is an 8086 emulator. 8086 is an old intel chip, but overall architecture is very similar to today's chips. It's great for learning ASM. Here's an emulator that I found:

    https://github.com/rdnelson/Libra

    Here is a compiler for 8086:

    https://github.com/hasithvm/lasm

    I believe both projects are compatible with Mac, but I haven't tried it on macos so you may run into some issues with setup.
  • 1
    @VirtualProtect thank you, i will have a look :)
  • 2
    No worries!!

    From what I see, the overall flow looks like this:

    1. Make asm file
    2. Use lasm compiler to generate .bin file
    3. Open bin file in emulator and run

    I believe the emulator also has some emulated I/O that you may be able to talk to. (Such as writing text to the display) you'd have to look further into the docs to get more details about IO addresses tho
  • 0
    Does anyone know of any relative inexpensive hardware dev boards for MCUs that are easy to write for in assembly? I'm looking to avoid a Harvard architecture.
  • 1
    I wrote a stupid kernel

    http://intermezzos.github.io/book/
    This project is awesome though
  • 0
    Learned Motorola 68k Assembly in school.. pretty cool. I've written a sorting algorithm, a Cesar's cypher encryptor and some other things in native M68K assembly 👌
  • 0
    Wrote a Hello-Exitcode-Program in Assemply on ARM. Then lost interestbwhen it came to Makefiles. 🤗
  • 1
    Me too! In an 8086 emulator!
  • 1
    I coded a traffic light prototype with assembly.
  • 2
    [bits 16]
    [org 0x7c00]
    jmp 0x0000:start
    str:
    db "Hello, world!", 0
    start:
    xor ax,ax
    xor bx,bx
    mov ax, 13
    loop:
    cmp bx,ax
    jg end
    mov [str+bx], [0xb8000+bx]
    inc bx
    end:
    jmp end

    times 510 - ($-$$) db 0
    dw 0x55aa

    ; 16 bits, simple x86 bootloader
    ; cool, eh?
Add Comment