Hirdetés
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Márkaváltás sok-sok év után
- Szevam: ChatGPT: Bizonytalansági jelölés funkció bekapcsolása
- sziku69: Szólánc.
- eBay-es kütyük kis pénzért
- Sapphi: StremHU | Source – Self-hostolható Stremio addon magyar trackerekhez
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
-
LOGOUT

Ú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!
- gban: Ingyen kellene, de tegnapra
- PlayStation 5
- Luck Dragon: Asszociációs játék. :)
- Diablo IV
- AliExpress tapasztalatok
- Otthoni hálózat és internet megosztás
- Az AI-piac kivégezte a Micronhoz tartozó Crucialt
- Vezetékes FEJhallgatók
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Milyen széket vegyek?
- További aktív témák...
- Samsung QE55S90DAEXXH 55" S90D 4K UHD Smart AI 144Hz OLED Gaming TV
- Nitro AN515-45 15.6" QHD IPS Ryzen 9 5900HX RTX 3080 32GB 1TB NVMe gar
- Sony gyári akkumulátorok és töltő, NP-BX1 típusú 1240 mah akkumulátor 3 darab és BC-TRX típusú töltő
- Teufel M220F 4-8 ohm, 140 watt
- Új Xiaomi Redmi 13C (23106RNODA),6,74",90Hz,4/128GB,Dual SIM,5000mAh,Fekete és Kék színekben
- iPhone 14 Pro 256GB 97% (1év Garancia)
- AKCIÓ! HP EliteBook x360 830 G7 i5-10210U 16GB 512GB 1 év garancia
- Apple iPhone 13 Pro Max / 128GB / Kártyafüggetlen / 12Hó Garancia / akku: 100%
- LG 45GR95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- HIBÁTLAN iPhone 14 Pro Max 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3918, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest



