Witam. Dostałem za zadanie napisać program w assemblerze, który zamienia podane przez użytkownika liczby w linii poleceń na 16-bitowy system szesnastkowy (U2). Miałem dopiero 3 zajęcia z assemblera i tak średnio to ogarniam... Oczywiście dostałem jakieś tam przykładowy program, który zamienia podaną już z góry liczbę w systemie dziesiętnym na 8-bitowy system szesnastkowy.
I właśnie chciałem od tego przykładu sobie powoli zacząć projekt, który muszę zrobić. Jednak już na samym początku pojawił się problem, z którym nie potrafię sobie poradzić...
Otóż na samym początku chciałem ten przykładowy program przerobić tak, aby zamiast przeliczać podaną już wcześniej w zmiennej stałą liczbę, program pobierał ją od użytkownika, a następnie zamieniał.
Tak też zrobiłem, pobrałem znak, który zapisał się w rejestrze al, potem przerzuciłem tą liczbę to rejestru bl, ale niestety wyniki nie są poprawne...
Poniżej znajduje się cały kod z programu. Póki co jest możliwość wprowadzenia tylko liczby jednocyfrowej i nie ma sprawdzenia czy mieści się w przedziale itd..
Jeśli zamiast mov bl, al pojawi się tam mov bl, [zmienna] to oczywiście wszystko działa jak należy. Jeśli ktoś potrafi mi pomóc to bardzo bym prosił i odpowiedź.
I właśnie chciałem od tego przykładu sobie powoli zacząć projekt, który muszę zrobić. Jednak już na samym początku pojawił się problem, z którym nie potrafię sobie poradzić...
Otóż na samym początku chciałem ten przykładowy program przerobić tak, aby zamiast przeliczać podaną już wcześniej w zmiennej stałą liczbę, program pobierał ją od użytkownika, a następnie zamieniał.
Tak też zrobiłem, pobrałem znak, który zapisał się w rejestrze al, potem przerzuciłem tą liczbę to rejestru bl, ale niestety wyniki nie są poprawne...
Poniżej znajduje się cały kod z programu. Póki co jest możliwość wprowadzenia tylko liczby jednocyfrowej i nie ma sprawdzenia czy mieści się w przedziale itd..
Jeśli zamiast mov bl, al pojawi się tam mov bl, [zmienna] to oczywiście wszystko działa jak należy. Jeśli ktoś potrafi mi pomóc to bardzo bym prosił i odpowiedź.
Code: x86asm