Hirdetés
- AMD Navi Radeon™ RX 9xxx sorozat
- Pánik a memóriapiacon
- Amlogic S905, S912 processzoros készülékek
- iPad topik
- ASUS blog: kisebb, de nem gyengébb – a mini PC-k forradalma
- Nem lesznek kitömve VRAM-mal az új VGA-k a gyártók szerint
- Milyen alaplapot vegyek?
- Milyen notebookot vegyek?
- Milyen TV-t vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
-
PROHARDVER!

Új hozzászólás Aktív témák
-
válasz
BTminishop
#12079
üzenetére
akkumulátor használatával:
loop R2:
add R1 // ACC += R1
endloop
store R3 // ACC -> R3vagy ha nincs ilyen add utasítás:
clear R3
loop R1
loop R2
inc R3
endloop
endloopmondjuk jó kérdés, hogyan nullázol ki egy regisztert egyoperandusú utasítással (ha nincsenek akkumulátor utasítások)
De rájöttem (asszem):
push 0
pop R3
push R1
pop CX
:loop_R1
push CX
push R2
pop CX
:loop_R2
inc R3
loop loop_R2
pop CX
loop loop_R1 -
kovisoft
őstag
válasz
BTminishop
#12079
üzenetére
Előre szólok, hogy nagyon csúnya és nagyon nem hatákony megoldás következik:

Van az R1, R2 regiszterünk, R3=0, R4=0. Írsz egy ciklust, ami egyesével csökkenti (decrement) az R1-et, ezzel egyidőben egyesével növeli (increment) R3 és R4-et, amíg R1 el nem érte a 0-t. Ekkor R3 és R4-ben R1 van. Ezután kell egy másik ugyanilyen ciklus, ami ugyanazt csinálja, mint az első, csak most az R3-at dekrementálja, és az R1 és R4-et inkrementálja. Ennek a végén R4-ben már 2*(R1 kiinduló értéke) lesz, és R1 újra a kiinduló értéken van.
Na most ezt az egészet beágyazod egy külső ciklusba, ami az R2-n megy végig lefelé, minden egyes belső ciklus végrehajtásakor dekrementálva R2-t, amíg R2 is 0 nem lesz. Mivel igazából két belső ciklus van, ezért mindegyik végrehajtása előtt ellenőrizni kell, hogy elérte-e R2 a 0-t.
És a legvégén R4-ben ott lesz (R1 kiinduló értéke)*(R2 kiinduló értéke), miközben végig csak increment, decrement, feltételes jump utasításokat használtunk.
-
válasz
BTminishop
#12079
üzenetére
"R3 = R1*R2"
Ez itt konkrétan a megoldás a kétoperandusúakhoz (merthogy az értékadás és a szorzás is az)

Egyoperandusúval meg nem fogod tudni leírni, már magának a műveletnek a jellegéből adódóan.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- AMD Navi Radeon™ RX 9xxx sorozat
- Black Friday november 29. / Cyber Monday december 2.
- World of Warships
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Pánik a memóriapiacon
- Amlogic S905, S912 processzoros készülékek
- iPad topik
- Nintendo Switch 2
- Villanyszerelés
- ASUS blog: kisebb, de nem gyengébb – a mini PC-k forradalma
- További aktív témák...
- RF 85mm f/1.2L USM + ZEISS Filter Prémium portréoptika, egyszer használt, hibátlan
- PS 4 Pro 1Tb Spiderman Limited Edition
- Canon 16 35mm f/2.8L III Kifogástalan, profi nagylátó + HOYA UV szűrő
- Canon EOS 5DsR + BG-E11 markolat gondosan karbantartott, kevés expo!
- Sony Playstation Portal + Tok + 5 hó garancia
- ASUS ROG Zephyrus G14 - 14" WUXGA 144Hz - Ryzen 9 6900HS - 16GB - 1TB - Win11 - RX 6800S 8GB - HUN
- Garmin USB ANT Stick jeladó eladó
- Apple iPhone 14 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 11 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3871, 100% Akkumulátor
- AKCIÓ! Intel Core i7 6700K 4mag 8szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest




