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

ADDITION-SUBTRACTION, HELLO I AM TRYING TO ADD AND SUBTRACT BUT I SEEM CAN'...

HELLO I AM TRYING TO ADD AND SUBTRACT BUT I SEEM CAN''T FIND THE CORRECT REGISTER TO PUT IN

Project, need some project ideas

need some project ideas

Computes the integral square root - assembly program, Computes the integral...

Computes the integral square root: Problem: Square Root:   For this problem you will write a short assembly program that computes the integral square root of an input numb

#procedure, #Write a function to calculate the following arithmetic operati...

#Write a function to calculate the following arithmetic operation and return the result. A = 2 + (3x)3 + y/2n (x, y and n are arguments of the function where x is an integer in the

Third generation microprocessor, III rd Generation Microprocessor: T...

III rd Generation Microprocessor: The single 3rd generation microprocessor chip having 64-pins began with the introduction of 16-bit Intel 8086 in 1978. The other essential

Program to perform one byte bcd addition-assembly program, Program : Write...

Program : Write a program to perform a one byte BCD addition. Solution : It is consider that the operands are in BCD form, but the CPU considers it as hexadecimal and acco

Assembly language, Assembly Language: Inside the 8085, instructions ar...

Assembly Language: Inside the 8085, instructions are really stored like binary numbers, not a very good manner to look at them and very difficult to decipher. An assembler is

Power pc-microprocessor, Power Pc : A Power PC is a microprocessor des...

Power Pc : A Power PC is a microprocessor designed to meet a standard, which was combining designed by Motorola, Apple and IBM. The PowerPC standard specifies a common instruc

Segment registers-microprocessor, Segment Registers The 8086 addresses ...

Segment Registers The 8086 addresses a segmented memory unlike 8085. The complete 1 megabyte memory, which 8086 is capable to address is divided into 16 logical segments.Thusea

8255 programmable peripheral interface-microprocessor, 8255 Programmable Pe...

8255 Programmable Peripheral Interface Intel's 8255 A programmable peripheral interface provides a nice instance of a parallel  interface. As shown the interface have a control

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