PDP-8 Assembler [Romanian]

Original in English by Eirik Bakke

PDP-8 Assembler

assembler

pdpnasm este un asamblor pentru calculator PDP-8, scris în C. Prin urmare, are sintaxa standard PAL-III, cu unele excepţii, şi a fost destinată să fie compatibilă cu Prof.  Asamblor lui Wolf aşa cum este folosit în ELE 375 (toamna 06). Avantajele asamblorului includ:

  • Mult mai robust; captează mai multe erori şi dă mesaje sensibile la eroare.

  • Apropiat de specificații originale PAL-III .

  • Mult mai flexibil cu un spaţiu liber.

  • Codul ambelor mânere trece.

  • Codificare de instrucţiuni simple cu ajutorul abordării "Fixed Symbol Table".

Pentru a utiliza:

  1. Rulaţi fișier creat pentru a construi pdpnasm (lucrează în UNIX sau Cygwin).

  2. Rulaţi pdpnasm asm-file.p8 obj-file.po (utilizare fel ca și în cazul cu originalul pdp8asm lui ELE 375).

fixtab.p8 conţine tabela de simboluri fixe, care este, definiţia mnemonicelor, cum ar fi TAD şi CLA, şi ar trebuie să fie prezente în directorul curent atunci când se produce asamblarea. Această metodologie este analogă cu modul în care a lucrat versiunea originală de asamblare PAL-III, având în mnemonice instrucţiuni ca un caz special de simboluri definite de utilizator.

 Descărcați Download pdpnasm.zip (UNIX source code and Makefile).

Caracteristici absente

Generale

  • Are punct a mesajelor de eroare la începutul greșelii simbolice în loc de poziţia curentului de intrare.

  • Testare automată.

Abateri de la specificații

  • Gunoi (caractere, cu excepţia spaţiilor) nu a fost acceptat după $.

  • " Caracterele ignorate" nu sunt ignorate; pot declanşa în schimb erori.

  • "Caractere ilegale" nu sunt ignorate; va declanşa erori în schimb.

  • Literali întregi nu trebuie să încapă într-un singur cuvânt, atât timp cât expresia de ansamblu face acest lucru.

  • Toate personajele de un nume de simbol sunt utilizate pentru identificare, nu doar în primele şase.

  • Sarcini recursive nu sunt sprijinite (de exemplu, "EXIT = RETURN = JM P I 0")

  • Redefinișii de simboluri sau sarcinile sunt tratate ca erori.

  • Tabelul simbolurilor nu este imprimat la sfârşitul termenului de Pass 1.

  • FIXMRI poate fi folosit oriunde în cod (nu doar immedit după o ştergere).

  • Mesajele de eroare nu poate fi formulat exact ca în sprecificații.

Caracteristici prezent, puse în aplicare de la caietul de sarcini

  • OCTAL, DECIMAL.

  • PAUZĂ, DOMENIU.

  • şterge, FIXTAB.

  • Tabel de Simboluri fixe nu conţine încă toate simbolurile specificate.

  • Simbolica Z opţională nu este suportat (produceți de asemenea verificări de erori aici).

Specificația PAL-III poate fi găsită aici – here.

ok ok