This repository contains the exercises that I have done during the course of Computer Architecture at Gdansk University of Technology. All of the exercises gave me a lot of fun and knowledge about the assembly language.
The exercises are written in MASM and are designed to be run on Windows in Visual Studio. Most of them are for x86 mode, some are for x64 mode. The exercises are divided into folders, each of which contains a separate exercise. Each exercise contains a description of the task, the code written in MASM, and a C code that uses the function written in MASM.
I also wrote a few programs in 16-bit mode, I will add them to repository when I will find them.
For all exercises you need to turn on MASM by 'Solution Explorer' -> 'Build customizations' -> check 'masm' -> 'OK'.
For exercises that are written only in MASM, without C code, you need to add libcmt.lib
to the linker. You can do this by 'Solution Explorer' -> 'Properties' -> 'Linker' -> 'Command Line' -> 'Additional Options' -> add libcmt.lib
-> 'OK'.
- Functions made before the exam
- miesz2float - converts 32-bit fixed-point number to a floating-point number
- pomnoz32 - multiplies a floating-point number by 32 without using FPU
- float_razy_float - multiplies two floating-point numbers
- plus_jeden_double - adds 1 to a double-precision floating-point number without using FPU
- roznica - subtracts two integers
- kopia_tablicy - creates a copy of an array
- komunikat - creates a copy of a string with an additional message at the end
- szukaj_elem_min - finds the smallest element in an array
- szyfruj - encrypts a string
- 20 numbers of series
- Add two ASCII numbers
- Bubble sort
- Divide XMM arrays
- Euler's number exponents
- Filter out uneven numbers
- Find the maximum value in an array
- Fixed-point to floating-point conversion
- Float times float without FPU
- Harmonic mean
- Matrix multiplication
- Max of four
- Minus one
- Single neuron
- Read and write in 13 symbols system
- Calculate square of a numbers recursively
- Rolling average
- SSE operations
- Sum of numbers after
call
instruction - Sum of seven numbers
- UTF-8 to UTF-16 conversion
- Write EAX contents in many number systems
- Write ten Euler exponents to the console