Skip to content

matik251/AssemblyBmpFlipper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AssemblyBmpFlipper

Program to learn vector instructions in Assembly and compare time results with C++. Developed for amd64 architecture- program uses AVX512 fast vector operations in assemlby mode.

Structure

  • Main program with GUI in C# with WPF
  • C++ dll for flipping images
  • Assembly dll for flipping images

Assembly instrucions

Instruction Purpose
MOVQ xmm1, xmm2/m64 load data to register
MOVLHPS xmm1, xmm2 move low half of register xmm1 to xmm2
MOVDQA xmm1, xmm2 save data to xmm1
VPSHUFB xmm1, xmm2, xmm3 flip pixels bytes according to mask in xmm3 (picture)

Shortcut

Main program takes user input and prefeances, loads image and using right library flips image and shows time taken for logic operations. Both picutres are visible for user, output picture is saved to directory.

About

Program to learn vector instructions in Assembly and compare time results with C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published