https://github.com/rxyalxrd/term_paper_5th_semester
Курсовая работа по ассемблеру на тему: "Перевод систем счисления"
https://github.com/rxyalxrd/term_paper_5th_semester
assembler cpp dll fastapi makefile poetry pydantic python uvicorn
Last synced: 2 months ago
JSON representation
Курсовая работа по ассемблеру на тему: "Перевод систем счисления"
- Host: GitHub
- URL: https://github.com/rxyalxrd/term_paper_5th_semester
- Owner: Rxyalxrd
- License: gpl-3.0
- Created: 2025-01-18T22:17:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-18T22:19:43.000Z (over 1 year ago)
- Last Synced: 2025-01-18T23:20:26.412Z (over 1 year ago)
- Topics: assembler, cpp, dll, fastapi, makefile, poetry, pydantic, python, uvicorn
- Language: Python
- Homepage:
- Size: 10 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Курсовая работа по ассемблеру на тему: "Перевод систем счисления"
## Описание:
Данный проект представляет собой приложение на `FastAPI`, которое использует функцию, написанную на `Assembly` для перевода чисел из одной системы счисления в другую. Функция на `Assembly` скомпилирована в `DLL` и вызывается через `Python` (32-битный). Приложение предоставляет один `API`-эндпоинт, который принимает число и систему счисления, в которую нужно выполнить преобразование.
**Особенность**: Для корректной работы необходимо указывать полный путь до DLL-файла, так как он вызывается из Python-скрипта.
---
## Cтэк:
- `FastAPI` — для создания веб-приложения.
- `Python 3.x` (32-bit) — основной язык программирования.
- `MASM` — для написания и компиляции функции на Assembly.
- `DLL` — скомпилированная библиотека, которая выполняет перевод числа.
- `Pydantic` — для валидации данных.
- `Uvicorn` — для запуска приложения FastAPI.
---
## Как запустить проект
1. Клонируйте репозиторий:
```
git clone https://github.com/Rxyalxrd/term_paper_5th_semester.git
cd term_paper_5th_semester
```
2. Установите зависимости через Poetry:
```
poetry install
```
3. Запустите приложение FastAPI через Uvicorn:
```
poetry run uvicorn main:app --reload
```
4. Приложение будет доступно по адресу: `http://127.0.0.1:8000`.
---
## API
- GET `/convert`
- Тело запроса:
```
{
"input_number": "1011",
"radix": 10
}
```
- Параметры:
- input_number (integer): Число, которое нужно перевести.
- radix (integer): Cистема счисления, в которую нужно перевести.
- Ответ:
```
{
"converted_num": "11"
}
```
---
## Как работает:
Приложение использует `FastAPI` для получения данных от пользователя и обработки их с помощью функции, написанной на `Assembly`. Функция в `DLL` выполняет все вычисления, а результат возвращается через `FastAPI`.
---
## Важные замечания:
- Убедитесь, что вы используете `32`-битную версию `Python` для корректной работы с `DLL`.
- Для корректной работы необходимо указывать **полный путь** до `DLL`-файла в соответствующем месте кода.
---