Jump to content

PC kao izvor zvuka - tema MK II


dj.nik

Preporučeni Komentari

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.... ;)

Link to comment
Podeli na ovim sajtovima

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.

 

:D

Link to comment
Podeli na ovim sajtovima

:taz2: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."
 

 

Izmenjeno od Lemić
Link to comment
Podeli na ovim sajtovima

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.

;)

Link to comment
Podeli na ovim sajtovima

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."
 

 

 

Link to comment
Podeli na ovim sajtovima

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 :buehehe:

 

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

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

Da bude (meni, recimo) jasnije: Pričate li o: 

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...

???

WWW-MICS-NE-JP.TRANSLATE.GOOG

MajiorityClean、パソコンの画質・音質・印刷品質へ悪影響のある状態を改善します。CPUのレジスタ状態を改善させるだけでなく、メモリの内部回路を基準とする事で安定性を高めています。

 

Izmenjeno od zika
Link to comment
Podeli na ovim sajtovima

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

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.

Link to comment
Podeli na ovim sajtovima

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

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... ;)

Link to comment
Podeli na ovim sajtovima

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 od zika
Link to comment
Podeli na ovim sajtovima

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 nalog

Prijavi se

Već imaš nalog? Prijavi se ovde

Prijavi se odmah
  • Članovi koji sada čitaju   0 članova

    • Nema registrovanih članova koji gledaju ovu stranicu
×
×
  • Kreiraj novo...