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

Pin description of 8086-microprocessor,  Pin Description of 8086 The ...

 Pin Description of 8086 The microprocessor 8086 is a 16-bit CPU available in 3 clock rates, for example 5, 8 and 10 MHz, packaged in a40 pin CERDIP or plastic package. The 8

Assembly language assignment, The main objective of the assignment is to ex...

The main objective of the assignment is to explore the knowledge regarding parallel ports of a computer system. You can read and write datato/from the parallel port using IN and OU

Programming., a program that display English letters excluding vowels

a program that display English letters excluding vowels

Cmps-string manipulation instruction-microprocessor, CMPS : Compare String...

CMPS : Compare String Byte or String Word:-The CMPS instruction may be utilized to compare two strings of Words or byte. The length of the string ought to be stored in the CX. If

Read file in 8086, Write a procedure to read a text file and copy its cont...

Write a procedure to read a text file and copy its contents to another text file using 8086 assembly language .

Mlil-arithmetic instruction-microprocessor, MLIL: Unsigned Multiplication ...

MLIL: Unsigned Multiplication Byte or Word: This instruction multiplies an unsigned byte or word by the contents of the AL. The unsigned byte or word can be in any one of the gene

External hardware-interrupts-microprocessor, External Hardware-Interrupts ...

External Hardware-Interrupts External hardware-interrupts are generated by controllers of external devices or coprocessors and are connected to the processor pin for Non Mask a

Read architecture:look aside cache-microprocessor, Read Architecture : Look...

Read Architecture : Look Aside Cache In "look aside" cache architecture the main memory is located conflictingthe system interface. Both the cache main memory sees a bus cycle

Assebmly code, You have to write a subroutine (assembly language code using...

You have to write a subroutine (assembly language code using NASM) for the following equation.

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