Skip to content

DumDereDum/assembler_course

Repository files navigation

assembler_cource

Module 1

Desription:

lesson_01/code_1 - base assembler language functions

lesson_01/code_2 - base assembler language print functions

lesson_02/code_1 - more complex example of print functions

lesson_02/code_2 - print of BX register

lesson_02/code_3 - more complex print of BX register

lesson_02/horror - example of segmentation (for curious)

lesson_03/code_1 - get string from comand line (example of macro and proc)

lesson_03/code_2 - print PSP

lesson_04/code_1 - check avalibility of file

lesson_04/code_2 - try to print and append file content

lesson_04/extra - work with [...] extentions

lesson_05/code_1 - create our own base interuption int65

lesson_05/code_2 - append timer interuption for printing 'A' ~18 times per second

lesson_06/code_1 - read and print file content with places for individual work

lesson_07/code_1 - resident keyboard click handler, print smth after pressing esc (example of int10h)

lesson_08/code_1 - example of TSR (resident) programm

Home(Class)Works

  1. Merge two codes: lesson_03/code_1 and lesson_04/code_1, that means that you are able to write file name and check is it avaliable. !NB Prohibit to use lesson_04/code_2
  2. Make your own PSP print
  3. Update lesson_06/code_1 by creating your pring functions which fills full screen (25x80 signs) and move in file by using any two keys. Example linux finction cat <file> | less
  4. Take file lesson_05/code_2 and make print 1 sign in 1 second
  5. Take file lesson_07/code_1 and make any changes with color, size and message, additionaly return cursor in lower (bottom) line
  6. Take file lesson_07/code_1 and make game:
  • Game starts after tressing Enter and @ apears in the midn of clean screen
  • W A S D for movements
  • Esc for exit
  1. Continue of ex.6:
  • Create walls #
  • Color @ and # in 3 different colors (example: reb, blue, green)
  • Make than character @ pass throw only walls which have the same color as him

Module 2

Desription:

lesson_09/code_1 - 1st example of work with include file

lesson_09/code_2 - 2st example of work with include file

lesson_09/macrolib - example of include file

lesson_10/code_1 - find files in dir by simple regular expression

lesson_10/code_2 - base example of work with nasm

lesson_11/code_1 - print RBX register

lesson_12/main.c - examples of assempler inplaces in C language

lesson_13/code_1 - print of text.txt file

lesson_14/code_1 - print of float number

Home(Class)Works

  1. Take any code and separete:
  • macro in file code_macro.asm
  • proc in file code_proc.asm
  • data in file code_data.asm

And then include them all in file main.asm and it should work :)

  1. Change code lesson_11/code_1 for new way of print old: 111100002222EEEE... -> new: 1111 0000 2222 EEEE ..., so you should separate every 4 bytes

  2. ( ͡° ͜ʖ ͡°)

  3. Change code lesson_13/code_1 for writing data from file to new file (name of this file could be hardcode)

  4. Make code on nasm, which add float number. !NB Prohibit to use fadd and similar fuctions

  5. Take snake game and make changes:

  • remove tail of snake, keep only head
  • remove sliding, so after press WASD snake make only one movement

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages