Implement an assembly language program, Assembly Language

Assignment Help:

A good starting point for your program is the toupper.asm program shown in class. It already queries the user for input and sets up a loop that looks at each character of the input. The source code for toupper.asm 

The bytes entered by the user are ASCII characters. You should convert this to a numerical digit by subtracting the character '0'.

Recall that the last character might be an X and represents the value 10. You will need to special case this. For simplicity, let's not worry about an X appearing in the middle of the input.

You should set up your loop to iterate 10 times and NOT for the length of the string (as is done in toupper.asm) because that will include the newline character at the end of the user input.

Since all the numbers are small, you can use the 8-bit portions of the general purpose registers: AH, AL, BH, BL, CH, CL, DH and DL. This is convenient because you have more registers to play with and because you won't have to mix 8-bit and 32-bit arithmetic.

Develop your program incrementally. After each step, use the debugger to check that you have accomplished the desired goal.

Set up the loop to iterate 10 times, each time storing the next character in an 8-bit register (say AL).

Convert AL into a "number".

Add the special case where AL might be X.

Compute t in another 8-bit register.

Compute t % 11.

Compute sum % 11 in another 8-bit register.

Print out the correct message to the user.

Extra Credit

For 10 points extra credit, submit a separate assembly language program that prints out the value of the check digit given the first 9 digits of an ISBN number. A sample run of your program might look like:

linux2% ./a.out

Enter first 9 digits of ISBN #: 320154197

Check digit: 4

linux2%

linux2% ./a.out

Enter first 9 digits of ISBN #: 045777370

Check digit: 7

linux2%

linux2% ./a.out

Enter first 9 digits of ISBN #: 044101125

Check digit: X

linux2%


Related Discussions:- Implement an assembly language program

Introduction to evaluation, This unit introduces the topic of evaluating in...

This unit introduces the topic of evaluating interactive products. It is a short unit as evaluation is discussed in more detail in Block 4. Its brevity should give you additional t

Call-unconditional branch instruction-microprocessor, CALL : Unconditional...

CALL : Unconditional Call:- This instruction is utilized to call a subroutine from a basic program. In case of assembly language programming, the term procedure is utilized int

Lab Assignment, 1) Write an 80x86 assembly language program in EXE file for...

1) Write an 80x86 assembly language program in EXE file format to do the following tasks: a) Open and read the contents of a file into memory (use at least 1 kB). b) Sort the li

8279 keyword /display controller-microprocessor, 8279 Keyword /Display Cont...

8279 Keyword /Display Controller : Figure shows the structure of 8279 and its interface to the bus. Addressing is according to the table given below. CS        RD

Program to find the largest number in an array, Write a MC68H12 assembly la...

Write a MC68H12 assembly language program to find the largest number in an array of ten 8-bit numbers. The array is stored in memory locations starting at address $1100. Use branch

Div-idiv-arithmetic instruction-microprocessor, DIV: Unsigned Division:- T...

DIV: Unsigned Division:- This instruction performs unsigned division operation. It divides an unsigned word or double word by a 16-bit or 8-bit operand. The dividend might be in t

Basic microprocessor architecture and interface, Basic Microprocessor Archi...

Basic Microprocessor Architecture and Interface : Introduction: Intel launches its first 4-bit microprocessor 4004 in the year 1971 and 8-bit microprocessor 8008 in the y

Assigment help, assempbly language routine that takes an array named A cont...

assempbly language routine that takes an array named A containing n bytes of postive numebrs and fills two arranys, array B containing n words and array C containing n long words

LAB homework, 1. Write a program that calculates the Fibonacci series: 1, 1...

1. Write a program that calculates the Fibonacci series: 1, 1, 2, 3, 5, 8, 13, ….. (Except for the first two numbers in the sequence, each number is the sum of the preceding two n

Tabular comparison for micro processors parameters, Tabular comparison for ...

Tabular comparison for µ PS' Parameters Tables (a) and (b) list the characteristic of Intel microprocessor. Table(a):   Table(b): It has a 64 bit da

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd