-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.tel
efonica.de!telefonica.de!ecngs!testfeeder.ecngs.de!185.9.23.200.MISMATCH!news.n
ewsoo.fr!nntpspool01.opticnetworks.net!aioe.org!.POSTED!not-for-mail
From: "Radoslaw Szwed" <r...@p...fm>
Newsgroups: pl.comp.programming
Subject: Re: asm - przesuwanie wektora bajtow
Date: Tue, 6 Oct 2015 10:26:55 +0200
Organization: Aioe.org NNTP Server
Lines: 46
Message-ID: <mv00lo$qjl$1@speranza.aioe.org>
References: <a6cvewd1yimk$.1h0av09ee1pjl$.dlg@40tude.net>
NNTP-Posting-Host: o2Tcg8JUyfBpYJwbwFPmuw.user.speranza.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Complaints-To: a...@a...org
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Notice: Filtered by postfilter v. 0.8.2
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-Priority: 3
X-MSMail-Priority: Normal
Xref: news-archive.icm.edu.pl pl.comp.programming:208438
[ ukryj nagłówki ]Użytkownik "szemrany" <s...@o...off> napisał w wiadomości
news:a6cvewd1yimk$.1h0av09ee1pjl$.dlg@40tude.net...
> Witam
>
> Potrzebuję przesunąć tablicę/wektor bajtów w lewo o zadaną liczbę bitów. Po
> jakimś tam czasie czytania i prób zrobiłem prockę opartą o instrukcję RCL
> przesuwająca o jeden bit:
>
>
> mov ebx, x // liczba bajtów w wektorze
> mov eax, end_byte // adres ostatniego elementu
> clc
> @@loop:
> mov cl, byte ptr [eax]
> rcl cl, 1
> mov byte ptr [eax], CL
> dec eax
> dec ebx
> jne @@loop
>
> Teraz, gdy chcę przesunąć o 3 bity to wykonuję ten kod w pętli trzy razy.
>
> Czy ten kod można zoptymalizować bardziej?
> Czy można to zrobić inaczej, bez RCL?
Zrobione inaczej bez RCL. Proszę sprawdzić powinna działać prawidłowo nie zdążyłem
przetestować
(skończyła się przerwa śniadaniowa :). Przesuwa od 1 do 8 bitów.
start:
mov ebx, 8 ; przesuwamy o 3 bity (2^3)
mov edi, 4 ; dlugsc wektora 4 bajty
mov esi, offset y ; adres wektora
xor ecx, ecx
next:
xor eax, eax
mov al, byte ptr [esi]
mul ebx
or al, cl
mov byte ptr [esi], al
mov cl, ah
inc esi
dec edi
jne next
Jest wolniejsza w porównaniu z poprzednia jeżeli przesuwamy o 1 bit w innym przypadku
jest szybsza.
Następne wpisy z tego wątku
- 06.10.15 12:06 M.M.
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=