Assembly Language Quine Write the shortest possible assembly-language quine.

Use any ISA you want, unless it has a print-quine instruction or equivalent.  Examples include x86, MIPS, SPARC, MMIX, IBM BAL, MIX, VAX, JVM, ARM, etc.

You may link against the C standard library's _printf function (or the Java equivalent for JVM bytecode) for I/O.

Length will be judged both on instruction count and size of the data segment.  Solutions must contain at least two instructions.

The quine should print the assembly code, not the assembled machine code.
x86 Linux, AT&amp;T syntax: 244

push $10
push $34
push $s
push $34
push $37
push $37
push $s
call printf
mov $0,%ebx
mov $1,%eax
int $128
s:.ascii "push $10
push $34
push $s
push $34
push $37
push $37
push $s
call printf
mov $0,%cebx
mov $1,%ceax
int $128
s:.ascii %c%s%c%c"


(I compiled it with this: gcc -nostartfiles -lc quine.S -o quine)