Wszystko
Wszystkie
Archiwum
15
Esencja wiedzy o Asemblerze x64 w błękitnej szklanej fiolce
![Esencja wiedzy o Asemblerze x64 w błękitnej szklanej fiolce](https://wykop.pl/cdn/c3397993/1852fea48708731cf49c873ea136adffe53c2676561d956b9159aaa23c4bd224,w220h142.png)
- 1
- #
- #
- #
- #
- #
- #
- 5
- 0
@sosnnaa: sorry że tak późno odpisuję. Widzę tu dwa błędy:
- nie wszystkie rejestry, z których korzystasz zapisujesz w prologu funkcji. Musisz to robić inaczej funkcje, które wywołują radixsort nie będą działać poprawnie
- array + leftoneindex - to jest ok w C. Natomiast w asm 'add edx, esi' zadziałałoby dla tablic charów, a tym przypadku masz tablicę intów więc musisz to robić raczej w stylu edx +
- nie wszystkie rejestry, z których korzystasz zapisujesz w prologu funkcji. Musisz to robić inaczej funkcje, które wywołują radixsort nie będą działać poprawnie
- array + leftoneindex - to jest ok w C. Natomiast w asm 'add edx, esi' zadziałałoby dla tablic charów, a tym przypadku masz tablicę intów więc musisz to robić raczej w stylu edx +
Mam pytanie dot. RDTSC.
CPUID // wmusza zakończenie poprzednich (serializuje)
RDTSC // odczytuje liczbe cykli
różnice mogą być z takich powodów:
jesteś nie sam więc dolicz czas przełączania kontekstu
możesz odczytywać z różnych pamięci (wolny DRAM i szybki SRAM)
ale że moja odpowiedź jest troszkę "z dupy" bo nie jestem pewien tego co piszę a jedynie przypuszczam. prosił bym zawołać jak ktoś ogarnięty odpowie. lub co było by fajniejsze, może na stacku zapytaj też