• Join over 1.2 million students every month
  • Accelerate your learning by 29%
  • Unlimited access from just £6.99 per month
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 document...

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 ...read more.

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 ...read more.

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. ...read more.

The above preview is unformatted text

This student written piece of work is one of many that can be found in our AS and A Level Computer Science section.

Found what you're looking for?

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

Not the one? Search for your essay title...
  • Join over 1.2 million students every month
  • Accelerate your learning by 29%
  • Unlimited access from just £6.99 per month

See related essaysSee related essays

Related AS and A Level Computer Science essays

  1. The Von Neumann Machine

    However, the multiple ALUs permit this single instruction to be applied simultaneously to an array of data. For example, the assignment operation in the following block of code would be carried out one array at a time in a serial machine but simultaneously in a parallel machine: For i:= 1

  2. Smart Card System

    Change User Password Form Testing Field Testing Data Result Current Username Same login username Passed Different login username which exist in database Passed Username which not exist in database Failed Current Password Correct current password Passed Incorrect current password Failed New Username Any characters, digits, or combination of both Passed

  1. Who is Bill Gates?

    It is domed, has a fireplace and two secret pivoting bookshelves, behind is hidden some of his secret treasures. One of which, being the sixteenth-century notebook of Leonardo da Vinci he purchased for thirty million dollars. One of his favorite books is The Great Gatsby, and around the base of

  2. I.C.T. coursework on Computer games retail store.

    From these tables, I will be able to produce forms, reports and queries (where the user can sort a column in a specific order). Facilities Computers To Be Used: Quantity: 4 Specifications: > 120gb storage (to store large databases, accounts, other use).

  1. Investigate Data Communications.

    The same range can be repeated several times across a large city as long as the cells using them are not neighbors. As a mobile radiophone moves through this pattern of cells, its user's calls made as on regular telephones are switched from one cell to the next by a computerized system.

  2. The Value of Data and the Use of Databases

    is the electronic transmission of business data such as purchase orders and invoices from one firm's computerised information to that of another firm. EDI was developed to provide an interface between two separate computer systems. Each company could have its own way of doing things, but by using EDI, they

  1. The Data Management Structure: Components and the data structure

    It seems an obvious need today, but it is a major in most data base systems. The fulfillment of user needs on a system level is the great advantage of system being designed from the group up for data management.

  2. Program Code Program DVD_Program; Uses Menuunit, CRT, dos; ...

    then valid:= j; End; validatephone:= valid; if ( valid<> 0) then Begin textcolor(red); gotoxy(12,19); Write( 'SORRY INVALID PHONE NUMBER '); delay(800); gotoxy(12,19); Write (' '); textcolor(blue); gotoxy(37,13); For j:= 1 to 1+1 Do Write (' '); End; End; {------------------------------------------------------------------} {Validates the actor name entered by the user.} Function validateactor (

  • Over 160,000 pieces
    of student written work
  • Annotated by
    experienced teachers
  • Ideas and feedback to
    improve your own work