News

New in Version 0.2 
================== 
 
* 16 bit support using 32-bit addressing syntax 
 
* New form: Local labels support/declarations 
  (locals (<label-name> ...) <item> ...) 
 
* Syntax change: all label definitions are now written 
  (label <name> <item> ...) 
 
* Syntax change: For consistency, the "direcs" directive has been 
  replaced by "begin". "begin" is now usable in data and heap 
  directives. 
 
* Support for Guile 1.8 
 
* Support for Scheme48 module interfaces 
 
* sassy-mode minor Emacs mode (sassy.el) 
 
* Segment Override prefixes and branch hinting prefixes 
 
* Better handling of default operand sizes, optimizing generated code 
  sequences for size. 
 
* New version of sassy-make-bin (includes a data section now) 
 
* Fixes for with-win with-lose with-win-lose, so that writing assembly 
  in a, umm, "natural" cps style is possible. 
 
* Numerous bug fixes, clean-ups, and more error checks. 
  See files ChangeLog and CHANGES-old for details. 

 

Index


!, 4
$eip, 6
$lose, 6
$win, 6
align, 5
alt, 6
begin, 5, 6, 6ii
data, 5
entry, 5
esc, 6
export, 5
heap, 5
if, 6
import, 5
include, 5
inv, 6
iter, 6
label, 5
leap, 6
locals, 5
macro, 5
mark, 6
org, 5
seq, 6, 6ii
text, 5
times, 6
until, 6
while, 6
with-lose, 6
with-win-lose, 6
with-win, 6
push-stacks, 8
sassy-output, 8
sassy-reloc, 8
sassy-symbol, 8


A Note on Branch Optimization, 6
Additional procedures for sassy-output, 8
Addressing, 6
asciiz, 5
Assertions, 6


Basic Syntax, 4
brnt, 6
brt, 6
byte, 6
bytes, 5, 5ii, 6


calls, 6
Caveats, 3
Chicken, 3
Comparisons, 10
Control Primitives, 6
cs, 6
cs:, 6
Custom Relocations, 7


Defining Labels, 5
delete-file, 3
Descriptions of directives, 5
Directives, 5
dont-expand, 4
dqword, 6, 6ii
ds, 6
ds:, 6
dword, 6
dwords, 5, 5ii, 6


ELF helpers, 10
ELF Output, 9
Emacs, 3
es, 6
es:, 6
Escaping to Scheme, 4
Explicit Continuation Versions, 10


far, 6
far calls, 6
far jumps, 6
file-exists?, 3
Flat Binaries, 9
fs, 6
fs:, 6


gs, 6
gs:, 6


Immediates, 6
index, 6
Installation, 3
Installing, 3
Instructions, 6


jumps, 6
Jumps and Calls, 6


Label Definitions and Lexical Scoping, 5
Lexical Scoping, 5
locals, declaring, 5


Macro Expansions, 10
make-pushdown-stack, 8
make-pushup-stack, 8
More Control Primitives, 10


near, 6


Operand Sizes, 6
options, 4
Other Schemes, 3
Output, 8
Output Modules, 9
Overview, 2


Porting Sassy, 3
Prefixes, 6
push-stack-align, 8
push-stack-append, 8
push-stack-direction, 8
push-stack-empty?, 8
push-stack-items, 8
push-stack-patch, 8
push-stack-pointer, 8
push-stack-push, 8
push-stack-push->patcher, 8
push-stack-save, 8
push-stack-size, 8


qword, 6
qwords, 5, 5ii


Raw text data, 6
Record-types, 8


sassy, 4, 4ii
Sassy and GNU Emacs, 3
Sassy Extensions, 6
sassy-data-align, 8
sassy-data-list, 8
sassy-data-size, 8
sassy-data-stack, 8
sassy-entry-point, 8
sassy-expand, 5, 5ii
sassy-heap-align, 8
sassy-heap-size, 8
sassy-hexdump, 8
sassy-make-bin, 9
sassy-make-elf, 9
sassy-print-relocs, 8
sassy-print-symbols, 8
sassy-reloc-list, 8
sassy-reloc-name, 8
sassy-reloc-offset, 8
sassy-reloc-patcher, 8
sassy-reloc-section, 8
sassy-reloc-target-section, 8
sassy-reloc-type, 8
sassy-reloc-value, 8
sassy-reloc-width, 8
sassy-symbol-exists?, 8
sassy-symbol-name, 8
sassy-symbol-offset, 8
sassy-symbol-scope, 8
sassy-symbol-section, 8
sassy-symbol-size, 8
sassy-symbol-table, 8
sassy-symbol-unres, 8
sassy-text-align, 8
sassy-text-list, 8
sassy-text-org, 8
sassy-text-size, 8
sassy-text-stack, 8
scale, 6
Scheme48, 3
Sections, 5
segment override prefixes, 6
short, 6
ss, 6
ss:, 6
Supplied macros, 10
Supported Schemes, 3


The COMFY core, 6
The Text Section, 6
The align special form, 5
tword, 6


Usage, 4
Utilities, 8


word, 6
words, 5, 5ii, 6