Jul 20, 2023

Bruce’s C compiler (with as and ld); can do 16-bit code

This is Bruce Evans’ C compiler and binutils package.

Either the compiler as the assembler are able to generate 16-bit code. Hence it’s possible to compile BIOS and DOS code under Unix.

The C compiler does understand K&R1 syntax, with a few restrictions regarding bit fields. See the file work/bcc/bcc-cc1/bcc.bugs for Bruce’s bug list.

The binutils assembler and loader have been renamed to as86 and ld86 to not conflict with the system’s assembler and loader, but they are also available in the regular BINDIR normally /usr/local/bin.

It’s also possible to generate MC 6809 code with bcc/as. This is a compile-time option however, and not supported by the binary package as it comes with FreeBSD.

Checkout these related ports:
  • Zziplib - Library to provide transparent read access to zipped files
  • Zydis - Fast and lightweight x86/x86-64 disassembler library
  • Zycore-c - Support library with platform independent types, macros, etc for Zydis
  • Zthread - Platform-independent object-oriented C++ threading library
  • Zookeeper - Coordination Service for Distributed Applications
  • Zls - Zig LSP implementation + Zig Language Server
  • Zfp - High throughput library for compressed floating-point arrays
  • Zeal - Offline documentation browser
  • Zapcc - C++ caching compiler based on clang
  • Zanata-platform - Web-based translation platform
  • Zanata-cli - Zanata Java command line client
  • Z88dk - Complete Z80/Z180 development kit
  • Z80ex - ZiLOG Z80 CPU emulator library
  • Z80asm - Assembler for the Z80 microprocessor
  • Z80-asm - Z80 assembly code assembler and disassembler