Keresés

Részletes keresés

kisbetu Creative Commons License 2024.05.02 0 1 740

Ilyennel szokták a flageket állítani, pl. hogy nulla-e az AX.

Előzmény: Fidel Nasztro (739)
Fidel Nasztro Creative Commons License 2024.05.02 0 0 739

Mi értelme van ennek a sornak, hogy:

OR AX,AX   ?

 

kisspetya Creative Commons License 2023.10.31 0 1 738

Nemrég bukkantam erre a 256 byte-os gyöngyszemre:
https://www.youtube.com/watch?v=Imquk_3oFf4

 

Igen, a 256 byte tartalmazza a zenét is!
Aki elég geek, az még tanulhat is a részletesen kommentált forráskódból:
http://www.sizecoding.org/wiki/Memories

Maketheworldabetterplace Creative Commons License 2021.07.15 0 0 737

Hasznos dologra.

24 uzemoras 2TBhdd behal..

Előzmény: XNC (736)
XNC Creative Commons License 2021.07.15 -1 0 736

"A tarolo hasznalodik, feleslegesen mukodtetve feleslegesen amortizalodik."

Ilyenekért én nem szoktam aggódni.

Tudtommal az ember az egész gépet (tárral együtt) azért veszi, hogy azt használja és használódjon.

Előzmény: Maketheworldabetterplace (734)
Maketheworldabetterplace Creative Commons License 2021.07.15 -1 0 735
Maketheworldabetterplace Creative Commons License 2021.07.07 -1 0 734

Feleslegesen adatot tarolni pazarlas.

A tarolo hasznalodik, feleslegesen mukodtetve feleslegesen amortizalodik.

1. tarbol tarba: lassu, hasznalodik.

2. tarbol membe, membol tarba: meg lassabb, de a vegeredmenyt kiirva a membol tarba ke esebbet amortizal. 2,5sec

3.virtu drive: lassu.1 sec

 

Előzmény: kisbetu (731)
Maketheworldabetterplace Creative Commons License 2021.07.07 0 0 733

Mar a sokadik sokfele verzioja mukodik. Az optimalizalas, gyorsasag noveles folyamatban.

 

Előzmény: NevemTeve (732)
NevemTeve Creative Commons License 2021.07.06 0 0 732

Mostanra azért már elkészült volna a programod, ha használod azt a kezdeményt, amit április 19-én bepasztáztam...

Előzmény: Maketheworldabetterplace (730)
kisbetu Creative Commons License 2021.07.06 0 0 731

A múltkor még file-ból file-ba akartál másolni.

Közben fejlődött a tudomány és már mem-ből mem-be kéne?

 

 

Azt is meg lehet tanulni.

De mi értelme, hogy tele van a memória adatokkal? Soha többé nem kapcsolod ki a gépet?

Előzmény: Maketheworldabetterplace (730)
Maketheworldabetterplace Creative Commons License 2021.07.06 -2 0 730

Szamtech=fos.Dos kinlodas memoriaval,Win tulbonyolitas.

Membol membe gyors masolas nuku.GHzs gepek,megis lassuak.

Thibi Creative Commons License 2021.06.07 0 0 729

A 82h memóriacímtől kezdődően kell kiolvasni hogy a parancssorban a program neve után mit írtál, 80h címen a paraméter hossza van

Ezt még azelőtt kell megcsinálni mielőtt a DS regiszter megváltozik

 

https://en.wikipedia.org/wiki/Program_Segment_Prefix

 

Előzmény: Maketheworldabetterplace (728)
Maketheworldabetterplace Creative Commons License 2021.06.07 0 0 728

Igen.

masol.exe infile.txt 00123456 ff(hossz hexben) outfile.txt 00234567(offset)

A kerdes, hogy ezeket hogyan tudom beolvastatni az exebe dosos es 32bites assemblyben.

Előzmény: Thibi (726)
NevemTeve Creative Commons License 2021.06.04 0 0 727

