about summary refs log blame commit diff stats
path: root/apps/ex6.subx
blob: 585362f15e61d48d2c6d9b02e71b6aa85b11ed15 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                 
 
         

                                                                

                 

       

                                                                                                                                                 
 
      
                            
                       
                           
                                                  
                           
                       
                                                                                                                                                                         
               
                                 
 

                                
 
       
 
                       
                    
                     
                                                      
                                                          
 
                            
# Print out a (global variable) string to stdout.
#
# To run:
#   $ ./bootstrap translate init.linux apps/ex6.subx -o apps/ex6
#   $ ./bootstrap run apps/ex6
#   Hello, world!

== code

# . op          subop               mod             rm32          base        index         scale       r32
# . 1-3 bytes   3 bits              2 bits          3 bits        3 bits      3 bits        2 bits      2 bits      0/1/2/4 bytes   0/1/2/4 bytes

Entry:
    # write(stdout, X, Size)
    # . fd = 1 (stdout)
    bb/copy-to-ebx  1/imm32
    # . initialize X (location to write result to)
    b9/copy-to-ecx  X/imm32
    # . initialize Size
    8b/copy                         0/mod/indirect  5/rm32/.disp32            .             .           2/r32/edx   Size/disp32     .                 # copy *Size to edx
    # . syscall
    e8/call  syscall_write/disp32

    # exit(ebx)
    e8/call  syscall_exit/disp32

== data

Size:  # size of string
    0x0e/imm32  # 14
X:  # string to print
    48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 0a       00
#   H  e  l  l  o  ,  ␣  w  o  r  l  d  !  newline  null

# . . vim:nowrap:textwidth=0
"" Format specifiers from *index-format* are expanded with respect to the new message. # ACCOUNTS.CONF This file is used for configuring each mail account used for aerc. Each section is the name of an account you want to configure, and the keys & values in that section specify details of that account's configuration. In addition to the options documented here, specific transports for incoming and outgoing emails may have additional configuration parameters, documented on their respective man pages. Note that many of these configuration options are written for you, such as *source* and *outgoing*, when you run the account configuration wizard (*:new-account*). *archive* Specifies a folder to use as the destination of the *:archive* command. Default: Archive *copy-to* Specifies a folder to copy sent mails to, usually "Sent". Default: none *default* Specifies the default folder to open in the message list when aerc configures this account. Default: INBOX *folders* Specifies the list of folders to display in the sidebar. Default: all folders *from* The default value to use for the From header in new emails. This should be an RFC 5322-compatible string, such as "Your Name <you@example.org>". Default: none *outgoing* Specifies the transport for sending outgoing emails on this account. It should be a connection string, and the specific meaning of each component varies depending on the protocol in use. See each protocol's man page for more details: - *aerc-smtp*(5) *outgoing-cred-cmd* Specifies an optional command that is run to get the outgoing account's password. See each protocol's man page for more details. Default: none *source* Specifies the source for reading incoming emails on this account. This key is required for all accounts. It should be a connection string, and the specific meaning of each component varies depending on the protocol in use. See each protocol's man page for more details: - *aerc-imap*(5) - *aerc-maildir*(5) Default: none *source-cred-cmd* Specifies an optional command that is run to get the source account's password. See each protocol's man page for more details. # BINDS.CONF This file is used for configuring keybindings used in the aerc interactive client. You may configure different keybindings for different contexts by writing them into different *[sections]* of the ini file. The available contexts are: *[messages]* keybindings for the message list *[view]* keybindings for the message viewer *[compose]* keybindings for the message composer *[compose::editor]* keybindings for the composer, when the editor is focused *[compose::review]* keybindings for the composer, when reviewing the email before it's sent *[terminal]* keybindings for terminal tabs You may also configure global keybindings by placing them at the beginning of the file, before specifying any context-specific sections. For each *key=value* option specified, the _key_ is the keystrokes pressed (in order) to invoke this keybinding, and _value_ specifies keystrokes that aerc will simulate when the keybinding is invoked. Generally this is used to execute commands, for example: rq = :reply -q<Enter> Pressing r, then q, will simulate typing in ":reply -q<Enter>", and execute :reply -q accordingly. It is also possible to invoke keybindings recursively in a similar fashion. Additionally, the following special options are available in each binding context: *$noinherit* If set to "true", global keybindings will not be effective in this context. Default: false *$ex* This can be set to a keystroke which will bring up the command input in this context. Default: <semicolon> In addition to letters, special keys may be specified in <angle brackets>. The following special keys are supported: [[ *Name* :- *Description* | space : " " | semicolon : ; | tab : | enter : | up : | down : | right : | left : | pgup : | pgdn : | home : | end : | insert : | delete : | exit : | cancel : | print : | pause : | backtab : | c-space : Ctrl+Space | c-a : Ctrl+a | c-b : Ctrl+b | c-c : Ctrl+c | c-d : Ctrl+d | c-e : Ctrl+e | c-f : Ctrl+f | c-g : Ctrl+g | c-h : Ctrl+h | c-i : Ctrl+i | c-j : Ctrl+j | c-k : Ctrl+k | c-l : Ctrl+l | c-m : Ctrl+m | c-n : Ctrl+n | c-o : Ctrl+o | c-p : Ctrl+p | c-q : Ctrl+q | c-r : Ctrl+r | c-s : Ctrl+s | c-t : Ctrl+t | c-u : Ctrl+u | c-v : Ctrl+v | c-w : Ctrl+w | c-x : Ctrl+x | c-y : Ctrl+y | c-z : Ctrl+z | c-] : Ctrl+] | c-[ : Ctrl+[ | c-^ : Ctrl+^ | c-_ : Ctrl+_ # SEE ALSO *aerc*(1) *aerc-imap*(5) *aerc-smtp*(5) *aerc-maildir*(5) *aerc-sendmail*(5) # AUTHORS Maintained by Drew DeVault <sir@cmpwn.com>, who is assisted by other open source contributors. For more information about aerc development, see https://git.sr.ht/~sircmpwn/aerc.