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.
  • 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
                              • 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

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

                                That's going to be a big No. :D

                                1 Reply 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
                                  raddevus
                                  wrote on last edited by
                                  #25

                                  Mike Winiberg wrote:

                                  My first major contract was porting MSDOS 1.25 to an IBM PC Clone

                                  Wow! I wouldn't have even known where to start. How did you discover the details back then? Very difficult, very few books if any on stuff. Maybe the old Peter Norton book. Really interesting.:thumbsup:

                                  M 1 Reply Last reply
                                  0
                                  • P Private Dobbs

                                    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 Offline
                                    R Offline
                                    raddevus
                                    wrote on last edited by
                                    #26

                                    Private Dobbs wrote:

                                    Thinking back and comparing to the likes of modern assemblers or VS I have no idea how I managed it!

                                    Maybe you read Dr. Dobbs Journal? :) I just couldn't help notice that you are Private Dobbs. You wouldn't happen to be a doctor in your spare time, would you? :laugh: There was so little documentation back then. It's amazing that devs were able to do the things they did. Very cool story.

                                    P 1 Reply Last reply
                                    0
                                    • R Rage

                                      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 Offline
                                      R Offline
                                      raddevus
                                      wrote on last edited by
                                      #27

                                      Rage wrote:

                                      When I wrote my first assembler program 25+years ago, I was so proud of being able to speak the computer's "native" language

                                      Yeah I always remember Bill Gates quote about when they were controlling a PDP-8 or PDP-11 from his school. Then they were in high school and working with a large corporation and writing code for them. He said something like, "It was amazing that we were high school students and we were able to control this machine that was worth millions $$$ that very few adults could even understand and control." It's very true.

                                      1 Reply Last reply
                                      0
                                      • G Graham Coulby

                                        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 Offline
                                        Kornfeld Eliyahu PeterK Offline
                                        Kornfeld Eliyahu Peter
                                        wrote on last edited by
                                        #28

                                        I grew up on 6502 - instead of cereals and milk... :-D

                                        "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

                                        G 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.

                                          K Offline
                                          K Offline
                                          Kirk 10389821
                                          wrote on last edited by
                                          #29

                                          In the 1980's I was using a PDP-11/34a in High School. I LOVED MACRO-11 Assembly Language. Basically it was C without the {}, LOL... I was running RSTS/E time sharing (32K Words of memory to support almost 30 users). RK06 Drives. Paper Terminals (Decwriter 300s I Believe, and we had 3 CRTs. One with COLOR, DEC 240?) EDT for an editor (or TECO if you were on paper. Imagine EDLIN with Type-ahead! ex$$) Curious, Gates replied to me that they were running TOPS-10 for the O/S on the PDP-10. I am still amazed by everything I was able to learn/do while in High School. My 3 Favorites: 1) I learned how to read another users keyboard buffer ("You spelled that wrong!", LOL) 2) I learned how to HALT the computer, and force my non-priv user to be a super-user! Awesome! (JFPRIV? Bit)... thanks to Michael Mayfields Book on the internals of RSTS/E book I bought with my own cash! [http://www.dmv.net/dec/pdf/rsts80inta.pdf\](http://www.dmv.net/dec/pdf/rsts80inta.pdf) WOW... I remembered JFPRIV correctly after 32 YEARS! 3) I rewrote the startup routines so the 7-10 minute startup process was done in under a minute! [I cheated. 80% of the time was changing the terminals to 300 Baud, etc. I recompiled the operating system, and modified the assembly, so the terminal settings were right for 30/33 terminals, and then only fixed the remaining 3. Even that, I rewrote in ASSEMBLY vs. BASIC PLUS 2 (BP2)] 4) I figured out how to open a tape as a non-structured file and modify it. This allowed me to copy the boot instructions from a DISK (which I learned was literally a boot loader), and write it to the tape, with a device adjustment. Making the tape, in fact, bootable. [I think I did this just after I graduated, because we did NOT have a tape drive, but I landed a job programming on PDP-11/70s] Oh, those were the days...

                                          R 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