Mármint a masolo.asm-ot fejleszed most?
Itt nézelődj: https://en.wikipedia.org/wiki/Program_Segment_Prefix

Előzmény: Maketheworldabetterplace (725)
Thibi Creative Commons License 2021.06.04 0 0 726

Ha jól értem a kérdést akkor a batch programnak így kell kinézni:

akarmi.exe %1 %2 %3 %4 %5

vagy esetleg egyben az összes paraméter: %*

akarmi.exe %*

 

Előzmény: Maketheworldabetterplace (725)
Maketheworldabetterplace Creative Commons License 2021.06.04 0 0 725

Udv! Az exe utan megadott parametereket hogy lehet kezelni txt v. batch filebol?

masolo.exe infile inoffset length outfile outoffset

 

Maketheworldabetterplace Creative Commons License 2021.05.14 0 0 724
Előzmény: NevemTeve (723)
NevemTeve Creative Commons License 2021.05.04 0 0 723

Azt hiszem, segítene, ha meglenne a képlet.

Előzmény: KP.E (722)
KP.E Creative Commons License 2021.05.04 0 0 722

3. feladat (10 pont)

Írjon C++/_asm{} programot, ami x és y ismeretében kiszámolja z értékét az alábbi képlet alapján:

 

Az x, y, z változók float típusúak. A feladatot FPU-utasításokkal oldja meg.

 

sziasztok ezt a feladatot esetleg valaki tudja hogyan kell megoldani? sajnos a mi bicskánk beletört!

Maketheworldabetterplace Creative Commons License 2021.04.25 0 0 721

1 sec. Fasm.

Koszonom a segitsegeket. <3

Törölt nick Creative Commons License 2021.04.23 0 0 720

programozasi alapok, onnan kellene kezdeni...

 

Amig sz nincs.....

Előzmény: Maketheworldabetterplace (718)
Maketheworldabetterplace Creative Commons License 2021.04.23 0 0 719

8192 ill. 131072 Bytesort athelyezni nem urtechnika elvileg.

 

Előzmény: Törölt nick (717)
Maketheworldabetterplace Creative Commons License 2021.04.23 0 0 718

A dosos anyagot 1 honapig turtam neten.

5perc alatt leirhatta volna valaki.

A forum cime Assembly alapok.

Előzmény: Törölt nick (717)
Törölt nick Creative Commons License 2021.04.23 0 0 717

Ha programozni szeretnel el kell kezdeni az alapismereteknel es felepiteni az egeszet. Ha ez nincs meg akkor teljesen ertelmetlen ez egesz es csak katyvasz lesz kb ugy es ahogy amit irsz.

 

Sajnos a leirasaidbol es kerdeseidbol latszik, hogy ez a helyzet. Itt ezt kb mindenki latja ezt, es ezert nem igazan van reakcio, aki meg reagal, az atlagnal nagyibb turelme van.

Előzmény: Törölt nick (716)
Törölt nick Creative Commons License 2021.04.23 0 0 716

az a baj,. hogy kispetya jol mondja.

 

Amig az alapok sincsenek meg, addig nem biztos hogy erdemes tetot epiteni.

Előzmény: Maketheworldabetterplace (715)
Maketheworldabetterplace Creative Commons License 2021.04.23 0 0 715

:-o

A Dos asmben ertem, valtozo regiszterbe. Ax erteketol fuggoen utastasokat hajt vegre, fajletrehoz, olvas, ir, torol, stb.

 

De ez a 32 bites elegge fura nekem..

mov pMemory,eax


mov pMem1,eax ; eax erteke pMem1ben
mov pMem2,eax ; eax erteke pMem2ben
add pMem2,2000000h ; hozzaad 32MB-nyit, onnan kezdodik a memcime
mov pMem3,eax ; eax erteke PMem3ban
add pMem3,4000000h; hozzaad 64MBnyit, onnan kezdodik a memcime

 

Remelem ma ki tudom probalni.

Előzmény: kisspetya (714)
kisspetya Creative Commons License 2021.04.22 0 0 714

