Date: Tue, 2 Jan 2001 19:08:33 +0000 (GMT) From: George Reid <greid@dogma.freebsd-uk.eu.org> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/24022: New port: as80: A lightweight 8080/8085 assembler for UN*X systems Message-ID: <Pine.BSF.4.21.0101021907480.22319-100000@sobek.openirc.co.uk> Resent-Message-ID: <200101021910.f02JA1P81958@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 24022 >Category: ports >Synopsis: New port: as80: A lightweight 8080/8085 assembler for UN*X systems >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Jan 02 11:10:00 PST 2001 >Closed-Date: >Last-Modified: >Originator: George Reid >Release: FreeBSD 5.0-CURRENT i386 >Organization: FreeBSD UKUG >Environment: n/a >Description: As80 is a lightweight 8080/8085 assembler for UN*X systems. It was developed on a Debian GNU/Linux System and should well work on other UN*Xes. As80 is not invoked directly but through a wrapper shell script (asm) that handles some basic conversion (upper to lower etc.). So be sure to use this instead of directly running as80 and getting lots of (if you are lucky, meaningful) error messages. Although As80 is still in a somewhat early phase of development, it won't take much to come to one level with professional assemblers. The use of the C preprocessor instead of implementing some of the functionality (.EQU comes to mind) makes it easy to write assembler source programs in a more flexible way. At least, that's what I think. You are of course welcome to improve and/or add as you like, but be sure to always obey the license terms. - George Reid greid@ukug.uk.freebsd.org >How-To-Repeat: n/a >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # as80 # as80/Makefile # as80/distinfo # as80/files # as80/files/patch-aa # as80/files/patch-ab # as80/files/patch-ac # as80/pkg-plist # as80/pkg-comment # as80/pkg-descr # echo c - as80 mkdir -p as80 > /dev/null 2>&1 echo x - as80/Makefile sed 's/^X//' >as80/Makefile << 'END-of-as80/Makefile' X# New ports collection makefile for: as80 X# Date created: 02 January 2001 X# Whom: George Reid <greid@ukug.uk.freebsd.org> X# X# $FreeBSD$ X# X XPORTNAME= as80 XPORTVERSION= 1.0 XCATEGORIES= devel XMASTER_SITES= http://home.t-online.de/home/thomas.strathmann/files/ X XMAINTAINER= greid@ukug.uk.freebsd.org X XWRKSRC= ${WRKDIR}/${PORTNAME} X XALL_TARGET= ${PORTNAME} X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/as80 ${PREFIX}/bin X ${INSTALL_SCRIPT} ${WRKSRC}/asm ${PREFIX}/bin X X.include <bsd.port.mk> END-of-as80/Makefile echo x - as80/distinfo sed 's/^X//' >as80/distinfo << 'END-of-as80/distinfo' XMD5 (as80-1.0.tar.gz) = 9eb7c83d055982e64a722f6c745d5579 END-of-as80/distinfo echo c - as80/files mkdir -p as80/files > /dev/null 2>&1 echo x - as80/files/patch-aa sed 's/^X//' >as80/files/patch-aa << 'END-of-as80/files/patch-aa' X--- Makefile.orig Sun Dec 31 15:08:12 2000 X+++ Makefile Tue Jan 2 19:04:46 2001 X@@ -1,5 +1,5 @@ X CC=gcc X-CCFLAGS=-O3 -fomit-frame-pointer X+CFLAGS+= -fomit-frame-pointer X X as80: as80.c X- $(CC) -o $@ $? $(CCFLAGS) X+ $(CC) -o $@ $? $(CFLAGS) END-of-as80/files/patch-aa echo x - as80/files/patch-ab sed 's/^X//' >as80/files/patch-ab << 'END-of-as80/files/patch-ab' X--- as80.c.orig Tue Jan 2 18:34:06 2001 X+++ as80.c Tue Jan 2 18:51:46 2001 X@@ -22,7 +22,7 @@ X X #include <stdio.h> X #include <string.h> X-#include <malloc.h> X+#include <stdlib.h> X X X /* maximun numbers of translated codes */ X@@ -44,7 +44,7 @@ X FILE *in, *out, *lst; X X /* translate the input opcodes and operands */ X-int translate (const char *opc, const char *opr); X+int translate (char *opc, char *opr); X X /* open files and such */ X int init (int argc, char **argv); X@@ -69,7 +69,8 @@ X int X main (int argc, char **argv) X { X- int line = 0, org = 0, i; X+ int line = 0, i; X+ fpos_t org = 0; X char *label, *opcode, *operands; X label = (char *) malloc (8); X opcode = (char *) malloc (5); X@@ -211,7 +212,7 @@ X } X X int X-translate (const char *opc, const char *opr) X+translate (char *opc, char *opr) X { X int i; X END-of-as80/files/patch-ab echo x - as80/files/patch-ac sed 's/^X//' >as80/files/patch-ac << 'END-of-as80/files/patch-ac' X--- pseudo.h.orig Sun Dec 31 15:08:18 2000 X+++ pseudo.h Tue Jan 2 19:00:14 2001 X@@ -53,7 +53,7 @@ X X if (strstr (opc, ".org")) X { X- word offset; X+ fpos_t offset; X length = 0; X sscanf (opr, "%x", &offset); X fsetpos (out, &offset); X@@ -65,7 +65,7 @@ X /* a lable ... */ X if (strstr (opc, ":")) X { X- word pos; X+ fpos_t pos; X char *label; X label = (char *) malloc (strlen (opc)); X length = 0; END-of-as80/files/patch-ac echo x - as80/pkg-plist sed 's/^X//' >as80/pkg-plist << 'END-of-as80/pkg-plist' Xbin/as80 Xbin/asm END-of-as80/pkg-plist echo x - as80/pkg-comment sed 's/^X//' >as80/pkg-comment << 'END-of-as80/pkg-comment' XA lightweight 8080/8085 assembler for UN*X systems END-of-as80/pkg-comment echo x - as80/pkg-descr sed 's/^X//' >as80/pkg-descr << 'END-of-as80/pkg-descr' XAs80 is a lightweight 8080/8085 assembler for UN*X systems. It was Xdeveloped on a Debian GNU/Linux System and should well work on other XUN*Xes. As80 is not invoked directly but through a wrapper shell Xscript (asm) that handles some basic conversion (upper to lower etc.). So Xbe sure to use this instead of directly running as80 and getting lots of X(if you are lucky, meaningful) error messages. X XAlthough As80 is still in a somewhat early phase of development, it Xwon't take much to come to one level with professional assemblers. The Xuse of the C preprocessor instead of implementing some of the Xfunctionality (.EQU comes to mind) makes it easy to write assembler Xsource programs in a more flexible way. At least, that's what I think. XYou are of course welcome to improve and/or add as you like, but be Xsure to always obey the license terms. X X- George Reid Xgreid@ukug.uk.freebsd.org END-of-as80/pkg-descr exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0101021907480.22319-100000>