diff options
Diffstat (limited to 'doc/asm.html')
-rw-r--r-- | doc/asm.html | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/doc/asm.html b/doc/asm.html index b855b9ef7..d44cb799d 100644 --- a/doc/asm.html +++ b/doc/asm.html @@ -8,7 +8,11 @@ <p> This document is a quick outline of the unusual form of assembly language used by the <code>gc</code> suite of Go compilers (<code>6g</code>, <code>8g</code>, etc.). -It is based on the input to the Plan 9 assemblers, which is documented in detail +The document is not comprehensive. +</p> + +<p> +The assembler is based on the input to the Plan 9 assemblers, which is documented in detail <a href="http://plan9.bell-labs.com/sys/doc/asm.html">on the Plan 9 site</a>. If you plan to write assembly language, you should read that document although much of it is Plan 9-specific. This document provides a summary of the syntax and @@ -70,6 +74,8 @@ The <code>FUNCDATA</code> and <code>PCDATA</code> directives contain information for use by the garbage collector; they are introduced by the compiler. </p> +<!-- Commenting out because the feature is gone but it's popular and may come back. + <p> To see what gets put in the binary after linking, add the <code>-a</code> flag to the linker: </p> @@ -98,6 +104,7 @@ codeblk [0x2000,0x1d059) at offset 0x1000 ... </pre> +--> <h3 id="symbols">Symbols</h3> @@ -194,7 +201,7 @@ TEXT runtime·profileloop(SB),NOSPLIT,$8 <p> In the general case, the frame size is followed by an argument size, separated by a minus sign. -(It's not an subtraction, just idiosyncratic syntax.) +(It's not a subtraction, just idiosyncratic syntax.) The frame size <code>$24-8</code> states that the function has a 24-byte frame and is called with 8 bytes of argument, which live on the caller's frame. If <code>NOSPLIT</code> is not specified for the <code>TEXT</code>, |