Mikorist Napisano Januar 24, 2023 Share #1277 Napisano Januar 24, 2023 pre 5 minuta, Pchelac reče sta mislite? https://support.apple.com/kb/sp652?locale=en_US evo ti specifikacije...relativno je zastareo. ne moze se apgrejdovati Macos . Pitanje je kada ce da pocne sta da otkazuje na njemu. Kuciste je top Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 24, 2023 Share #1278 Napisano Januar 24, 2023 U principu kad kupujem polovno gledam da je od 2016-2017 najkasnije...I tu ima sve i svasta na KP.... Jedan i5 procesor mi je riknuo posle 5 meseci...neki nisu ni posle par godina...ploce maticne su uglavnom najizdrzjivije i memorija. Zavisi od vlasnika i preprodavca. Kao i za sve na KP.... Ima dosta njih postenih ali ima i prevaranata. Gledas ocene , slike - procenjujes koliko je nesto archeno itd.... Lemić je reagovao/la na ovo 1 Link to comment Podeli na ovim sajtovima More sharing options...
Zen Mod Napisano Januar 24, 2023 Share #1279 Napisano Januar 24, 2023 Link to comment Podeli na ovim sajtovima More sharing options...
Pchelac Napisano Januar 24, 2023 Share #1280 Napisano Januar 24, 2023 Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 24, 2023 Share #1281 Napisano Januar 24, 2023 Pre sat vremena, Mikorist reče https://support.apple.com/kb/sp652?locale=en_US evo ti specifikacije...relativno je zastareo. ne moze se apgrejdovati Macos . Pitanje je kada ce da pocne sta da otkazuje na njemu. Kuciste je top Lik je izvadio orginalnu ATI karticu i ubacio GT 120..........na oba *(zato mu je sistem na macOS High Sierra - a sa ATI radi do poslednje verzije) Evo orginal koliko kosta https://novi.kupujemprodajem.com/kompjuteri-desktop/apple-desktop/mac-pro-5-1-8-core-32gb-ram/oglas/146941121 Ovo ne izgleda loshe uopste https://novi.kupujemprodajem.com/kompjuteri-desktop/apple-desktop/imac-21-2017-8gb-1tb/oglas/146940595 treba videti na licinom mestu - jer slike nisu orginalne . nista bez provere i gledanje u specifikacije. Link to comment Podeli na ovim sajtovima More sharing options...
gluv_i_udaren Napisano Januar 24, 2023 Share #1282 Napisano Januar 24, 2023 Takoe, treba xeon za muziku… Mikorist je reagovao/la na ovo 1 Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 25, 2023 Share #1283 Napisano Januar 25, 2023 pre 9 časa, gluv_i_udaren reče Takoe, treba xeon za muziku… Lepo moze da se probere na KP. Na ovim gde su izvadjene ATI - dokupis lepo RX 580 od 8GB i to monumentalno postaje zver Link to comment Podeli na ovim sajtovima More sharing options...
Lemić Napisano Januar 25, 2023 Share #1284 Napisano Januar 25, 2023 (izmenjeno) Prikoči malčice, ima te banuju na KP. LM, na onom forumu naleteh na post, "Rewrite data", navodno programčić kojim se osvežava zapis na SSDiju, izgleda da možda zaista nije za skladištenje, ne važi ta HDD: "MajiorityClean (naslednik MinorityClean pomoćnog softvera) nije vezan za AlbumPlayer, poboljšaće reprodukciju bilo kog PC-a pri reprodukciji audio sadržaja. Uz MajiorityClean koristi se i LemonadeElitest paralelno. RewriteData služi za 'osvežavanje' digitalnog zapisa i ima efekta na SSD diskovima, nema efekta na standardnim HDD." Album Player (APlayer) Vol. II - Page 2 - PC & Hi-Fi - HiFi forumi WWW.HI-FILES.COM Izmenjeno Januar 25, 2023 od Lemić zika je reagovao/la na ovo 1 Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 25, 2023 Share #1285 Napisano Januar 25, 2023 Voleo bih da mi neko objasni kako radi ovaj metod. Evo meni nije jasno kako radi 'osvežavanje' digitalnog zapisa specijalno za SSD. To ne postoji na Windows Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 25, 2023 Share #1286 Napisano Januar 25, 2023 Na Linux sistemima postoji FSTAB . Datoteka fstab sadrži opisne informacije o sistemu datoteka koje sistem može montirati. Fstab čitaju samo programi, a nije napisano(zadato); dužnost administratora sistema (root) je da pravilno kreira i održava ovu datoteku. Redosled zapisa u fstab je važan jer fsck, mount i umount sekvencijalno ponavljaju kroz fstab radeći svoje poslove(job-ove). Pa se može zadati Read&Write - parametar rw Opcija noatime isključuje snimanje vremena pristupa bez obzira na dfratime ili nodfratime. Sa errors={continue|remount-ro|panic} definišete ponašanje kada se naiđe na grešku. (bilo da ignoriše greške i samo označava sistem datoteka kao pogrešan i nastavlja, ili ponovo montira sistem datoteka samo za čitanje, ili dolazi do panike i zaustavljanja sistema.) UUID=$ROOT / ext4 rw,noatime,errors=remount-ro 0 1 UUID=$HOME /home ext4 rw,noatime,errors=remount-ro 0 2 HOME je u mom slučaju blkid -o value -s UUID /dev/sdb ROOT je u mom slučaju blkid -o value -s UUID /dev/sda2 Ne postoji ekvivalent /etc/fstab u Windovs NT-u jer Windovs NT ne funkcioniše na taj način. Montiranje volume(drajva) se ne vrši pokretanjem komande za montiranje. Niti dodeljivanje slova disk jedinice (koje se vrši preko simboličke veze u upravljaču objekata pod \DosDevices) nije isto kao i montiranje. vladd je reagovao/la na ovo 1 Link to comment Podeli na ovim sajtovima More sharing options...
NIXIE Napisano Januar 25, 2023 Share #1287 Napisano Januar 25, 2023 Čak i da postoji, ne treba čačkati SSD bez preke potrebe. Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 25, 2023 Share #1288 Napisano Januar 25, 2023 Eventualno trimovanje. Ali i to ko zna sta radi tacno. Link to comment Podeli na ovim sajtovima More sharing options...
zika Napisano Januar 25, 2023 Share #1289 Napisano Januar 25, 2023 5 minutes ago, Mikorist said: Pa se može zadati RewriteData - parametar rw Izvinjavam se ako sam pogrešno razumeo, saâmo da pojasnim(o) da ne bi bilo zbunja... ??? Rewrite... Pre će biti da li je ro ili rw... ReadOnly i Read&Write... I, tako, desetljećima... To bi, pre, valjalo zvati overwrite, da se ne bi mešalo sa ponuđenim, dôle... 1 hour ago, Lemić said: LM, na onom forumu naleteh na post, "Rewrite data", navodno programčić kojim se osvežava zapis na SSDiju, izgleda da možda zaista nije za skladištenje, ne važi ta HDD: "MajiorityClean (naslednik MinorityClean pomoćnog softvera) nije vezan za AlbumPlayer, poboljšaće reprodukciju bilo kog PC-a pri reprodukciji audio sadržaja. Uz MajiorityClean koristi se i LemonadeElitest paralelno. RewriteData služi za 'osvežavanje' digitalnog zapisa i ima efekta na SSD diskovima, nema efekta na standardnim HDD." Album Player (APlayer) Vol. II - Page 2 - PC & Hi-Fi - HiFi forumi WWW.HI-FILES.COM Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 25, 2023 Share #1290 Napisano Januar 25, 2023 pre 8 minuta, zika reče Pre će biti da li je ro ili rw... ReadOnly i Read&Write... Jeste Read&Write Greška.... Ispravljeno. Brže kucam nego sto mislim da je tačno pre 8 minuta, zika reče To bi, pre, valjalo zvati overwrite, da se ne bi mešalo sa ponuđenim, dôle... Pre sat vremena, Lemić reče I dalje mi nije jasno kako to radi na Windows. Preko čega se vrši osvežavanje zapisa ? Kroz regedit recimo HKLM\SYSTEM\MountedDevices ? Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 25, 2023 Share #1291 Napisano Januar 25, 2023 Pod Windows NT dodeljivanje slova disk jedinice se vrši povezivanjem slova disk jedinice sa već (pre)montiranim volume-nom. Montiranje je proces koji uključuje slanje obaveštenja drajveru sistema datoteka da se montira na volume. Montiranje ne zahteva korisničke komande da bi se dogodilo. Radi se u režimu kao deo Plug and Play. Upravljački program za disk saopštava upravljaču zvuka (programu za puštanje muzike u ovome slučaju) kad god dođe novi disk. Menadžer volumena kreira nove volumene koji se mogu montirati (iz informacija sadržanih u tabelama particija, LDM bazi podataka/registrima ili negde drugde) za pojedinačne ili kombinovane delove takvog diska. I I/O menadžer montira tako kreirane volumes, pokušavajući redom svaki drajver sistema datoteka, nakon toga. To je ono što ja znam u vezi Windows-a... Link to comment Podeli na ovim sajtovima More sharing options...
zika Napisano Januar 25, 2023 Share #1292 Napisano Januar 25, 2023 (izmenjeno) Da bude (meni, recimo) jasnije: Pričate li o: Pink HQ + Minorityclean - Computer Audio - JPLAY - hi-end audio player for Windows JPLAY.EU Page 1 of 219 - Pink HQ + Minorityclean - posted in Computer Audio: Whats happened to the topic about BHE ? Ive just learned to use Pink hq (wasapi ) and the japanese guy has stooped the developpement! 2019-08-16 Bug head research and development has ended. The public distribution will end at the end of 2019. But ...Minorityclean is a big... ??? MajiorityClean WWW-MICS-NE-JP.TRANSLATE.GOOG MajiorityClean、パソコンの画質・音質・印刷品質へ悪影響のある状態を改善します。CPUのレジスタ状態を改善させるだけでなく、メモリの内部回路を基準とする事で安定性を高めています。 Izmenjeno Januar 25, 2023 od zika Mikorist je reagovao/la na ovo 1 Link to comment Podeli na ovim sajtovima More sharing options...
Lemić Napisano Januar 25, 2023 Share #1293 Napisano Januar 25, 2023 Ima u onom postu link ka nekom japanskom, kolko sam neuk razumeo, čita u memoriju i ponovo piše na istom mestu valjda i tako možda osvežava naelekteisanje, koje može da oslabi i postane nečitljivo, efekat pomenutog "bit rotting"a. Izanalizirajte, Vi koji iole razumete problematiku, ja sam totalni duduk, samo iznosim našta sam natrapao. Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 25, 2023 Share #1294 Napisano Januar 25, 2023 Pazi kad me nije mrzelo ceo kod da pogledam i da čekiram Spoiler ; MinorityClean 126 LOOP (2021 03 04) ; Copyright (c) 2020-2021 Hiroyuki Yokota (oryaaaaa) ;// Japanese text is developer's comments ;// 令和3年3月4日(木) 午前9時58分 ; ; PureBasic 5.73 LTS (Windows - x64) generated code ; ; (c) 2020 Fantaisie Software ; ; The header must remain intact for Re-Assembly ; ; System ; :System ; kernel32.lib ; :Import ; ;// 64ビット Windows EXE フォーマット format MS64 COFF ; ; ;// できるだけ、ロードするDLLを最小限にすると低ジッターにできます。 ;// 未使用の処理がありますが、裏から指示されてPureBasicで書くこと。 extrn PB_Delay extrn ExitProcess extrn GetModuleHandleW extrn HeapCreate extrn HeapDestroy extrn memset extrn PB_StringBase extrn SYS_InitString extrn SYS_FreeStrings ;// ここにネットワークのWin32APIが含まれていたら、開発ライブラリは怪しいです。 ;// DLLをロードしたとき、DLLに指定されたDLLをロードする仕様なので、 ;// BASS の各種DLLによっては、重ジッター現象で音質は悪くなります。 ;// BASS_AAC はDLLを全部ロードするみたいで、絶対にサポートできません。 ; extrn PB_StringBasePosition public _PB_Instance public PB_ExecutableType public PB_OpenGLSubsystem public _PB_MemoryBase public PB_Instance public PB_MemoryBase public PB_EndFunctions macro pb_public symbol { public _#symbol public symbol _#symbol: symbol: } macro pb_align value { rb (value-1) - ($-_PB_DataSection + value-1) mod value } macro pb_bssalign value { rb (value-1) - ($-_PB_BSSSection + value-1) mod value } public PureBasicStart ; section '.code' code readable executable align 4096 ; ; PureBasicStart: ;// 最初を NOP NOP と書くと、CPU動作は低ジッター動作になります。 NOP NOP NOP NOP ;// スタックポインタの電子ビットスタビライザー処理 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] ;// 奇数処理と偶数処理に分けて、レジスタの電子ビットスタビライザー処理 ;// 32ビットレジスタは意図的に除外、32ビット指定すると64ビット値は強制32ビット値へ MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b ;// Rcx へ 高精度に 2560 を作るため、R8レジスタで INC SHL で数値作成 XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 ;// RSP の電子ビットスタビライザー処理 XCHG Rsp, Rsp XCHG sp, sp XCHG spl, spl NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV Rcx, R8 ;// ループ処理 Rcx = 2560 ;// 汎用レジスタの物理レジスタへ現在の値を反映させる処理 ;// これをしないと、デジタル出力時に重ジッター現象により値が変化する LOOP_1st_MOVE_adspsi: MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_1st_MOVE_adspsi MOV Rcx, R8 LOOP_1st_MOVE_9111315: MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_1st_MOVE_9111315 MOV Rcx, R8 LOOP_1st_MOVE_bcbpdi: MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_1st_MOVE_bcbpdi MOV Rcx, R8 LOOP_1st_MOVE_8101214: MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_1st_MOVE_8101214 ;// Rcx へ 高精度に 2560 を作るため、R8レジスタで INC SHL で数値作成 XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 XCHG Rsp, Rsp XCHG sp, sp XCHG spl, spl NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV Rcx, R8 ;// ループ処理 Rcx = 2560 ;// 汎用レジスタの物理レジスタへ現在の値を反映させる処理 ;// これをしないと、デジタル出力時に重ジッター現象により値が変化する LOOP_2st_MOVE_adspsi: MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_2st_MOVE_adspsi MOV Rcx, R8 LOOP_2st_MOVE_9111315: MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_2st_MOVE_9111315 MOV Rcx, R8 LOOP_2st_MOVE_bcbpdi: MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_2st_MOVE_bcbpdi MOV Rcx, R8 LOOP_2st_MOVE_8101214: MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_2st_MOVE_8101214 ;// Rcx へ 高精度に 2560 を作るため、R8レジスタで INC SHL で数値作成 XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 XCHG Rsp, Rsp XCHG sp, sp XCHG spl, spl NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV Rcx, R8 ;// ループ処理 Rcx = 2560 ;// 汎用レジスタの物理レジスタへ現在の値を反映させる処理 ;// これをしないと、デジタル出力時に重ジッター現象により値が変化する LOOP_3st_MOVE_adspsi: MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_3st_MOVE_adspsi MOV Rcx, R8 LOOP_3st_MOVE_9111315: MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_3st_MOVE_9111315 MOV Rcx, R8 LOOP_3st_MOVE_bcbpdi: MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_3st_MOVE_bcbpdi MOV Rcx, R8 LOOP_3st_MOVE_8101214: MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_3st_MOVE_8101214 ;// Rcx へ 高精度に 2560 を作るため、R8レジスタで INC SHL で数値作成 XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 XCHG Rsp, Rsp XCHG sp, sp XCHG spl, spl NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV Rcx, R8 ;// ループ処理 Rcx = 2560 ;// 汎用レジスタの物理レジスタへ現在の値を反映させる処理 ;// これをしないと、デジタル出力時に重ジッター現象により値が変化する LOOP_4st_MOVE_adspsi: MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_4st_MOVE_adspsi MOV Rcx, R8 LOOP_4st_MOVE_9111315: MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_4st_MOVE_9111315 MOV Rcx, R8 LOOP_4st_MOVE_bcbpdi: MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_4st_MOVE_bcbpdi MOV Rcx, R8 LOOP_4st_MOVE_8101214: MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_4st_MOVE_8101214 ;// アドレスやRspやRbpを意図的にキャッシュさせる NOP [Rip] NOP [PureBasicStart] NOP [Rip] NOP [Rbp] NOP [Rip] NOP [Rsp] NOP [Rip] NOP [GateOfBabylon] ;// 遠くからコールしているジャンプ命令をCPUに読ませて ;// OSレベルの信頼性動作モードで実行させ、低ジッター動作を実現する JMP GateOfBabylon JMP PureBasicStart JMP PB_Delay JMP ExitProcess JMP GetModuleHandleW JMP HeapCreate JMP HeapDestroy JMP memset JMP PB_StringBase JMP SYS_InitString JMP SYS_FreeStrings GateOfBabylon: ;// RSP値のセットを数値で書くと、そこだけSSD基準となる。 ;// CPU演算基準根拠でRSPをコントロールして、低ジッター動作 DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp ;// RSPの電子ビットスタビライザー処理 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV r8,I_BSSEnd-I_BSSStart XOR rdx,rdx MOV rcx,I_BSSStart ;// CALLの電子ビットスタビライザー処理、前半 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [memset] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL memset ;// CALLの電子ビットスタビライザー処理、後半 NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] XOR rcx,rcx MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [GetModuleHandleW] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL GetModuleHandleW NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOVNTI [PB_Instance],rax NOP [Rip] NOP [PB_Instance] XOR r8,r8 MOV rdx,4096 XOR rcx,rcx MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [HeapCreate] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL HeapCreate NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOVNTI [PB_MemoryBase],rax NOP [Rip] NOP [PB_MemoryBase] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [SYS_InitString] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL SYS_InitString NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] l_loopto: ;// ループの最初はカーネルでタスクスイッチしているため、 ;// RSP値の電子ビット基準は乱れている。 ;// NOP NOP でCPU動作状態を変更してから、RSPの電子ビットスタビライザー処理 NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [PB_Delay] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] ;// Sleep関数の初期値はSSD-メモリ由来の定数が使われているため、 ;// 0値を XOR Rcx, Rcx で初期化した電子ビット基準を適用して、 ;// OS側の変数値を初期化する。これで音質はキレキレの音になる。 CALL PB_Delay NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] XOR Rdx, Rdx XOR Edx, Edx XOR dx, dx XOR dh, dh XOR dl, dl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC dl INC cl SHL Rdx, cl SHL Rdx, cl INC dl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl INC cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b DEC cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b XOR R9, R9 XOR R9d, R9d XOR R9w, R9w XOR R9b, R9b MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV Rcx, Rdx ;// ループアドレスや変数アドレスを NOP でキャッシュさせる、低ジッター動作となる NOP [Rip] NOP [LOOP_Reversed_Loop_Writed_atElectronic_bit_standard_creation_forCuresClearLoop_stop] NOP [Rip] NOP [v_CuresClearLoop_stop] NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] ;// LOOP命令を使って処理すると、低ジッター動作となる LOOP_Reversed_Loop_Writed_atElectronic_bit_standard_creation_forCuresClearLoop_stop: MOVNTI [v_CuresClearLoop_stop], R8 MOVNTI [v_CuresClearLoop_stop], R9 LOOP LOOP_Reversed_Loop_Writed_atElectronic_bit_standard_creation_forCuresClearLoop_stop NOP [Rip] NOP [v_CuresClearLoop_stop] XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b MOV R8, Rax XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV Rcx, Rax INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV Rcx, R8 LOOP_MOVE_adspsi: ;// 電子ビット基準をRaxへ適用 OR Rax, [v_CuresClearLoop_stop] ;// Raxの物理レジスタへ現在の値を更新 ;// 物理レジスタ とは? 論理レジスタ Rax=Eax=Ax=Ah=Al 同じ設計であると説明する。 ;// 物理レジスタは、半導体の電子回路では、各レジスタは異なる設計である。 ;// 電子工学科を卒業した大学院生では、知識不足ですので・・・ ;// CPUの電子回路をなんとなくイメージできる電子回路設計の知識が必要です。 MOV al, al MOV ah, ah MOV ax, ax ;// MOV Eax, Eax を入れると、64ビット値は32ビット値へ制限され、Rax=Eaxとなります。 MOV Rax, Rax ;// MOV Eax, Eax を入れると、64ビット値は32ビット値へ制限され、Rax=Eaxとなります。 MOV ax, ax MOV ah, ah MOV al, al ;// 電子ビット基準をRdxへ適用 OR Rdx, [v_CuresClearLoop_stop] ;// Rdxの物理レジスタへ現在の値を更新 MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl OR Rsp, [v_CuresClearLoop_stop] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl OR Rsi, [v_CuresClearLoop_stop] MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_MOVE_adspsi MOV Rcx, R8 LOOP_MOVE_9111315: OR R9, [v_CuresClearLoop_stop] MOV R9b, R9b MOV R9w, R9w ;// MOV R9d, R9d を入れると、64ビット値は32ビット値へ制限され、R9=R9d となります。 MOV R9, R9 ;// MOV R9d, R9d を入れると、64ビット値は32ビット値へ制限され、R9=R9d となります。 MOV R9w, R9w MOV R9b, R9b OR R11, [v_CuresClearLoop_stop] MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b OR R13, [v_CuresClearLoop_stop] MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b OR R15, [v_CuresClearLoop_stop] MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_MOVE_9111315 MOV Rcx, R8 LOOP_MOVE_bcbpdi: OR Rcx, [v_CuresClearLoop_stop] MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl OR Rbx, [v_CuresClearLoop_stop] MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl OR Rbp, [v_CuresClearLoop_stop] MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl OR Rdi, [v_CuresClearLoop_stop] MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_MOVE_bcbpdi MOV Rcx, R8 LOOP_MOVE_8101214: OR R8, [v_CuresClearLoop_stop] MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b OR R10, [v_CuresClearLoop_stop] MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b OR R12, [v_CuresClearLoop_stop] MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b OR R14, [v_CuresClearLoop_stop] MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_MOVE_8101214 MOV Rcx, R8 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [PB_Delay] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] ;// Sleep_(2560) と同じ、2560 ms 待機命令 CALL PB_Delay NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] NOP [Rip] NOP [l_loopto] NOP [Rip] NOP [Rip] ;// 無限ループ処理 JMP l_loopto ;// PureBasic End 命令 NOP [Rip] NOP [_PB_EOP] NOP [Rip] NOP [Rip] JMP _PB_EOP ;// 以下、PureBasic命令を FASM で書くためのテクニック、残骸。未使用。 MOV rcx,qword 0 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [PB_Delay] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL PB_Delay NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] ;// PureBasic End 処理 _PB_EOP: MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [PB_EndFunctions] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL PB_EndFunctions NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [SYS_FreeStrings] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL SYS_FreeStrings NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV rcx,[PB_MemoryBase] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [HeapDestroy] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL HeapDestroy NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV rcx,[PB_ExitCode] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [ExitProcess] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL ExitProcess NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] PB_EndFunctions: DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] RET ;// 様々な定数 section '.data' data readable writeable _PB_DataSection: PB_OpenGLSubsystem: db 0 pb_public PB_DEBUGGER_LineNumber dd -1 pb_public PB_DEBUGGER_IncludedFiles dd 0 pb_public PB_DEBUGGER_FileName db 0 pb_public PB_Compiler_Unicode dd 1 pb_public PB_Compiler_Thread dd 0 pb_public PB_Compiler_Purifier dd 0 pb_public PB_Compiler_Debugger dd 0 pb_public PB_Compiler_DPIAware dd 0 pb_public PB_Compiler_XPSkins dd 0 PB_ExecutableType: dd 0 pb_align 8 public _SYS_StaticStringStart _SYS_StaticStringStart: pb_public PB_NullString dw 0 public _SYS_StaticStringEnd _SYS_StaticStringEnd: pb_align 8 pb_align 8 pb_align 8 s_s: dq 0 dq -1 pb_align 8 section '.bss' readable writeable _PB_BSSSection: pb_bssalign 8 I_BSSStart: _PB_MemoryBase: PB_MemoryBase: rq 1 _PB_Instance: PB_Instance: rq 1 PB_ExitCode: rq 1 pb_bssalign 8 PB_DataPointer rq 1 v_CuresClearLoop_stop rq 1 pb_bssalign 8 pb_bssalign 8 pb_bssalign 8 pb_bssalign 8 I_BSSEnd: section '.data' data readable writeable SYS_EndDataSection: Ovaj Minority BUKVALNO ništa ne radi gledajući kod...Učitava CKS sa 4096 i pozivajući PB_Delay u jednom potezu, procesor ima vremena da meditira nad sekvencom generisanja tog broja nalik mantri u stilu RISC-a. Lemić and Srecko je reagovao/la na ovo 1 1 Link to comment Podeli na ovim sajtovima More sharing options...
zika Napisano Januar 25, 2023 Share #1295 Napisano Januar 25, 2023 22 minutes ago, Lemić said: Ima u onom postu link ka nekom japanskom, kolko sam neuk razumeo, čita u memoriju i ponovo piše na istom mestu valjda i tako možda osvežava naelekteisanje, koje može da oslabi i postane nečitljivo, efekat pomenutog "bit rotting"a. Izanalizirajte, Vi koji iole razumete problematiku, ja sam totalni duduk, samo iznosim našta sam natrapao. Poveznica koju sam postavio sadrži i prevod... Link to comment Podeli na ovim sajtovima More sharing options...
zika Napisano Januar 25, 2023 Share #1296 Napisano Januar 25, 2023 12 minutes ago, Mikorist said: Pazi kad me nije mrzelo ceo kod da pogledam i da čekiram Reveal hidden contents ; MinorityClean 126 LOOP (2021 03 04) ; Copyright (c) 2020-2021 Hiroyuki Yokota (oryaaaaa) ;// Japanese text is developer's comments ;// 令和3年3月4日(木) 午前9時58分 ; ; PureBasic 5.73 LTS (Windows - x64) generated code ; ; (c) 2020 Fantaisie Software ; ; The header must remain intact for Re-Assembly ; ; System ; :System ; kernel32.lib ; :Import ; ;// 64ビット Windows EXE フォーマット format MS64 COFF ; ; ;// できるだけ、ロードするDLLを最小限にすると低ジッターにできます。 ;// 未使用の処理がありますが、裏から指示されてPureBasicで書くこと。 extrn PB_Delay extrn ExitProcess extrn GetModuleHandleW extrn HeapCreate extrn HeapDestroy extrn memset extrn PB_StringBase extrn SYS_InitString extrn SYS_FreeStrings ;// ここにネットワークのWin32APIが含まれていたら、開発ライブラリは怪しいです。 ;// DLLをロードしたとき、DLLに指定されたDLLをロードする仕様なので、 ;// BASS の各種DLLによっては、重ジッター現象で音質は悪くなります。 ;// BASS_AAC はDLLを全部ロードするみたいで、絶対にサポートできません。 ; extrn PB_StringBasePosition public _PB_Instance public PB_ExecutableType public PB_OpenGLSubsystem public _PB_MemoryBase public PB_Instance public PB_MemoryBase public PB_EndFunctions macro pb_public symbol { public _#symbol public symbol _#symbol: symbol: } macro pb_align value { rb (value-1) - ($-_PB_DataSection + value-1) mod value } macro pb_bssalign value { rb (value-1) - ($-_PB_BSSSection + value-1) mod value } public PureBasicStart ; section '.code' code readable executable align 4096 ; ; PureBasicStart: ;// 最初を NOP NOP と書くと、CPU動作は低ジッター動作になります。 NOP NOP NOP NOP ;// スタックポインタの電子ビットスタビライザー処理 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] ;// 奇数処理と偶数処理に分けて、レジスタの電子ビットスタビライザー処理 ;// 32ビットレジスタは意図的に除外、32ビット指定すると64ビット値は強制32ビット値へ MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b ;// Rcx へ 高精度に 2560 を作るため、R8レジスタで INC SHL で数値作成 XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 ;// RSP の電子ビットスタビライザー処理 XCHG Rsp, Rsp XCHG sp, sp XCHG spl, spl NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV Rcx, R8 ;// ループ処理 Rcx = 2560 ;// 汎用レジスタの物理レジスタへ現在の値を反映させる処理 ;// これをしないと、デジタル出力時に重ジッター現象により値が変化する LOOP_1st_MOVE_adspsi: MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_1st_MOVE_adspsi MOV Rcx, R8 LOOP_1st_MOVE_9111315: MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_1st_MOVE_9111315 MOV Rcx, R8 LOOP_1st_MOVE_bcbpdi: MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_1st_MOVE_bcbpdi MOV Rcx, R8 LOOP_1st_MOVE_8101214: MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_1st_MOVE_8101214 ;// Rcx へ 高精度に 2560 を作るため、R8レジスタで INC SHL で数値作成 XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 XCHG Rsp, Rsp XCHG sp, sp XCHG spl, spl NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV Rcx, R8 ;// ループ処理 Rcx = 2560 ;// 汎用レジスタの物理レジスタへ現在の値を反映させる処理 ;// これをしないと、デジタル出力時に重ジッター現象により値が変化する LOOP_2st_MOVE_adspsi: MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_2st_MOVE_adspsi MOV Rcx, R8 LOOP_2st_MOVE_9111315: MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_2st_MOVE_9111315 MOV Rcx, R8 LOOP_2st_MOVE_bcbpdi: MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_2st_MOVE_bcbpdi MOV Rcx, R8 LOOP_2st_MOVE_8101214: MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_2st_MOVE_8101214 ;// Rcx へ 高精度に 2560 を作るため、R8レジスタで INC SHL で数値作成 XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 XCHG Rsp, Rsp XCHG sp, sp XCHG spl, spl NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV Rcx, R8 ;// ループ処理 Rcx = 2560 ;// 汎用レジスタの物理レジスタへ現在の値を反映させる処理 ;// これをしないと、デジタル出力時に重ジッター現象により値が変化する LOOP_3st_MOVE_adspsi: MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_3st_MOVE_adspsi MOV Rcx, R8 LOOP_3st_MOVE_9111315: MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_3st_MOVE_9111315 MOV Rcx, R8 LOOP_3st_MOVE_bcbpdi: MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_3st_MOVE_bcbpdi MOV Rcx, R8 LOOP_3st_MOVE_8101214: MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_3st_MOVE_8101214 ;// Rcx へ 高精度に 2560 を作るため、R8レジスタで INC SHL で数値作成 XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 XCHG Rsp, Rsp XCHG sp, sp XCHG spl, spl NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV Rcx, R8 ;// ループ処理 Rcx = 2560 ;// 汎用レジスタの物理レジスタへ現在の値を反映させる処理 ;// これをしないと、デジタル出力時に重ジッター現象により値が変化する LOOP_4st_MOVE_adspsi: MOV al, al MOV ah, ah MOV ax, ax MOV Rax, Rax MOV ax, ax MOV ah, ah MOV al, al MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_4st_MOVE_adspsi MOV Rcx, R8 LOOP_4st_MOVE_9111315: MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_4st_MOVE_9111315 MOV Rcx, R8 LOOP_4st_MOVE_bcbpdi: MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_4st_MOVE_bcbpdi MOV Rcx, R8 LOOP_4st_MOVE_8101214: MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_4st_MOVE_8101214 ;// アドレスやRspやRbpを意図的にキャッシュさせる NOP [Rip] NOP [PureBasicStart] NOP [Rip] NOP [Rbp] NOP [Rip] NOP [Rsp] NOP [Rip] NOP [GateOfBabylon] ;// 遠くからコールしているジャンプ命令をCPUに読ませて ;// OSレベルの信頼性動作モードで実行させ、低ジッター動作を実現する JMP GateOfBabylon JMP PureBasicStart JMP PB_Delay JMP ExitProcess JMP GetModuleHandleW JMP HeapCreate JMP HeapDestroy JMP memset JMP PB_StringBase JMP SYS_InitString JMP SYS_FreeStrings GateOfBabylon: ;// RSP値のセットを数値で書くと、そこだけSSD基準となる。 ;// CPU演算基準根拠でRSPをコントロールして、低ジッター動作 DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp ;// RSPの電子ビットスタビライザー処理 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV r8,I_BSSEnd-I_BSSStart XOR rdx,rdx MOV rcx,I_BSSStart ;// CALLの電子ビットスタビライザー処理、前半 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [memset] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL memset ;// CALLの電子ビットスタビライザー処理、後半 NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] XOR rcx,rcx MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [GetModuleHandleW] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL GetModuleHandleW NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOVNTI [PB_Instance],rax NOP [Rip] NOP [PB_Instance] XOR r8,r8 MOV rdx,4096 XOR rcx,rcx MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [HeapCreate] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL HeapCreate NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOVNTI [PB_MemoryBase],rax NOP [Rip] NOP [PB_MemoryBase] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [SYS_InitString] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL SYS_InitString NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] l_loopto: ;// ループの最初はカーネルでタスクスイッチしているため、 ;// RSP値の電子ビット基準は乱れている。 ;// NOP NOP でCPU動作状態を変更してから、RSPの電子ビットスタビライザー処理 NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [PB_Delay] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] ;// Sleep関数の初期値はSSD-メモリ由来の定数が使われているため、 ;// 0値を XOR Rcx, Rcx で初期化した電子ビット基準を適用して、 ;// OS側の変数値を初期化する。これで音質はキレキレの音になる。 CALL PB_Delay NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] XOR Rdx, Rdx XOR Edx, Edx XOR dx, dx XOR dh, dh XOR dl, dl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl INC dl INC cl SHL Rdx, cl SHL Rdx, cl INC dl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl SHL Rdx, cl XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl INC cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b SHL R8, cl INC R8b DEC cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b XOR R9, R9 XOR R9d, R9d XOR R9w, R9w XOR R9b, R9b MOV R9b, R9b MOV R9w, R9w MOV R9, R9 MOV R9w, R9w MOV R9b, R9b MOV Rcx, Rdx ;// ループアドレスや変数アドレスを NOP でキャッシュさせる、低ジッター動作となる NOP [Rip] NOP [LOOP_Reversed_Loop_Writed_atElectronic_bit_standard_creation_forCuresClearLoop_stop] NOP [Rip] NOP [v_CuresClearLoop_stop] NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] ;// LOOP命令を使って処理すると、低ジッター動作となる LOOP_Reversed_Loop_Writed_atElectronic_bit_standard_creation_forCuresClearLoop_stop: MOVNTI [v_CuresClearLoop_stop], R8 MOVNTI [v_CuresClearLoop_stop], R9 LOOP LOOP_Reversed_Loop_Writed_atElectronic_bit_standard_creation_forCuresClearLoop_stop NOP [Rip] NOP [v_CuresClearLoop_stop] XOR R8, R8 XOR R8d, R8d XOR R8w, R8w XOR R8b, R8b MOV R8, Rax XOR Rcx, Rcx XOR Ecx, Ecx XOR cx, cx XOR ch, ch XOR cl, cl MOV Rcx, Rax INC R8b INC cl SHL R8, cl SHL R8, cl INC R8b SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl SHL R8, cl MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV Rcx, R8 LOOP_MOVE_adspsi: ;// 電子ビット基準をRaxへ適用 OR Rax, [v_CuresClearLoop_stop] ;// Raxの物理レジスタへ現在の値を更新 ;// 物理レジスタ とは? 論理レジスタ Rax=Eax=Ax=Ah=Al 同じ設計であると説明する。 ;// 物理レジスタは、半導体の電子回路では、各レジスタは異なる設計である。 ;// 電子工学科を卒業した大学院生では、知識不足ですので・・・ ;// CPUの電子回路をなんとなくイメージできる電子回路設計の知識が必要です。 MOV al, al MOV ah, ah MOV ax, ax ;// MOV Eax, Eax を入れると、64ビット値は32ビット値へ制限され、Rax=Eaxとなります。 MOV Rax, Rax ;// MOV Eax, Eax を入れると、64ビット値は32ビット値へ制限され、Rax=Eaxとなります。 MOV ax, ax MOV ah, ah MOV al, al ;// 電子ビット基準をRdxへ適用 OR Rdx, [v_CuresClearLoop_stop] ;// Rdxの物理レジスタへ現在の値を更新 MOV dl, dl MOV dh, dh MOV dx, dx MOV Rdx, Rdx MOV dx, dx MOV dh, dh MOV dl, dl OR Rsp, [v_CuresClearLoop_stop] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl OR Rsi, [v_CuresClearLoop_stop] MOV sil, sil MOV si, si MOV Rsi, Rsi MOV si, si MOV sil, sil LOOP LOOP_MOVE_adspsi MOV Rcx, R8 LOOP_MOVE_9111315: OR R9, [v_CuresClearLoop_stop] MOV R9b, R9b MOV R9w, R9w ;// MOV R9d, R9d を入れると、64ビット値は32ビット値へ制限され、R9=R9d となります。 MOV R9, R9 ;// MOV R9d, R9d を入れると、64ビット値は32ビット値へ制限され、R9=R9d となります。 MOV R9w, R9w MOV R9b, R9b OR R11, [v_CuresClearLoop_stop] MOV R11b, R11b MOV R11w, R11w MOV R11, R11 MOV R11w, R11w MOV R11b, R11b OR R13, [v_CuresClearLoop_stop] MOV R13b, R13b MOV R13w, R13w MOV R13, R13 MOV R13w, R13w MOV R13b, R13b OR R15, [v_CuresClearLoop_stop] MOV R15b, R15b MOV R15w, R15w MOV R15, R15 MOV R15w, R15w MOV R15b, R15b LOOP LOOP_MOVE_9111315 MOV Rcx, R8 LOOP_MOVE_bcbpdi: OR Rcx, [v_CuresClearLoop_stop] MOV cl, cl MOV ch, ch MOV cx, cx MOV Rcx, Rcx MOV cx, cx MOV ch, ch MOV cl, cl OR Rbx, [v_CuresClearLoop_stop] MOV bl, bl MOV bh, bh MOV bx, bx MOV Rbx, Rbx MOV bx, bx MOV bh, bh MOV bl, bl OR Rbp, [v_CuresClearLoop_stop] MOV bpl, bpl MOV bp, bp MOV Rbp, Rbp MOV bp, bp MOV bpl, bpl OR Rdi, [v_CuresClearLoop_stop] MOV dil, dil MOV di, di MOV Rdi, Rdi MOV di, di MOV dil, dil LOOP LOOP_MOVE_bcbpdi MOV Rcx, R8 LOOP_MOVE_8101214: OR R8, [v_CuresClearLoop_stop] MOV R8b, R8b MOV R8w, R8w MOV R8, R8 MOV R8w, R8w MOV R8b, R8b OR R10, [v_CuresClearLoop_stop] MOV R10b, R10b MOV R10w, R10w MOV R10, R10 MOV R10w, R10w MOV R10b, R10b OR R12, [v_CuresClearLoop_stop] MOV R12b, R12b MOV R12w, R12w MOV R12, R12 MOV R12w, R12w MOV R12b, R12b OR R14, [v_CuresClearLoop_stop] MOV R14b, R14b MOV R14w, R14w MOV R14, R14 MOV R14w, R14w MOV R14b, R14b LOOP LOOP_MOVE_8101214 MOV Rcx, R8 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [PB_Delay] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] ;// Sleep_(2560) と同じ、2560 ms 待機命令 CALL PB_Delay NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] NOP [Rip] NOP [l_loopto] NOP [Rip] NOP [Rip] ;// 無限ループ処理 JMP l_loopto ;// PureBasic End 命令 NOP [Rip] NOP [_PB_EOP] NOP [Rip] NOP [Rip] JMP _PB_EOP ;// 以下、PureBasic命令を FASM で書くためのテクニック、残骸。未使用。 MOV rcx,qword 0 MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [PB_Delay] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL PB_Delay NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] ;// PureBasic End 処理 _PB_EOP: MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [PB_EndFunctions] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL PB_EndFunctions NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [SYS_FreeStrings] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL SYS_FreeStrings NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV rcx,[PB_MemoryBase] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [HeapDestroy] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL HeapDestroy NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV rcx,[PB_ExitCode] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [ExitProcess] XCHG Rax, Rax XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] CALL ExitProcess NOP NOP MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] PB_EndFunctions: DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp DEC rsp MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp INC rsp MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl NOP [Rip] NOP [Rsp] MOV spl, spl MOV sp, sp MOV Rsp, Rsp MOV sp, sp MOV spl, spl XCHG Rsp, Rsp NOP [Rip] NOP [Rsp] RET ;// 様々な定数 section '.data' data readable writeable _PB_DataSection: PB_OpenGLSubsystem: db 0 pb_public PB_DEBUGGER_LineNumber dd -1 pb_public PB_DEBUGGER_IncludedFiles dd 0 pb_public PB_DEBUGGER_FileName db 0 pb_public PB_Compiler_Unicode dd 1 pb_public PB_Compiler_Thread dd 0 pb_public PB_Compiler_Purifier dd 0 pb_public PB_Compiler_Debugger dd 0 pb_public PB_Compiler_DPIAware dd 0 pb_public PB_Compiler_XPSkins dd 0 PB_ExecutableType: dd 0 pb_align 8 public _SYS_StaticStringStart _SYS_StaticStringStart: pb_public PB_NullString dw 0 public _SYS_StaticStringEnd _SYS_StaticStringEnd: pb_align 8 pb_align 8 pb_align 8 s_s: dq 0 dq -1 pb_align 8 section '.bss' readable writeable _PB_BSSSection: pb_bssalign 8 I_BSSStart: _PB_MemoryBase: PB_MemoryBase: rq 1 _PB_Instance: PB_Instance: rq 1 PB_ExitCode: rq 1 pb_bssalign 8 PB_DataPointer rq 1 v_CuresClearLoop_stop rq 1 pb_bssalign 8 pb_bssalign 8 pb_bssalign 8 pb_bssalign 8 I_BSSEnd: section '.data' data readable writeable SYS_EndDataSection: Ovaj Minority BUKVALNO ništa ne radi gledajući kod...Učitava CKS sa 4096 i pozivajući PB_Delay u jednom potezu, procesor ima vremena da meditira nad sekvencom generisanja tog broja nalik mantri u stilu RISC-a. A, iskreno, šta bi mogao da „radi“ ? Dobro znamo da se, barem u *NIX-ovima može sve podesiti u tekicama i da je sve „na izvol'te“ ako se zna za koji sto valja sesti. Lepo podesiti lepotu, prava prednosti i ostalo i zvuk je „izvorni“. No, to nije bilo ono o čemu počeh. Da ne davim, pustite SSD da radi, ne otežavajte mu život jer će, kao i svi, uzvratiti... LightMatic, Srecko, vladd and 1 član je reagovao/la na ovo 4 Link to comment Podeli na ovim sajtovima More sharing options...
zika Napisano Januar 25, 2023 Share #1297 Napisano Januar 25, 2023 (izmenjeno) 35 minutes ago, Lemić said: čita u memoriju i ponovo piše na istom mestu valjda i tako možda osvežava naelekteisanje, koje može da oslabi i postane nečitljivo, efekat pomenutog "bit rotting"a Potruleli sadržaj, i kada se „prepiše“ neće biti i malo svežiji... A to kako će da potruli i zašto, da ne počinjemo. Kad bih znao kako da potrulim, na pravi način, moj račun u nekoj od banaka, kako bi me krenula karta... Samo da sačekam da oni osveže naelektrisanje i eto mene kod Vas po nov dvotočkaš... Čuj: jedan, nekoliko, za svaki dan u nedelji... Što bi rekla moja baba: dokon pôp i bit-ove krštava... No, hvala, taman se, ovako, nakanih, da preorem svoje podešavke, da vidim da li sam, mator, nešto zaboravio. Neko, upravo videh, postavi još bolje tumačenje: Izmenjeno Januar 25, 2023 od zika Srecko and Lemić je reagovao/la na ovo 2 Link to comment Podeli na ovim sajtovima More sharing options...
Mikorist Napisano Januar 25, 2023 Share #1298 Napisano Januar 25, 2023 pre 3 minuta, zika reče No, hvala, taman se, ovako, nakanih, da preorem svoje podešavke, da vidim da li sam, mator, nešto zaboravio. Link to comment Podeli na ovim sajtovima More sharing options...
Preporučeni Komentari
Kreiraj nalog ili se prijavi da daš komentar
Potrebno je da budeš član DiyAudio.rs-a da bi ostavio komentar
Kreiraj nalog
Prijavite se za novi nalog na DiyAudio.rs zajednici. Jednostavno je!
Registruj novi nalogPrijavi se
Već imaš nalog? Prijavi se ovde
Prijavi se odmah