Assembler Z80

0

Mam problem z programemm, dopiero raczkuje... Pisze w Z80. Program ma najogolniej polegac na: do komorki n wpisuje jakas liczbe, do komorki n+l jakas liczbe. W komorce n+3 ma sie pokazac 0 jesli liczby sa rowne, 1 jesli liczba z n > od liczby z n+1, a 2 jesli na odwrot. Jesli ktos moze to prosilbym o kod, a jesli nie to o jakies wskazowki. Potrafie zrobic, ze wyswietla sie 0 jesli sa rowne i 1 jak sa rozne. Nie mam pojecia jak zrobic inne warunki...

pozdro. i dzieki z gory za wszystko...

0

Nigdy nie pisałem w Assemblerze Z80 - szkoda, że nie podałeś tego, co już masz.
Ale po przejrzeniu paru stron z opisem języka i z własnego doświadczenia z Assemblera x86 doszedłem do czegoś takiego:

ld hl,n
ld a,(hl)
ld hl,n+1
cp (hl)
jp z,rowne
jp m,mniejsza
ld a,1
jp wynik
mniejsza:
ld a,2
jp wynik
rowne:
ld a,0
wynik:
ld hl,n+3
ld (hl),a

Nie napisałeś, czy są to liczby ze znakiem, czy bez. Przyjąłem, że bez.
To jest mój pierwszy program pod ten procesor, więc nie dam głowy, że wszystko jest dobrze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1