Find Jobs
Hire Freelancers

Assembly language for intel based computers1

$25-30 USD

Zamknięte
Opublikowano około 19 lat temu

$25-30 USD

Płatne przy odbiorze
writing two-pass assembler for SIC/XE computer. program should accept as input an assembly language program written for SIC/XE machine, and should produce two files as output. The first listing file showing source statements and object code (in hexadecimal notation) generated for each statement, followed by symbol table printout as it exists at end of assembly process. The second file is file consisting of actual object code produced by assembler. object code should be same hexadecimal form as outlined in text, with Header record, Text records, and End record. _Restrictions_: To simplify your assembler,u assume: 1. The directives are limited the following: START, BYTE, WORD, RESB, RESW, END, BASE, NOBASE. 2. The opcodes: ADDR, COMPR, SUBR, ADD, SUB, MUL, DIV, COMP, J, JEQ, JGT, JLT, JSUB,LDA, LDB, LDCH, LDL, LDT, LDX, RSUB, TIX, TIXR, RD, TD, WD, STA, STB, STCH, STL, STX, CLEAR. 3. There are no expressions in addresses and no expressions in immediate operands. 4. Labels maximum of 6 characters length and consist only letters. 5. All source code uppercase characters. 6. All labels begin column 1, all opcodes begin column 8, and remainder of source line column 15. The portion of source line beginning in column 15 contains no embedded spaces. 7. No literals. Notes: 1. ur assembler should recognize comments indicated by a period at beginning (column 1) of source line. Comments should be copied out to listing file, but should cause no location counter changes or opcode values be generated. 2. ur internal tables (OPTAB) need not be hashed. They may be set up for simple linear access. ## Deliverables Rent A Coder requirements notice: As originally posted, this bid request does not have complete details. Should a dispute arise and this project go into arbitration "as is", the contract's vagueness might cause it to be interpreted against you, even though you were acting in good-faith. So for your protection, if you are interested in this project, please work-out and document the requirements onsite. 1. Your executable filename should be sicasm.exe. It should accept one command line argument - the source code filename. 2. In pass one, you need only check for two kinds of errors - "Duplicate symbol" and "Invalid operation". 3. In pass two, you need only check for two kinds of errors - "Symbol not found" and "Unable to assemble into Format 3; Format 4 not specified". 4. Whenever an error occurs, your program should display a message which indicates on what pass the error occurred, on what line of the source code the error appeared, and what the error was. Your program should then terminate with an exit statement. 5. The START directive may be preceded by initial comments -- on pass 1, simply read in these comment lines without incrementing the location counter; on pass 2, simply read in these comments and write them to the listing file. 6. In your listing file, you should have line number, location counter value, followed by the source statement, followed by object code. For comments, merely output the line number and the comment. Use format on page 58 (except number lines starting at 1 and incrementing by 1). Following this, your listing file should include the symbol table (names of symbols and their values (addresses)). 7. Your object file should use the format described in the book (you do not have to display the carets separating the 3-byte words). You will not use any modification records, only a header record, text records, and an end record. 8. In pass 2, when a RESW or RESB directive is encountered, write out the current text record, and do not start constructing another text record until more object code needs to be written. Thus, while the RESW and RESB directives do increment the location counter, they do not cause any object code to be written. 9. As with the SIC/XE assembler in the book, always try to assemble a Format 3 instruction which has a symbolic operand, by using PC-relative addressing. If the computed displacement is less than -2048 or greater than 2047, then try to use Base-relative addressing if a BASE directive has been given earlier. ## Platform .exe format
Identyfikator projektu: 3658695

Informację o projekcie

1 oferta
Zdalny projekt
Aktywny 19 lat temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
1 freelancer składa ofertę o średniej wysokości $26 USD dla tej pracy
Awatar Użytkownika
See private message.
$25,50 USD w 2 dni
4,8 (11 opinii)
2,9
2,9

O kliencie

Flaga UNITED STATES
United States
5,0
1
Członek od kwi 8, 2005

Weryfikacja Klienta

Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.