Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Geri Bátyó: Agglegénykonyha 13 – Néhány egyszerű, de finom étel
- Parci: Milyen mosógépet vegyek?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
- talmida: Változások 2. rész
- Luck Dragon: MárkaLánc
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
kis.balage
#772
üzenetére
Helló kis.balage!
"PLC ciklusonként kellene 120 doubleword-öt 1 doubleword-el arréb mozgatnom (FIFO). Tudtok erre valami elegáns megoldást vagy marad a 120-szor LOAD-TRANSFER?"
Az is egy megoldás, de munkaigényes beírni

Két másik módszer:
1. cikust kell szervezni, ami szépen elketyeg 120-ig. A dolog hátránya, hogy ismerni kell az STL programozást és tisztában kell lenni az indirekt címzésekkel.
Egy ehhez hasonló megoldás van ebben az írásban is.2. 119 duplaszót átmásolsz egy blockmove utasítással egy 119 dw elemű pufferbe, majd egy duplaszóval arrébbra visszamásolod. Előnye, hogy ehhez nem kell STL, hátránya, hogy kell egy 476byte-os puffer (már ha ez hátrány a konkrét esetben).
Persze nem írtad, hogy merről merre akarod "léptetni" a tárolót, a fenti példa az egész puffert egyel magasabb címre másolja (1 dworddel, azaz 4 byte-tal).
A példában a léptetendő adatterület a DB1.DBD0-nál kezdődik. Nem próbáltam ki, hogy nem vétettem-e hibát benne, a példával az elvet próbáltam szemléltetni...Ja igen: A pufferrel való vacakolás azért kell, mert amennyire emlékszem, a BLKMOV (SFC20) nem engedi meg hogy a másolt cél és forrás terület átfedésben legyen egymással. Persze biztos megírta már valaki azt a blkmove-t amelyiknél ez nem gond, de kapásból nem tudok olyat most.
Új hozzászólás Aktív témák
- Targus DOCK423A - USB-C Dual HDMI 4K HUB - 2 x HDMI (120Hz)
- BESZÁMÍTÁS! GIGABYTE RTX 3080 Gaming OC videokártya garanciával hibátlan működéssel
- Azonnali kézbesítés az év bármely pillanatában
- Eladó Samsung Galaxy A53 5G 6/128GB fekete / 12 hónap jótállás
- HIBÁTLAN iPhone 15 Pro 256GB White Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4448
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


