Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. My first ASM

My first ASM

Scheduled Pinned Locked Moved The Lounge
comlinuxtoolsquestion
46 Posts 26 Posters 3 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R raddevus

    I stumbled upon this book in my APress account today and it is so nicely written that in 10 minutes I wrote my first Assembly language program and ran it. Beginning x64 Assembly Programming: From Novice to AVX Professional: Van Hoey, Jo: 9781484250754: Amazon.com: Books[^] Over the years I've looked at Assembly and tried it out a little, but it's never been easier to try than now. I have Debian running in a VirtualBox so I quickly: 1. installed nasm (Netwide assembler). 2. Installed GCC tools 3. installed make 4. created a makefile as led by the book 5. typed in the sample program 6. let the makefile build and link the program. 7. ran it. That's very cool. This author is obviously really good because he gets right to the point and explains things clearly. I am impressed and I always like to read a good book that is so well-written.

    K Offline
    K Offline
    Kris Lantz
    wrote on last edited by
    #4

    I got to use MASM with x86 assembly in undergrad. Wasn't a great experience. I've used it once since then, to cheat in a game that had anti-cheat protection. :-O

    R 1 Reply Last reply
    0
    • R RickZeeland

      To whom it may concern, here is a list with some alternatives: x86-x64-assemblers[^] FASM looks like fun too :-\

      R Offline
      R Offline
      raddevus
      wrote on last edited by
      #5

      RickZeeland wrote:

      here is a list with some alternatives: x86-x64-assemblers[^]

      :thumbsup: The author mentions many assemblers also: YASM, FASM, GAS, MASM (Microsoft) NASM (netwide assembler) is nice because it runs on all 3 major platforms.

      1 Reply Last reply
      0
      • Greg UtasG Greg Utas

        Haven't written any in over 40 years, since writing it on a PDP-10 while at university. But it definitely has a charm to it.

        Robust Services Core | Software Techniques for Lemmings | Articles
        The fox knows many things, but the hedgehog knows one big thing.

        R Offline
        R Offline
        raddevus
        wrote on last edited by
        #6

        Greg Utas wrote:

        Haven't written any in over 40 years, since writing it on a PDP-10

        Wow, that is cool. I believe that might be the hardware that Gates and Allen began with. :thumbsup:

        Greg UtasG 1 Reply Last reply
        0
        • K Kris Lantz

          I got to use MASM with x86 assembly in undergrad. Wasn't a great experience. I've used it once since then, to cheat in a game that had anti-cheat protection. :-O

          R Offline
          R Offline
          raddevus
          wrote on last edited by
          #7

          Kris Lantz wrote:

          I've used it once since then, to cheat in a game that had anti-cheat protection.

          Minesweeper was never the same after that. :laugh:

          1 Reply Last reply
          0
          • R raddevus

            Greg Utas wrote:

            Haven't written any in over 40 years, since writing it on a PDP-10

            Wow, that is cool. I believe that might be the hardware that Gates and Allen began with. :thumbsup:

            Greg UtasG Offline
            Greg UtasG Offline
            Greg Utas
            wrote on last edited by
            #8

            It was a great system, but maybe I remember it much as one remembers a first love. :-O

            Robust Services Core | Software Techniques for Lemmings | Articles
            The fox knows many things, but the hedgehog knows one big thing.

            <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
            <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

            R 1 Reply Last reply
            0
            • Greg UtasG Greg Utas

              Haven't written any in over 40 years, since writing it on a PDP-10 while at university. But it definitely has a charm to it.

              Robust Services Core | Software Techniques for Lemmings | Articles
              The fox knows many things, but the hedgehog knows one big thing.

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #9

              VAX 11 assembly language in the late-80s for me.

              1 Reply Last reply
              0
              • Greg UtasG Greg Utas

                It was a great system, but maybe I remember it much as one remembers a first love. :-O

                Robust Services Core | Software Techniques for Lemmings | Articles
                The fox knows many things, but the hedgehog knows one big thing.

                R Offline
                R Offline
                raddevus
                wrote on last edited by
                #10

                Greg Utas wrote:

                It was a great system, but maybe I remember it much as one remembers a first love

                Yeah, that's how we all are with our first OSes. I even remember DOS 3.3 / Windows 3.1 fondly now. :laugh: Well, maybe not. But Win95, for sure. Pre-emptive multitasking was dreamy. Format a 3.5" disk while playing minesweeper was really cool. :laugh:

                M 1 Reply Last reply
                0
                • R raddevus

                  I stumbled upon this book in my APress account today and it is so nicely written that in 10 minutes I wrote my first Assembly language program and ran it. Beginning x64 Assembly Programming: From Novice to AVX Professional: Van Hoey, Jo: 9781484250754: Amazon.com: Books[^] Over the years I've looked at Assembly and tried it out a little, but it's never been easier to try than now. I have Debian running in a VirtualBox so I quickly: 1. installed nasm (Netwide assembler). 2. Installed GCC tools 3. installed make 4. created a makefile as led by the book 5. typed in the sample program 6. let the makefile build and link the program. 7. ran it. That's very cool. This author is obviously really good because he gets right to the point and explains things clearly. I am impressed and I always like to read a good book that is so well-written.

                  Kornfeld Eliyahu PeterK Offline
                  Kornfeld Eliyahu PeterK Offline
                  Kornfeld Eliyahu Peter
                  wrote on last edited by
                  #11

                  But does it cover 6502?

                  "The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012

                  "It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox

                  D G R 3 Replies Last reply
                  0
                  • R raddevus

                    Greg Utas wrote:

                    It was a great system, but maybe I remember it much as one remembers a first love

                    Yeah, that's how we all are with our first OSes. I even remember DOS 3.3 / Windows 3.1 fondly now. :laugh: Well, maybe not. But Win95, for sure. Pre-emptive multitasking was dreamy. Format a 3.5" disk while playing minesweeper was really cool. :laugh:

                    M Offline
                    M Offline
                    Mike Winiberg
                    wrote on last edited by
                    #12

                    Indeed. My first brush with assembler was writing little games etc in Z80 code on a self-built NASCOM1 computer. My first major contract was porting MSDOS 1.25 to an IBM PC Clone. The disk drivers etc were all written in 8086 assembler. I can still see the thousands of pages of printed listing that I had to work on! (Filled with useless comments of the sort: "-- add 23 to AX")

                    R R 2 Replies Last reply
                    0
                    • M Mike Winiberg

                      Indeed. My first brush with assembler was writing little games etc in Z80 code on a self-built NASCOM1 computer. My first major contract was porting MSDOS 1.25 to an IBM PC Clone. The disk drivers etc were all written in 8086 assembler. I can still see the thousands of pages of printed listing that I had to work on! (Filled with useless comments of the sort: "-- add 23 to AX")

                      R Offline
                      R Offline
                      Ralf Peter Lucke
                      wrote on last edited by
                      #13

                      Me too, also NASCOM1. No assembler, only machine language. I remember things like 3E 00 41 05 ...

                      M D 2 Replies Last reply
                      0
                      • R Ralf Peter Lucke

                        Me too, also NASCOM1. No assembler, only machine language. I remember things like 3E 00 41 05 ...

                        M Offline
                        M Offline
                        Mike Winiberg
                        wrote on last edited by
                        #14

                        Oh yes - you soon learned the various opcodes 8) I used to write it out as assembler on a coding sheet, write out the opcodes and then key them in! All these years later, despite the higher level languages and huge compute power, things haven't really changed as much as you might think. I just spent a whole day trawling through the code for a framework I'm using because its documentation tells you how to pass some data through to a sub-system, but absolutely nowhere, in text or examples, does it specify the format that data has to take! Doubly annoying because it isn't in the same format as you pass exactly the same data to the parent code 8)

                        1 Reply Last reply
                        0
                        • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

                          But does it cover 6502?

                          "The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012

                          D Offline
                          D Offline
                          Daniel Pfeffer
                          wrote on last edited by
                          #15

                          Or Z80? 8080? 8008? :)

                          Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                          1 Reply Last reply
                          0
                          • R raddevus

                            I stumbled upon this book in my APress account today and it is so nicely written that in 10 minutes I wrote my first Assembly language program and ran it. Beginning x64 Assembly Programming: From Novice to AVX Professional: Van Hoey, Jo: 9781484250754: Amazon.com: Books[^] Over the years I've looked at Assembly and tried it out a little, but it's never been easier to try than now. I have Debian running in a VirtualBox so I quickly: 1. installed nasm (Netwide assembler). 2. Installed GCC tools 3. installed make 4. created a makefile as led by the book 5. typed in the sample program 6. let the makefile build and link the program. 7. ran it. That's very cool. This author is obviously really good because he gets right to the point and explains things clearly. I am impressed and I always like to read a good book that is so well-written.

                            P Offline
                            P Offline
                            Private Dobbs
                            wrote on last edited by
                            #16

                            I started out with Z80 and 6809 machine code, there were no assemblers available to me back then. I wrote my first code like this around 40 years ago which was a ROM extension for Basic to control sound and speech hardware. Thinking back and comparing to the likes of modern assemblers or VS I have no idea how I managed it!

                            R 1 Reply Last reply
                            0
                            • Kornfeld Eliyahu PeterK Kornfeld Eliyahu Peter

                              But does it cover 6502?

                              "The only place where Success comes before Work is in the dictionary." Vidal Sassoon, 1928 - 2012

                              G Offline
                              G Offline
                              Graham Coulby
                              wrote on last edited by
                              #17

                              Check out Easy 6502 by skilldrick[^] I found this a great resource. And after watching the first episode of this series: https://www.youtube.com/watch?v=qJgsuQoy9bc[^] I realised I wanted to make my own emulator. Rather than follow the video series blindly I decided to do it in JavaScript and not follow the videos. This presented some challenges as JS doesn’t have Byte/Word types so that has to be managed manually. I’ve been trying to learn ASM for Gameboy, megadrive, z80, but didn’t get very far. Reverse engineering the code allowed me to properly understand each instruction and I am learning ASM as I go. Here is my WIP project: GitHub - gcoulby/MOS6502: CPD project to learning MOS6502 assembly language, which snowballed into reverse engineering the CPU[^]

                              Kornfeld Eliyahu PeterK 1 Reply Last reply
                              0
                              • R raddevus

                                I stumbled upon this book in my APress account today and it is so nicely written that in 10 minutes I wrote my first Assembly language program and ran it. Beginning x64 Assembly Programming: From Novice to AVX Professional: Van Hoey, Jo: 9781484250754: Amazon.com: Books[^] Over the years I've looked at Assembly and tried it out a little, but it's never been easier to try than now. I have Debian running in a VirtualBox so I quickly: 1. installed nasm (Netwide assembler). 2. Installed GCC tools 3. installed make 4. created a makefile as led by the book 5. typed in the sample program 6. let the makefile build and link the program. 7. ran it. That's very cool. This author is obviously really good because he gets right to the point and explains things clearly. I am impressed and I always like to read a good book that is so well-written.

                                R Offline
                                R Offline
                                Rage
                                wrote on last edited by
                                #18

                                When I wrote my first assembler program 25+years ago, I was so proud of being able to speak the computer's "native" language ! Like you could interact directly with its perception of things without the filters of the high level languages.

                                Do not escape reality : improve reality !

                                R 1 Reply Last reply
                                0
                                • Greg UtasG Greg Utas

                                  Haven't written any in over 40 years, since writing it on a PDP-10 while at university. But it definitely has a charm to it.

                                  Robust Services Core | Software Techniques for Lemmings | Articles
                                  The fox knows many things, but the hedgehog knows one big thing.

                                  S Offline
                                  S Offline
                                  scottgp
                                  wrote on last edited by
                                  #19

                                  I started out on the PDP-11 but it was with DIBOL. Scott

                                  1 Reply Last reply
                                  0
                                  • R Ralf Peter Lucke

                                    Me too, also NASCOM1. No assembler, only machine language. I remember things like 3E 00 41 05 ...

                                    D Offline
                                    D Offline
                                    DerekT P
                                    wrote on last edited by
                                    #20

                                    Exactly.

                                    raddevus wrote:

                                    it's never been easier to try than now

                                    Not sure I agree with that. In 1979 I'd turn on my UK101 (similar to the Nascom) and it would prompt for BASIC or MONITOR. Choosing MONITOR gave you a 2-character input field where you could type in the hex value of the byte at address 00. Press ENTER and it moved to address 01. (You had to convert the 6502 assembly instructions into bytes in your head or on paper first, but there were only 56 instructions so it didn't take long to memorise at least the common ones.) :)

                                    1 Reply Last reply
                                    0
                                    • Greg UtasG Greg Utas

                                      Haven't written any in over 40 years, since writing it on a PDP-10 while at university. But it definitely has a charm to it.

                                      Robust Services Core | Software Techniques for Lemmings | Articles
                                      The fox knows many things, but the hedgehog knows one big thing.

                                      W Offline
                                      W Offline
                                      Wizard of Sleeves
                                      wrote on last edited by
                                      #21

                                      Greg Utas wrote:

                                      Haven't written any in over 40 years, since writing it on a PDP-10 while at university. But it definitely has a charm to it.

                                      Back in my day, we used to carve our code with a hammer and chisle on stone punch cards.

                                      Nothing succeeds like a budgie without teeth.

                                      M T 2 Replies Last reply
                                      0
                                      • W Wizard of Sleeves

                                        Greg Utas wrote:

                                        Haven't written any in over 40 years, since writing it on a PDP-10 while at university. But it definitely has a charm to it.

                                        Back in my day, we used to carve our code with a hammer and chisle on stone punch cards.

                                        Nothing succeeds like a budgie without teeth.

                                        M Offline
                                        M Offline
                                        MKJCP
                                        wrote on last edited by
                                        #22

                                        I remember painting my first program on a cave wall somewhere in France.

                                        1 Reply Last reply
                                        0
                                        • W Wizard of Sleeves

                                          Greg Utas wrote:

                                          Haven't written any in over 40 years, since writing it on a PDP-10 while at university. But it definitely has a charm to it.

                                          Back in my day, we used to carve our code with a hammer and chisle on stone punch cards.

                                          Nothing succeeds like a budgie without teeth.

                                          T Offline
                                          T Offline
                                          theoldfool
                                          wrote on last edited by
                                          #23

                                          Yes, that led to the very first method: CRN (Convert Roman Numerals).

                                          If you can keep your head while those about you are losing theirs, perhaps you don't understand the situation.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups