# Assembly language. conversion.

1. Mar 17, 2009

### kloong

Assembly language. how to change the 80h in my register to 50h?
that goes to others to. like 45h to 2Dh.

basically, i came up with a sequence to change the user's double digit decimal input to hex value.

i.e.
when i enter 45, AL = 45h
how do i change it to 2Dh??

; al = 45h. how to change it to 2Dh?

45(decimal) = 2Dh.
must be able to do this for other conversion.

2. Mar 18, 2009

### MATLABdude

I'm not quite sure if I completely understand your question, but wouldn't the user's input in this case be two ASCII bytes? (The ASCII characters for '4'--0x34, and '5'--0x35) Unless you've already parsed these by ANDing with 0xf0)

If that's the case, you can simply multiply the first byte by 10, and add it to the second byte. Simple base 10 long form, as you probably did in elementary. In this case, 4 x 10 is 40 is 0x28 and when you add 5 to it, you get 0x2d, as in your example. If instead, it's packed into one byte, you'll need to do some masking and shifting before multiplying the 10s digit by 10 and adding it to the 1s digit.

The actual implementation is left as a task to the user.