Giter VIP home page Giter VIP logo

asm-8086's Introduction

Assembly projects

Table of Contents

Schema

Schema

Used software

  • ml.exe - Microsoft Macro Assembler Version 6.11
  • Visual studio code with 'x86 and x86_64 Assembly' extension
  • DOSBox 0.74-3
  • emu8086 (!! it doesn't store vga fonts in memory (required in task2) !!)

Project 1

Description:
Please write a file encryption program based on the XOR function and a multi-character password. The result of the program should be an encrypted copy of the input file. Assuming that the content of the input file is e.g. text:
"Wszyscy wiedzą, że czegoś nie da się zrobić, aż znajdzie się taki jeden, który nie wie, że się nie da, i on to robi."
and the password is:
"Albert Einstein "

then the encryption should look like this (xoring letter by letter):
Wszyscy wiedzą, że czegoś nie da się zrobić, aż (…)
          XOR
Albert Einstein Albert Einstein Albert Einstein (…)\

'W' xor 'A'
's' xor 'l'
'z' xor 'b'
'y' xor 'e'
's' xor 'r'
'c' xor 't'
'y' xor ' '
' ' xor 'E'
'w' xor 'i'
etc...

Encryption is symmetrical, so the file should be able to be decrypted with the same password.
An example of calling the program:
program.exe file_in file_out "encryption key"

Project 1 solution

Click to show code

Project 2

Description:
Please write a program whose parameters at startup will be the number representing ZOOM and any short text. After pressing ENTER, the program should display on the screen in VGA graphic mode (320x200, 256 colors) the text given earlier in the command line enlarged ZOOM times, using only direct access to the image memory. You can not use DOS and BIOS functions to create an image. The program should allow to return to the operating system by pressing any key.

An example of calling the program:
program.exe 8 "This is the text!"

The effect may look like this:
Example implementation

Project 2 solution

I added the ability to scroll text with arrows (left and right)
Click to show code

My solution 2

Compilation

Run   ml.exe file.asm   under DOS (I've used DOSBox 0.74-3)

Pascal

Pascal program was created to figure out how fonts are stored in memory. Code was found on stackoverflow.com. Compile with dos version of turbo pascal 7.x or use PASCAL.EXE 😉
Click to show code
Przykladowa realizacja

asm-8086's People

Contributors

rivit98 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

gitmesam

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.