Giter Club home page Giter Club logo

tlang's Introduction

tlang

tlang is toolchain for assembling codes for a toy ISA

Developed for Windows 10 x64 but with Linux compatiblity in mind.

Made by Gabriel Barbosa (12/0050935), Victor de Carvalho (12/0062232) and Adarley Grando (11/0007344)

Compilation instructions

ATTENTION: You'll need a g++ version compatible with the directive -std=c++14

  • Run, in the root folder, make release or make debug or simply make. If you're using Windows with mingw32, run mingw32-make release or mingw32-make debug or simply mingw32-make.
  • A ./bin/[montador|ligador|carregador](Linux) \ [montador|ligador|carregador].exe (Windows) will show up on the same directory. You can call it as specified below.
  • If you want to change any flag passed to the inner makefiles, you can run as demonstrated below.
    • Let's say I want to change the compiler and my debug flags: make debug MAKEFLAGS="COMPILER=clang DBFLAGS=-g DBFLAGS+=-O0"

Calling instructions

  • For calling montador, you'll need to pass 1 or more .asm files. It'll generate one .o for each file. Windows example:

    • Windows: .\montador.exe '.\Arquivos Teste\fat_mod_A.asm' '.\Arquivos Teste\fat_mod_B.asm'
    • Linux: ./bin/montador ./Arquivos\ Teste/fat_mod_A.asm ./Arquivos\ Teste/fat_mod_B.asm
  • For calling ligador, you'll need to pass 1 or more .o files. It'll generate a single file without extension with the same name as the first file. Windows example:

    • Windows .\ligador.exe '.\Arquivos Teste\fat_mod_A.o' '.\Arquivos Teste\fat_mod_B.o'
    • Linux: ./bin/ligador ./Arquivos\ Teste/fat_mod_A.o ./Arquivos\ Teste/fat_mod_B.o
  • For calling carregador, you'll need to pass one file without extension followed by memory chunk info. It'll generate a .im file. Windows example:

    • Windows: .\carregador.exe '.\Arquivos Teste\fat_mod_A' 3 10 10 10 100 200 300
    • Linux: ./bin/carregador ./Arquivos\ Teste/fat_mod_A 3 10 10 10 100 200 300
    • In this case, we have 3 chunks with 10 bytes each located at address 100, 200 and 300, respectively.

tlang's People

Contributors

bestknighter avatar victormatheusvc avatar

Watchers

 avatar  avatar  avatar

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.