List of supplementary course material on MicroProcessors and
Assembly Language Programming
1. The Instruction
Set of 8-bit 6800 MicroProcessor by Motorola (6802, a 6800
with 128 Byte RAM and an internal clock generator is the CPU of
popular Training Kits designed, manufactured and donated by TAEK to help students' training)
2. Zip archive
of Two-Pass Cross Assembler, Simulator, samples and Assembly
Language solutions to some mid-term and final questions for 68xx
series CPUs,. 64-bit Windows users can not run these files since
they are 16-bit Console applications. You should run these either in
DosBox (DOS emulator) or in DOS
environment explained in Application Note 1 listed below unless you
have a 32-bit physical or
virtual environment
3. First and Second
midterm solutions of Spring 2012
4. Word document of sample midterm and final
exam questions. Assembly Language listings of some of the solutions
are included in [3]
5. Scanned pdf file of the
MicroProcessors Course notes
from a student's notebook
6. Pdf document on PC Assembly Language by Paul A. Carter
7. Pdf presentation from
Intel explaining manufacturing process of their 32nm processors
8. Zip archive of x86 Assembly Language
Programming Tools (Turbo Assembler, Linker and Debugger with a
sample Assembly Language program). 64-bit Windows users can not run
these files since they are 16-bit Console applications. You should
run these either in DosBox (DOS emulator) or in DOS
environment explained in Application Note 1 listed below unless you
have a 32-bit physical or
virtual environment
9. Power Point Presentation
(ppt) file on x86 Assembly Language
by Mohammad Sharaf
10. Rar archive of a Cross Assembler,
Debugger and Visual Simulator of 8-bit 6502 MicroProcessor by
Rockwell
New (Spring 2015)
11. List
and links to free tools for the assembler programmer for a
variety of platforms and processors
12. AMD64 Architecture Programmer's Manual Volume
1, Volume
2, Volume
3, Volume
4 and Volume
5
13. Introduction
to x64 Assembly, an informative document on x64 Assembly
Language by Intel
14. Resources on
both x86 x64 Assembly Language with FlatAssembler for
DOS, Windows and Linux
15. The Go tools for
Windows + Assembler, by Jeremy Gordon for both x86 and x64
16. Borland's Turbo
Assembler ready to run in full screen in Windows 7/8/8.1 32bit
& 64bit (DosBoX'ed ready to use)
17. MASM32,
MicroSoft's 32-bit ASM Language Integrated Development Environment
(IDE)
18. The Netwide Assembler, NASM,
originally developed by Simon Tatham,
creator of PuTTY
19. Rewrite of NASM, The Yasm
Modular Assembler Project, with a "new" BSD license
Added on 05.05.2015
20. Introduction to x86 Assembly
Programming on Linux, OS/X and Windows with MicroSoft
Assembler MASM, GNU Assembler GAS and Netwide Assembler NASM
21. Introduction
x64 Assembly on GNU/Linux by Martin Hirzel
Application Notes
22. Application note I, Assembly
Language Programming (print string using Int 21 from DOS interrupts)
on x86
23. Application note II, 2-pass
Assemblers for Programming (write text to StdOut using WriteConsoleA
from WinApi)
Added on 05.05.2016
24. Sample 32-bit MASM and TASM Assembly language programs to scan
and read input and output file names from the command line. They
read all the characters from the input file and write to the output
file. Both files contains directions on how to Assemble and Link
from the command line.
25. 32-bit x86 Turbo Assembly code
(term project solution) to detect unidirectional bit errors in
16-bit unicode encoded characters using Berger code.
Added on 09.05.2017
26. Application note III, 32 and
64-bit Assembly language programming using MS Visual Studio, an
enhanced Integrated Development Environment (IDE).
27. Application note
IV, 64-bit C++ console application with an Assembly function to
compute sum of an array passed as an argument with FastCall
convention.
28. An Assembly function to
classify a vector of n integer features into either class A
or B. Note that a return value of 0 corresponds to class A and 1 to
class B.
29. Spring 2017 midterm,
final and resit exam questions and
solutions
Added on 10.08.2018
30. Spring 2018 midterm,
final and resit exam questions and
solutions
Added on 31.05.2022
31. Spring 2019 midterm,
final and resit exam questions and
solutions
32. Spring 2020 midterm,
final and resit exam test questions
and answers
33. Spring 2021 midterm,
final and resit exam test questions
and answers
34. Spring 2022 midterm,
final and resit exam questions and
answers
Added on 30.04.2024
35. POPCNT, an instruction to count number of 1's in many
microprocessors, is explained in this blog post.