Preview

08 - Final Test

 1. What is a possible reason for the fact that most computer programs are written in low level languages?
finaltest_programminglanguages_q1.png

  Because low level languages are much quicker and have larger, more complex files

  Because the first programs were low level and this ideology stuck with coders

  Trick question! Most computer programs are written in high level languages as they are easier to understand/work with

  Because low level languages are much easier to understand (from a coder's perspective)

 2. Machine code and Assembly language are both considered…

  to be machine code replicas

  to be high level languages

  to be portable

  to be low level languages

 3. Processors execute machine code and that each type of processor has its own __________________________

  flexible machine code set that can be used by anyone

  specific machine code instruction set.

  CPU for every single instruction

  computer graphics card for every machine code instruction

 4. Assembly language is often used to develop software for _______________ and for controlling specific hardware components.

  None of the above

  websites

  embedded systems

  high level games like hang man

 5. Understand that assembly language has a ______ correspondence with machine code

  one to one (1:1)

  one to many (1:m)

  two to two (2:2)

  three to three (3:3)

 6. Machine code is used in which generation of a programming language?

  1st Generation

  4th Generation

  2nd Generation

  3rd Generation

 7. Which language translator is needed for the 1st generation?

  An assembler

  An interpreter

  A basic translator (IBM)

  No Translator

 8. Which generation would create the fastest code to execute?

  2nd Generation

  3rd Generation

  1st Generation

  4th Generation

 9. An advantage of low level languages is that:

  None of the above

  it produces complex large files that are robust and useful for the programmer

  it produces great big programs that are complex and difficult to manage

  it produces programs of a relatively smaller file size

 10. An advantage of a high level language is that:
Note: remember that ultimately, all low and high level languages need to be converted into machine code

  It is useful for device drivers

  None of the above

  It is closer to the machine and machine code

  It is easier to understand (by a programmer)

 11. Low level languages are said to have a one to many relationship with high level languages

  TRUE

  FALSE

 12. The Little Man Computer is a very simple yet powerful ….
This is a great introductory video to LMC - have a watch if you are able.

   model of a computer!

  model of a spacecraft of the future

  model of a printer

  model of the monitor of a computer

 13. Read the excerpt on LMC and fill in the blanks
LMC is a simulator which has many of the basic features of a 
modern computer that uses the __________________________ (a central 
processing unit consisting of an arithmetic logic unit and
registers, a control unit containing an instruction register 
and program counter, input and output mechanisms and RAM to 
store both data and instructions).

  None of the above

  Cartal model of computers

  Von Neumann architecture

  spatial awareness meter

 14. The LMC is based on the idea of a 'Little Man' acting like the control unit of a CPU, _________________ them as well as managing the input and output mechanisms.

  fetching instructions from RAM, decoding and executing

  catching 1s and 0s as they pass through the computery ether and making

  riding through metaphorical hills and valleys and enjoying

  None of the above

 15. The 100 memory addresses in the computer memory are numbered 0 to 99 and can each contain a________________ instruction or data.

  machine code

  python code

  gentrified code

  C code

 16. Each assembly language instruction is made up of a 3 letter mnemonic usually followed by the memory address of the data the CPU is to act on

  TRUE

  FALSE

 17. One disadvantage or issue with assembly language is that the code only works on a specific CPU family. If you use a different CPU you would

  None of the above

  need to re-write the code using a different version of assembly language

  need to make a copy of your old CPU

  not need to rewrite the code at all

 18. The main advantage of assembly language is that it :

  runs fast compared to programs written in a high level language as there is less code overall

  is soft and cuddly, and therefore programmer's favourite

  runs slow compared to high level languages which makes it easy to follow

  is robust and hardy and cannot ever make a mistake (hence it's popular use in spacecraft)

 19. An example of a program that is typically written in assembly language is:

  a device driver

  a website for a government

  an online shop

  a personal fitness app for Android

 20. Device drivers need to be as ______________ as possible which is why assembly language is perfect

  easily understandable in terms of the code

  fast and efficient

  slow and careful

  None of the above

 21. Which of the following is NOT a typical assembly language command.
add
lock
subtract
load
compare
branch
store

  add

   lock

  subtract

  load

 22. An example of an assembly code mneumonic is LDA 50 which…

  adds the value 50 to the loaded value before it

  None of the above

  stores (loads) the value 50 into a register in the CPU

  stores the value 50, fifty times into fifty registers in the CPU

 23. In this example: LOAD 0004, it can be said that 'LOAD' is the opcode and the second part 0004 is the memory address

  FALSE

  TRUE

 24. In the command MOV AL 34h…the opcode is the __________ instruction and the other parts are called OPERANDS.

  AL instruction

  34h part of the code

  MOV instruction

  None of the above

 25. Operands are…

  tiny bits that are used to code in assembly language

  manipulated by the opcode

  manipulated directly by a high level language command

  little bits of beauty

 26. What does this LMC program do?
INP 
STA A 
INP 
STA B 
LDA A 
ADD B 
OUT 
HLT
A    DAT
b    DAT 
lmc_q1.gif

  take in two numbers and stores them, displaying the first number

  adds two numbers and displays the sum

  None of the above

  takes in three numbers and stores them

 27. This LMC program doesn't add or subtract. What does it do?
INP 
STA A 
INP 
STA B 
LDA A 
SUB B 
BRP isPositive
LDA B
OUT
HLT 
isPositive
LDA A 
HLT
A    DAT
B    DAT 

  finds out if an input number is positive or negative

  loads two letters 'A' and 'B' and determines which one comes first

  determines the bigger of two numbers by using loops

  sorts three numbers from smallest to largest

 28. The LMC can add or subtract numbers, but it can neither multiply nor divide. The multiplication can be carried out with the aid of ……..

  subtraction!

  addition!

  nothing - this cannot be done!

  stubborn and persistent hard coding

 29. Assembly language is written using:

  ASCII code

  None of the above

  Mneumonics

  Hex code

 30. Assembly language instructions like MOV or ADD are called operands

  FALSE

  TRUE