SWEET16 is an interpreted "byte-code" language invented by Steve Wozniak and implemented as part of the Integer BASIC ROM in the Apple II series of computers. It was created because Wozniak needed to manipulate 16-bit pointer data in his implementation of BASIC, and the Apple II was an 8-bit computer.
- R0 is the accumulator.
- R12 is the subroutine stack pointer.
- R13 stores the result of all comparison operations for branch testing.
- R14 is the status register.
- R15 is the program counter.
The 16 virtual registers, 32 bytes in total, are located in the zero page of the Apple II's real, physical memory map (at $00–$1F), with values stored as low byte followed by high byte. The SWEET16 interpreter itself is located from $F689 to $F7FC in the Integer BASIC ROM.
According to Wozniak, the SWEET16 implementation is a model of frugal coding, taking up only about 300 bytes in memory. SWEET16 runs about one-tenth the speed of the equivalent native 6502 code.
- Lazer's Interactive Symbolic Assembler — an Apple II assembler
- Interpreted language
- Joel McCormack
- Microsoft P-Code
- Run-time system
- Token threaded code
- UCSD Pascal