Wpis z mikrobloga

Ma ktoś z was jakiś pomysł jak BARDZIEJ optymalnie rozwiązać to zadanie?

Zamiana liczby HEX na BIN w przedziale od 00...FF
uwaga, asembler 8 bitowy (intel 8080) - ale każdy pomysl sie liczy :D


UWAGA! Kod robiony metodą siłową..( ͡° ͜ʖ ͡°)

#programowanie #asembler
  • 4
  • Odpowiedz
@Trusiak:
1. Definiujesz tablice z wartościami bitów dla każdej cyfry hex (po 4 elementy dla 0, 1, .., E, F).
2. Bierzesz starsze 4 bajty z liczby HEX
3. To * 4 + offset tablicy - wyświetlasz
4. Powtarzasz dla młodzych 4 bajtów
  • Odpowiedz
@Trusiak: Nie chce mi się studiować teraz ASM 8080, ale tak to wygląda mniej więcej:
mov A, liczbaWascii
cmp A, 64
ja litery ;jump if above
sub A, 48
jmp kontynuuj

litery:
sub A, 55

kontynuuj:

tu już Masz zamieniony znak na liczbę, zrób tak samo drugi, złóż do całości starsze i młodsze 4 bity, a na koniec w pętli obróć tą liczbę (shr/shl) i sprawdzaj wybrany bit (tudzież carry)

Ps.
  • Odpowiedz
@jrsx: mógłbyś bardziej jaśniej objaśnić o co Ci chodzi z definiowaniem tablicy z wartosciami bit kazdej cyfry hex?

Bo chyba rozumiem o co Ci chodzi, ale nie do konca dobrze interpetuje to zdanie
  • Odpowiedz