Program in Machine language: ASCII conversion

Objectives:

This programming project will help you

·       to apply concepts learned in programming the LC-3 machine;

·       to write ML operate and data movement instructions ONLY;

·       to use LC3Edit for program editing; and

·       to use LC-3 Simulator to debug and execute a program.

 

Description:

For this programming project, you will write an LC-3 ML program that will convert ASCII decimal characters stored in memory, to their corresponding two’s complement representations. After conversion, the values will be added and the results stored in memory.

 

Specifics:

  •      Your program should be written in LC-3 machine language. You may write the instructions either in binary or hexadecimal form.
  •      Load your program in memory address x3000.
  •      Assume that the ASCII representation of a two-digit decimal value is stored in a single memory location where bits [15:8] contain the tens digit value and bits [7:0] contain the ones digit value. For example, 0011 0011 0011 0100 represents the ASCII digits ‘3’ and ‘4’, which represents the decimal number 34.
  •      Assume that two (2) two-digit ASCII values are stored in addresses x3101 and x3102. Convert each to its decimal values, add the values and store the sum in memory address x3100.
  •      Overwrite the stored ASCII values with the converted decimal values in memory.

Example:

Address Initial Contents Results
x3100 undefined 62 = 0000 0000 0011 1110 (sum)
x3101 ‘24’ = 0011 0010 0011 0100 24 = 0000 0000 0001 1000
x3102 ‘38’ = 0011 0011 0011 1000 38 = 0000 0000 0010 0110

 EC +5points: Use all three addressing modes at least once.

Order from us and get better grades. We are the service you have been looking for.