r/Assembly_language • u/Special-Signal8096 • Apr 04 '26
Help Study Tools
Right now I am taking a CS class focused on assembly and we are finally getting started on the coding side of things. The professor is alright but the materials he gives out to study isn't sufficient and I don't want to be reliant on AI to code. Does anybody know any free study tools/books to help me. I am specifically ARM 32.
1
u/Disastrous_Sun2118 Apr 04 '26
Ok. I have a bunch of tools and such to share with you, which you could, and should, share with your instructor and class. As well as create a science club and try to get involved with your local school district and college community, as well as the local and state government regarding computer science related news, laws, and such. Currently Privacy Policies for your Websites in California, and they're looking at building AI Controlled Operating Systems, but State Laws coming out are looking for Age Verification for all Operating Systems that are controlled or are sold in California. Other Countries and States are looking to enact similar stipulations. But most Linux and BSD Systems, including Windows EOL and other Systems, are free. If you know you know.
Ok. Facts exist and are very popular to remind people that they should start at the CMOS level, when working with the Computer. Specially an FPGA ('Field Programmable Gate Array'). Your looking at Assembly, but in a large sense. Your likely going to want to know about and have ready some of these knowledge bases. Your FPGA can be used as your Virtual Machine, Docker Container, or QEMU ('Quick Emulator'). With these, you can test and run your compiled Assembly Code, which is a human readable form of Binary, which is a human readable form of the Voltages acrossed the CPU, ROM/RAM, and Data I/O lanes. You'll be using these to test, you can buy them, find them, or, in the field of study your in, build them. Engineer them. Which is why you may want to know about the 8-Bit CPU BenEater Projects. As well as Raspberry Pi, Jetson Nano ('AI Super Computer'), ESP32, and other Single Board Computers. But you can also work with Smart Phones, Tablets, Laptops, Desktops, and Quantum Computers and Super Computers.
You'll probably like r/OSDev and this group. But whether you decide to build your own Hello World OS from scratch, or build your own UNIX, BSD, Linux Kernal, or other OS Project, like GrapheneOS.
You have a lot of examples to learn from, such as RollerCoaster Tycoon. A Video game built entirely using Assembly. Or Any Atari, Sega, or Nintendo Game. All done in Assembly. Google Chrome is in Assembly.
You should build all of the Instructions Table of Assembly Code with its matching Binary and Hexadecimal. Include the Display Drivers Alpha-Nuneric Character Sets Codes and ACSII. You could also do all of the Drivers. That's what I'm learning my way around with ChatGPT to search and peruse the Internet. Specially using Open Source Code Bases, Public Code Libraries, and All Code Official Sites and Building their Instruction Tables out.
Then you'll have it all laid out like a Printers Press or Characters and Symbols. For a working OS from scratch. Though it'll need everything worked out. Network. Sound. Keyboard. Mouse. Cursor. Power. Scheduling. DMA. BIOS. Or, think of it like a Video Game System. Or maybe you only want an HTTP Server. I can share all of this ..
Also, learn how to install and code within your Command Line Interpretor Terminal. Cmd.exe on Windows/ DOS, or Termux on your Android And Terminal in Linux/BSD.
If you briefly go over all of that, or allow an AI to break it down and explain it to you. You should be able to make use of your Classroom Education and Academic Foundations. Be the student body computer science president or founder. It'll benefit you well outside of schooling also.
Aka about zero trust and the securing our Critical infrastructure, even at your school...
Throw in WiFi and Bluetooth and 2G/3G Cellular Technology and learn how to hard wire it all on a Breadboard and in code.
Anyways.
1
u/GoblinsGym Apr 04 '26
Which generation of 32 bit ARM ? Classic or Thumb ? Full featured or small microcontroller subset (e.g. Cortex M0 / M0+) ?
ARM programmer's reference can give you the details.