Nem, nem úgy. Azt hittem az alap assembly utasítások már mennek...

 

mov pMemory,eax
mov pMem1,eax
mov pMem2,eax
add pMem2,2000000h
mov pMem3,eax
add pMem3,4000000h

 

És ez a kód csak egyszer futna le, néhány órajel csupán, ami pár nanoszekundum...
De amíg az alapdolgokat ennyire nem látod át, addig felesleges bármilyen sebesség-optimalizásról beszélni.

Egyszeri 256 bájt másolását a mai világban nem szokták mérni, mivel mérhetetlenül gyors és csak maga a mérés torzítja az eredményt.

Ciklusra amúgy a legegyszerűbb a rep movsd.

Előzmény: Maketheworldabetterplace (713)
Maketheworldabetterplace Creative Commons License 2021.04.22 0 0 713

Koszonom.

Konkretan igy irjam be?

...

mov pMemory, eax

pMo=pMemory

pM1=pMemory+2000000h
pM2=pMemory+4000000h…

 

Nem lehet megadni a kezdo memcimet, hogy kevesebbet kelljen szamolnia es gyorsuljon a futas? A sebesseg lenne az elsodleges.

A 64x4 Byte masolast milyen loop megoldassal hajtja vegre legkevesebb ido alatt? 4darab avx512 bufferrel?

 

Illetve futasidoosszehasonlitas celjabol hogyan tudom megirni a leggyorsabb konzolos patcher/bytemasolo programot(mint a bincmp)?

Peldaul bytecopier.exe 1.raw 2.raw 02345(offset1) 223344(offset2)(a masolando bytesor 256B)

Előzmény: kisspetya (712)
kisspetya Creative Commons License 2021.04.22 0 0 712

Azért tessék néha a dokumentációt is olvasni:
https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc
GMEM_MOVEABLE: heap-en belül a memóriaterület helye változhat
GMEM_ZEROINIT: a lefoglalt területet előre feltölti nullákkal
De ezeket mind a Windows memóriakezelője végzi.

 

Eddig 32MB elég volt, most már 96 kell? :)
Valamit már te is kapizsgálsz, de én is próbálom összerakni, hogy megint mit szeretnél.
A GlobalAlloc-ot hívogatni biztos nem olcsó mulatság, szóval én egyben lefoglalnék egy nagy buffer-t a 3 fájlnak,
ami így lenne felosztva cím szerint:
0000000h-1ffffffh out
2000000h-3ffffffh 00000.raw
4000000h-5ffffffh 00001.raw

Ha pMemory-ban megkaptad a buffered kezdőcímét (lásd #709), akkor beállítod a magad kis mutatóit:
pMem1=pMemory
pMem2=pMemory+2000000h
pMem3=pMemory+4000000h
És onnantól kezdve ezekkel dolgozol. pMem1-re töltöd az out fáljt, pMem2-re az 00000.raw-t, stb.
A címzés innen már egyszerű, pl. a 00001.raw 2a135h. bájtja: pMem3+2a135h

 

Egy mov-al csak egy értéket (4 bájtot) mozgatsz, ide mindenképp loopot kell majd írni.
De szerintem egyelőre ennyit érts meg.

Előzmény: Maketheworldabetterplace (711)
Maketheworldabetterplace Creative Commons License 2021.04.22 0 0 711

Koszonom szepen.

A moveable es a zeroinit kozt mi lesz a kulonbseg?

Ha lefoglalok 96MB memoriat hogy kell megirnom a progot az invoke GlobalLock,hGlobal utan?

pMem1: outfile tartalma

pMem2: 00000.raw tartalma

pMem3: 00001.raw tartalma.

 

Tegyuk fel az outfile elso sora a 00000.raw elso sora, az outfile 2. sora a 00001.raw negyedik sora.

mov eax,pMem2

mov pMem1,eax

mov ebx,pMem3+3*02000h

mov pMem1+02000h,ebx?

Előzmény: kisspetya (709)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!