Page
  1. 1
    1
  2. 2
    2
  3. 3
    3
  4. 4
    4
  5. 5
    5
  6. 6
    6
  7. 7
    7
  8. 8
    8
  9. 9
    9
  10. 10
    10

Write a TOM program that reads a number from the keyboard, subtracts 1 and displays the result.

Extracts from this essay...

Introduction

TOM1 1. Write a TOM program that reads a number from the keyboard, subtracts 1 and displays the result. To improve legibility the comments are displayed to the right of every TOM line of code, and not in the standard style. read keyin Reads data inputted by keyboard and stores in the store location keyin load keyin Loads data from the store location keyin in to the accumulator sub minus Subtracts the store location minus from the accumulator store display Stores value in accumulator in the store location display print display Displays contents of the store location display on the screen stop Stops program execution minus data 1 Initialises a store location minus with the value 1 in it keyin data 0 Initialises a store location keyin with the value 0 in it display data 0 Initialises a store location display with the value 0 in it 2. Write a TOM program that reads a number from the keyboard, multiplies it by 2, reads another number b from the keyboard, multiplies it by 3, and then displays the result. In other words, evaluate 2*a+3*b. read keyin1 Reads data inputted by keyboard and stores in the store location keyin1 load keyin1 Loads data from the store location keyin1 in to the accumulator mult val1 Multiplies the accumulator by the store location val1 store display Stores value in accumulator in the store location display read keyin2 Reads data inputted by keyboard and stores in the store location keyin2 load keyin2 Loads data from the store location keyin2 in to the accumulator mult val2 Multiplies the accumulator by the store

Middle

the store location total print total Displays contents of the store location total on the screen jump start Transfers control to the instruction start stop Stops program execution total data 0 Initialises a store location total with the value 0 in it calls data 0 Initialises a store location calls with the value 0 in it standing data 12.50 Initialises a store location standing with the value 12.50 in it rate data .05 Initialises a store location rate with the value .05 in it 3. What's wrong with the program in (2)? The program has no way of ending (normally), and will therefore loop continuously. 4. Modify (2) so that if the user enters 0 for the number of units the program terminates. start read calls Reads data inputted by keyboard and stores in the store location calls load calls Loads data from the store location calls in to the accumulator sub check Subtracts the store location check from the accumulator jifz end Transfers control to the instruction end if the zero flag is set mult rate Multiplies the accumulator by the store location rate add standing Adds the store location standing to the accumulator store total Stores value in accumulator in the store location total print total Displays contents of the store location total on the screen jump start Transfers control to the instruction start end stop Stops program execution total data 0 Initialises a store location total with the value 0 in it calls data 0 Initialises a store location calls with the value 0 in it standing data 12.50 Initialises a store location standing with

Conclusion

CSO Tutorial 4 Exercise 2.1 We wish to compare the performance of two different machines: M1 and M2. The following measurements have been made on these machines: Program Time on M1 Time on M2 1 10 seconds 5 seconds 2 3 seconds 4 seconds Which machine is faster for each program and by how much? For program 1, M2 is 5 seconds(or 100%) faster than M1. For program 2, M1 is 1 second (or 25%) faster than M2. Exercise 2.2 Consider the two machines and programs in Exercise 2.1. The following additional measurements were made: Program Instructions executed on M1 Instructions executed on M2 1 200 x 106 160 x 106 Find the instruction execution rate (instructions per second) for each machine running program 1. Instructions executed = Instructions per second (instruction execution rate) time(seconds) M1 200000000 = 20000000 10 = 20 x 106 Instructions per second or 20 Million Instructions per second M2 160000000 = 32000000 5 = 32 x 106 Instructions per second or 32 Million Instructions per second Exercise 2.3 If the clock rates of machines M1 and M2 in Ex 2.1 are 200 MHz and 300 MHz respectively, find the clock cycles per instruction (CPI) for program 1 on both machines using the data in Ex 2.1 & 2.2. Clock rate = clock cycles per instruction (CPI) Instruction execution rate M1 200000000 = 10 clock cycles per instruction (CPI) 20000000 M2 300000000 = 9.375 clock cycles per instruction (CPI) 32000000 Question 4 Draw a full flowchart of the final TOM program produced at the end of exercise TOM2. This should include all the instructions, loops and all the program labels in the appropriate places.

The above preview is unformatted text

Found what you're looking for?

  • Start learning 29% faster today
  • Over 150,000 essays available
  • Just £6.99 a month

Not the one? Search for your essay title...
  • Over 180,000 student essays
  • Every subject and level covered
  • Thousands of essays marked by teachers
  • Over 180,000 essays
    written by students
  • Annotated by
    experienced teachers
  • Ideas and feedback to write
    your own great essays

Marked by a teacher

This essay has been marked by one of our great teachers. You can read the full teachers notes when you download the essay.

Peer reviewed

This essay has been reviewed by one of our specialist student essay reviewing squad. Read the full review on the essay page.

Peer reviewed

This essay has been reviewed by one of our specialist student essay reviewing squad. Read the full review under the essay preview on this page.