9608_s20_qp_31
A paper of Computer Science, 9608
Questions:
9
Year:
2020
Paper:
3
Variant:
1

Login to start this paper & get access to powerful tools

1
6
7
8
9
A train cannot move if any of the eight automatic train doors are open. The train door monitoring system, set out below, checks that all the doors are closed before the train can move. • If a monitoring system detects that a door is open, it sets a specific bit in address 500 to 1. • If the bit for door one is equal to 1, the binary value for hexadecimal FF is sent to address 501. The contents of address 501 are changed to make door 1’s light flash when the door is open. • If the bit for door two is equal to 1, the binary value for hexadecimal FF is sent to address 502. The contents of address 502 are changed to make door 2’s light flash when the door is open. This is repeated for each door from 3 to 8. • Each door sets its bit in address 500 to zero when the door closes, and the contents of the corresponding door address are set to zero. • The train manager can identify which door is open from the flashing light. The current contents of address 500 are: Door number Address 500 Complete the following table by writing the values stored in addresses 503 to 508. Use the contents of address 500 shown above. Note that addresses 501 and 502 are complete. Door 1 Door 2 Door 3 Door 4 Door 5 Door 6 Door 7 Door 8 The following table shows assembly language instructions for the processor controlling the train door monitoring system that has one general purpose register, the Accumulator (ACC). Instruction Explanation Label Op code Operand LDM &n Load the hexadecimal number n to ACC LDD Load the contents of the location at the given address to ACC STO Store the contents of ACC at the given address AND &n Bitwise AND the contents of ACC with the hexadecimal number n CMP &n Compare the contents of ACC with the hexadecimal number n JPE Following a compare instruction, jump to or if the compare was True : Labels an instruction WAIT Macro to wait one second before the next instruction is executed After rechecking the doors, address 500 now contains 10101010. Complete the table by writing the values of the Accumulator (ACC) and the contents of address 501 as these instructions are executed once to check door 1. Instruction ACC Label Op code Operand CHECK1: LDD AND &80 CMP &00 JPE DOOR1 LDM &FF DOOR1: STO WAIT LDM &00 STO WAIT JMP CHECK1 Write the assembly language instructions to check door 2. Instruction Label Op code Operand Explain how the check door routines show a flashing light or no light.