Show the code conversion with example, Computer Engineering

Assignment Help:

Q. Show the Code Conversion with example?

The conversion of data from one form to another is required. Consequently we will discuss an illustration for converting a hexadecimal digit attained in ASCII form to binary form.

Program:

; This program converts an ASCII input to equivalent hex digit which it represents.

; So valid ASCII digits are 0 to 9, A to F and program presumes that the 

; ASCII digit is read from a location in memory known as ASCII. The hex result is 

; left in the AL. Because the program converts just one digit number the AL is 

; Sufficient for the results. Result in AL is made FF if character in ASCII 

; is not proper hex digit.

; ALGORITHM 

; IF number <30h THEN error

; ELSE

; IF number <3Ah THEN Subtract 30h (it's a number 0-9)

; ELSE (number is >39h)

; IF number <41h THEN error (number in range 3Ah-40h which is not a valid

; A-F character range)

; ELSE

; IF number <47h THEN Subtract 37h for letter A-F 41-46 (Please note 

; that 41h - 37h = Ah)

; ELSE ERROR

;

; PORTS: None used

; PROCEDURES: None

; REGISTERS: Uses CS, DS, AX,

;

DATA                         SEGMENT

ASCII DB 39h                       ; any experimental data

DATA ENDS

CODE SEGMENT

                                    ASSUME CS: CODE, DS: DATA

START:                       MOV AX, DATA ; initialise data segment

                                    MOV DS, AX  ; Register using AX

                                    MOV AL, ASCII ; Get the ASCII digits of the number

                                                                        ; start the conversion 

                                    CMP AL, 30h; If the ASCII digit is below 30h then it is not 

JB ERROR; a proper Hex digit

                                    CMP AL, 3Ah; compare it to 3Ah

                                    JB NUMBER; if greater then possibly a letter between A-F

                                    CMP AL, 41h; this step will be done if equal to or above 

; 3Ah

                                    JB ERROR; between 3Ah and 40h is error

                                    CMP AL, 46h

                                    JA ERROR; The ASCII is out of 0-9 and A-F range

                                    SUB AL, 37h; it's a letter in the range A-F so convert

                                    JMP CONVERTED

NUMBER:                  SUB AL, 30h; it is a number in the range 0-9 so convert

JMP CONVERTED

ERROR: MOV AL, 0FFh; you can also display some message here

CONVERTED: MOV AX, 4C00h

INT 21h; the hex result is in AL

CODE ENDS

END START


Related Discussions:- Show the code conversion with example

What is an orthogonal base class in c++, If two base classes have no overla...

If two base classes have no overlapping methods or data they are said to be independent of, or orthogonal to each other. Orthogonal in the sense means that two classes function in

What are rdram, What are RDRAM? RDRAM are Rambus DRAM. Rambus needs spe...

What are RDRAM? RDRAM are Rambus DRAM. Rambus needs specially designed memory chips. These chips use cell arrays based on the standard DRAM technology. Multiple banks of cell a

Rubbers, engineering plastics ,rubbers ,composites

engineering plastics ,rubbers ,composites

Define functions with that virtual memory can be implemented, Virtual memor...

Virtual memory can be implemented with ? With Segmentation and Paging Virtual memory can be implemented.

Show arithmetic subtraction, Q. Show Arithmetic Subtraction? The subtra...

Q. Show Arithmetic Subtraction? The subtraction can be done easily using 2's complement by taking 2's complement of value which is to be subtracted (inclusive of sign bit) and

Decision tree learning, Decision Tree Learning: Furthermore there is s...

Decision Tree Learning: Furthermore there is specified in the last lecture such as the representation scheme we choose to represent our learned solutions and the way that we l

Which memory can not be accessed randomly, Which of following can not be ac...

Which of following can not be accessed randomly DRAM, SRAM, ROM or Magnetic tape ? Ans. Magnetic tape cannot be accessed randomly; it can only be accessed sequentially.

Explain about octal numbers system, Q. Explain about Octal Numbers system? ...

Q. Explain about Octal Numbers system? An octal system has 8 digits signified as 0,1,2,3,4,5,6,7. For finding equal decimal number of an octal number one has to find quantity o

What is block started by symbol, What is BSS(Block Started by Symbol)? ...

What is BSS(Block Started by Symbol)? A data showing at the machine level, that has initial values when a program begins and tells about how much space the kernel assigns for t

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