Vedel by niekto naprogramovat tuto ulohu pre 32-bitove procesory Intel?
Fórum › Assembler
Program
Na 4 instrukce mi to pripada trosku malo..
Cyklus, to mame nejmene jedna + nastaveni poctu opakovani (zalezi, jak pozna konec), pak tu mame spocitani absolutni hodnoty z predchozi a aktualni (tezko rict, jestli ta "poslouprnost" znamena treba jen rostouci, ci klesajici), pak tu mame ukladani minima vzdalenosti ...
#6 KIIV
Do čítače bych hodil cíl a tak moh použít pouze loop k odčítání... No a pak jen odčítání pomocí podmíněného skoku. Tím mám cyklus, co během 3 instrukcí odčítá do nuly. No a z toho bych podmíněně vyskočil, když to dojde na minimum - první číslo vstupu... Jestli k tomu chce něco dalšího - prosím... Tedy ono by to šlo asi i takto:
mov cx, $max
ddd:
cmp cx, $min
je eee
loop ddd
Zkrátka 4 instrukce... :D (Vlastně loop se dá také podmínit - no dlouho jsem ASM neviděl - ale mělo by to jít jednodušeji, než popisuješ.)
Problem je v tom, ze nejblizssi muze znamenat bud sousedni (bys projizdel jednotlive sousedici cisla a zjistoval vzdalenost - vyskakovat pujde tezko, absolutni minimum muze byt uplne na konci), nebo nejblizssi jako nejmensi rozdil (tady by to znamenalo, ze to nebude serazeny a zjistujes rozdily "kazdy s kazdym" - takze obdoba select sortu a dve smycky)
Pokud bys nechtel menit to pole, tak si to beztak musis kopirovat do registru, ...
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Program, ktory otvori iny program — založil Nummi
C# program — založil Tomas.P
C# program — založil xpiii