in ,

nanochess / tinyasm, Hacker News

nanochess / tinyasm, Hacker News


        

    

  

                  

      

        

                    Join GitHub today          

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software Together.           

Sign up        

      

    

      

          Tiny assembler for 8086 / 8088, able to run over DOS for 8086 / 8088 machines.           

       

Assembly            C            Batchfile        

      

    

        

           

        

, --------., -. '. .-- '' - ', -, -,, -. , -., -, -. , ---. , -, -, -.    | | , -. |   '/', -. | (.- '| |    | | | || || |  '' - '| .-' ') | | | |    `` - '' - `` - '' - `/` - `-` `---- '' -` - `- '                       `--- ' Tinyasm 8086 / 8088 Assembler by Oscar Toledo G. Oct / 02 / 2019https://nanochess.org/https://github.com/nanochess/tinyasmTinyasm is a small assembler for 8086 / 8088 programs, and it can work over a real PC XT machine. It requires at least 128 K of memory, maybe more.  It came to my attention that several people wanted to assemble my boot sector games over real PC XT machines.  Unfortunately, nasm doesn't run over 8086 / 8088 processors, and I couldn't find a compatible assembler!  So what does a programmer when doesn't find the required tool? Start to code his own tool!  It took me 3 days to start from zero and get a working assembler compatible with the nasm syntax, plus all the directives I've used in my boot sector programs.  Using the same command line syntax as nasm:    tinyasm -f bin rogue.asm -o rogue.img -l rogue.lst  There is also the -d option for define labels:    -dCOM_FILE   -dCOM_FILE=1 >>DIFFERENCES BETWEEN TINYASM AND NASM>>The main difference is that Tinyasm won't insert long jumps for miscalculated conditional jumps.  There is only support for 8086 / 8088 processors, and only are implemented the following directives:  % ifdef % ifndef % if % else % endif times Use 16 CPU 8086 equ db dw >>DEBUG NOTES>BUILDING THE ASSEMBLER>>You can build your own executable for Tinyasm using the C compiler Desmet C, version 3.1h available graciously at:      http://www.desmet-c.com/The compiler has many bugs and limitations, but it works for tinyasm purposes, and it's freely available.  Supposedly it should support ANSI C, but I couldn't fit a standard ANSI C function definition, so I had to code again in C K&R for the first time in maybe 20 Years!  You can find the "e.bat" file to assemble the compiler.  I provide an executable on the Git to save you some time.  There are test cases in the 'test' subdirectory that are runnable with the "test.bat" file.  There is a test for the full instruction set of 8086 / 8088 (the same listing that appears in my book Programming Boot Sector Games).  The test cases come from my own programs:https://github.com/nanochess/fbirdhttps://github.com/nanochess/invadershttps://github.com/nanochess/pillmanhttps://github.com/nanochess/bootBASIChttps://github.com/nanochess/bootOShttps://github.com/nanochess/bootRogue>>ATTENTIONhttp://www.lulu.com/shop/oscar-toledo -gutierrez / programming-boot-sector-games / paperback / product - 24188564 .html   Hard-cover     http://www.lulu.com/shop/oscar- toledo-gutierrez / programming-boot-sector-games / hardcover / product - 24188530 .html  eBook     https://nanochess.org/store.htmlThese are some of the example programs documented profusely in the book:    * Guess the number.   * Tic-Tac-Toe game.   * Text graphics.   * Mandelbrot set.   * F-Bird game.   * Invaders game.   * Pillman game.   * Toledo Atomchess.   * bootBASIC language.

      

  

  

    

     

Brave Browser
Read More
Payeer

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

Adversarial point perturbations on 3D objects, Hacker News

Microsoft isn’t the only company making dual-screen Windows laptops – BGR, Bgr.com

Microsoft isn’t the only company making dual-screen Windows laptops – BGR, Bgr.com