ICS 3203 - Assembly Language Programming - August 2022
ICS 3203 - Assembly Language Programming - August 2022
Let's do the time warp again: according to an outfit that tracks programming languages, the Internet
of Things is re-igniting demand for assembly language skills.
Software consultancy TIOBE's Programming Community Index has turned up the re-emergence
of assembly programming in its monthly index.
While the top-five are no surprise – Java, C, C++, Python and C# – the outfit's post expresses
surprise that something so difficult and arcane as assembly would make the index unless it was
driven by necessity.
Hence it tags the global movement to put chips in really stupid places just to boast that the device
is connected (and in the case of Dyson, to work out how best to extract hundreds of dollars from
suckers for a hair dryer).
a) Based on the above case, list and describe FIVE main differences between the X86 and the
ARM processors. (5 Marks)
b) Draw and describe the diagram representing a simplified processor logic of the ARM
processor. (4 marks)
1
c) Develop a 19-bit control word structure that can be used to manage the ARM processor.
(4 marks)
d) Assuming the ARM processor is to be used in a microwave oven, develop its instruction
set that can fit in this particular application. (4 marks)
e) Write a program to implement one of the most commonly used functions of the microwave
oven. (3 Marks)
b) Give FOUR benefits of implementing the traffic lights control system in the City.
(4 marks)
c) Draw a flow chart to illustrate the steps followed by the program and explain the flow of
the algorithm. (2 marks)
d) Write 8086 Traffic Lights Control Assembly Program for the given case. Remember to
include comments and state any assumptions made. (10 marks)
b) Describe the different types of data and instructions formats used with different
microprocessors. (10 Marks)
2
QUESTION FOUR (20 MARKS)
a) State the contents of the accumulator and the C flag when the following instruction is
executed.
c) In the process of ISA design, there are three important types of instructions to be
considered, list and briefly describe them. (4 Marks)
d) Briefly describe the 8086-instruction set indicating the differences between it and the
current microprocessors. (6 Marks)
b) Differentiate between RISC and CISC and how they are related to assembly language
programming. (4 Marks)
3
c) Write an assembly program to multiply a decimal number by 8 using the shift instruction.
(4 Marks)