Coder Social home page Coder Social logo

pdp11-emulator's Introduction

Hi, I'm Artyom


I am a first-year student at MIPT. I have been programming for three years and I try something new all the time. Managed to gain experience in system programming in Huawei and ISP RAS. I am also learning Web Backend Development while leading a team, which is developing StudOko Web application in Kotlin for ATP department at MIPT.

Currently developing several projects and working in ISP RAS over a static analyzer Svace by Samsung.

My CV is here.

Contact me on social media


LinkedIn LinkedIn | LinkedIn Telegram | LinkedIn Email

More stuff about me

What I'm currently learning


Now, I study Data Flow Analysis (DFA) at work and the Rust language in my free time.

Projects


  • [C++] sql2cypher is a unique tool, which allows you to translate your queries when migrating from RDBMS (Microsoft SQL Server) into GDBMS (Neo4j).

  • [C++] logger is a very lightweight, flexible, simple and universal logger for C++ projects. It supports different formats (in e.g. json), colors, can write logs in some places (files, stdout) and so on.

  • [Kotlin] StudOko is a web application that will allow the Department of ATP at the MIPT to issue and accept homework for students, control access to a server cluster and department's GitLab.

Skills


  • Languages: Java, C/C++, Kotlin and a little bit Python, Ruby, Go
  • DBMS: Microsoft SQL Server, Neo4j
  • DevOps: Linux, Git and a little bit Docker, CI/CD
  • Agile: Scrum & Kanban in Jira

See more in my CV.

pdp11-emulator's People

Contributors

temikfart avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

pdp11-emulator's Issues

Refactor logger() function

I have an idea. We can implement logger() as structure (maybe). We will use logger.info; logger.fatal for print log info instead of logger(INFO, ...); logger(FATAL, ...).

Level печать.

Нужно улучшить функцию печати logger для того, чтобы

  1. можно было выбирать поток печати;
  2. при печати была подпись уровня сообщения.

Branch commands

We need to write Branch commands, which we can meet in the tests (bpl and beq).

README

Надо бы добавить какое-нибудь описание к проекту

Рефакторинг функции console_arg

Мне кажется, что в зоне ответственности этой функции взвести флаги и установить значения для log_level. Загружать файлы лучше где-то в другом месте.

Test flag

I think, that we can make a flag -test for launch our unit-tests. This flag must launch all test-functions from pdp_tests.c.

Example of use:

$ ./pdp11.exe -test

This command must launch tests instead of print Usage.

Hello, world!

We need to improve our emulator. "Hello, world" is our targeting print. Before this, we need to teach our project do putchar and #33.

A virus protection

We need to make the virus protection. A run() function should stop the program if pc contains an address, where registers or OS is stored. Also we need to make a protection of Error: array out of bounds.

Добавить обработку аргументов

Надо бы добавить возможность обрабатывать какой-то отдельный файл с тестами, имя которого считывается из командной строки в виде аргумента к какому-нибудь флагу

Очень страшная функция

https://github.com/temikfart/2sem---informatics/blob/af26ecf1247ebc764414b8c3961c9ad2b46e120e/pdp-11/pr/pdp_run.c#L16

Я бы эту штуку распилил на функции, для каждой моды -- своя. Узнал моду -- дернул нужную. Когда функция не лезет в экран -- это очень-очень грустно.

Пример из кровавого ынтерпрайза: у нас линтер ругается на функции длиннее 15 строк.

.gitignore

Желательно бы перестать отслеживать файлы, начинающиеся с ~, а также файлы формата .swp

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.