Witam wszystkich moim zdaniem jest:
W pamięci komputera, począwszy od adresu T, znajduje się ciąg słów (wartości dwubajtowych).
Ilość elementów w tym ciągu znajduje się pod adresem N (jeden bajt, tzn. ich liczba jest nie większa od 255)
Napisz program, który pod adresem W, zapisze największe z tych słów.
przykładowo:
...
... zadanie
...
N: 09 // mamy 9 liczb (słów)
T: 0103,03A1,0400,05B3, 0F5A, AA01, 1CA1, 1D90, 0D12 //tu są liczby (słowa)
W: ?/ //tu powinien znaleźć się wynik
Moje rozwiązanie:
Wszystko działa mi poprawnie lecz są to wartości jednobajtowe, a w zadaniu mam podane dwubajtowe. Moje pytanie jest jak zmienić?
W pamięci komputera, począwszy od adresu T, znajduje się ciąg słów (wartości dwubajtowych).
Ilość elementów w tym ciągu znajduje się pod adresem N (jeden bajt, tzn. ich liczba jest nie większa od 255)
Napisz program, który pod adresem W, zapisze największe z tych słów.
przykładowo:
...
... zadanie
...
N: 09 // mamy 9 liczb (słów)
T: 0103,03A1,0400,05B3, 0F5A, AA01, 1CA1, 1D90, 0D12 //tu są liczby (słowa)
W: ?/ //tu powinien znaleźć się wynik
Moje rozwiązanie:
100: LD A, (N) :3A 17 01
103: LD C, A :4F
104: XOR A :AF
105: LD HL, T :21 18 01
108:LOOP: LD B, (HL) :46
109: CP B :B8
10A: JP M, SKIP :FA 0E 01
10D: LD A,B :78
10E:SKIP: INC HL :23
10F: DEC C :0D
110: JP NZ, LOOP :C2 08 01
113: LD (W), A :32 19 01
116: HLT :76
117: N: 0A (17 01)
118: T: 01, 02, 03, 04, 05, 06, 07, 08, 09, A0 (18 01)
119: W: ?? (19 01)Wszystko działa mi poprawnie lecz są to wartości jednobajtowe, a w zadaniu mam podane dwubajtowe. Moje pytanie jest jak zmienić?