The KE26604 Computer Architecture and Microprocessor course is a 4 credit hour
course comprising of lectures, lab sessions, tutorials, design and development group assignments. The course objective was to expose students to the usability and applications of the Intel x86 series assembly language allowing us to gain knowledge on the programming language, understanding its syntax and codes and writing functional applications. The course also thought us regarding the architecture of computers and allowed us to gain an in-depth knowledge about the design of a microprocessor via the use of ModelSim software. Lab sessions were conducted for the whole 14 weeks duration. From week 1 to 7, the lab sessions were regarding the Intel x86 series assembly language. The first week we were introduced to this assembly language and were made to understand the structure of the program and how it is written. During the second and third labs we were exposed to the available addressing modes of the Intel x86 series as well as correcting a given program and implementing it to view the desired output. The following weeks we gained further knowledge on assembly language programming via design of application assembly programs using jumps functions such as jae, je, jmp etc., looping functions such as loop, loope, loopez etc., procedural functions such as proc near or proc far, and many other functions of the x86 series. The programs were made functional and the resulting outputs were analysed further for better understanding of the assembly language. Prior to obtaining sufficient knowledge of the use of assembly language, we were given tasks as groups requiring us to design our own assembly language program for a given application title. Through the group assignment we were able to understand further on the available functions of the x86 assembly language as well as the method of writing simplified programs for complex applications for example via I/O file operations which make the program more simple and concise. Moreover, the experience of working as a group also allowed us to find satisfaction after successful completion of the group assignment as only through working as a group can the project be completed with ease and implemented successfully.