summaryrefslogtreecommitdiff
path: root/snippets/asm.snippets
diff options
context:
space:
mode:
Diffstat (limited to 'snippets/asm.snippets')
-rw-r--r--snippets/asm.snippets195
1 files changed, 0 insertions, 195 deletions
diff --git a/snippets/asm.snippets b/snippets/asm.snippets
deleted file mode 100644
index 3c7f70f..0000000
--- a/snippets/asm.snippets
+++ /dev/null
@@ -1,195 +0,0 @@
-snippet scode Start basic code for assembly
- .data
-
-
- .text
-
-
- .global main
-
-
- main:
-
-
-snippet scodes Start basic code for assembly with _start label
- .data
-
-
- .text
-
-
- .globl _start
-
-
- _start:
-
-
-snippet lo Long
- $1: .long $2
-snippet wo Word
- $1: .word $2
-snippet by Byte
- $1: .byte $2
-snippet sp Space
- $1: .space $2
-snippet ai Ascii
- $1: .ascii "$2"
-snippet az Asciz
- $1: .asciz "$2"
-snippet ze Zero
- $1: .zero "$2"
-snippet qu Quad
- $1: .quad "$2"
-snippet si Single
- $1: .single "$2"
-snippet do Double
- $1: .single "$2"
-snippet fl Float
- $1: .single "$2"
-snippet oc Octa
- $1: .single "$2"
-snippet sh Short
- $1: .single "$2"
-snippet exit0 Exit without error
- movl \$1, %eax
- xorl %ebx, %ebx
- int \$0x80
-
-snippet exit Exit with error
- mov \$1, %eax
- mov $1, %ebx
- int \$0x80
-
-snippet readfstdin Read fixed length text from stdin
- mov \$3, %eax
- mov \$2, %ebx
- mov $1, %ecx
- mov $2, %edx
- int \$0x80
-
-snippet writestdout Write text to stdout
- mov \$4, %eax
- mov \$1, %ebx
- mov $1, %ecx
- mov $2, %edx
- int \$0x80
-
-snippet writestderr Write text to stderr
- mov \$4, %eax
- mov \$2, %ebx
- mov $1, %ecx
- mov $2, %edx
- int \$0x80
-
-snippet * Multiplication
- mov $1, %eax
- mul $2
-
-snippet / Division
- mov $1, %eax
- div $2
-
-snippet jmpl Conditional lower jump
- cmp $1, $2
- jl $3
-
-snippet jmple Conditional lower or equal jump
- cmp $1, $2
- jle $3
-
-snippet jmpe Conditional equal jump
- cmp $1, $2
- je $3
-
-snippet jmpn Conditional not equal jump
- cmp $1, $2
- jn $3
-
-snippet jmpg Conditional greater jump
- cmp $1, $2
- jg $3
-
-snippet jmpge Conditional greater or equal jump
- cmp $1, $2
- je $3
-
-snippet loopn Loop n times
- mov $1, %ecx
-
- et_for:
- $2
-
- loop et_for
-
-snippet loopnn Loop n-1 times
- mov $1, %ecx
- dec %ecx
-
- et_for:
- $2
-
- loop et_for
-
-snippet loopv Loop through a vector
- lea $1, %edi
- xor %ecx, %ecx
-
- et_for:
- cmp %ecx, $2
- je $3
-
- $4
-
- inc %ecx
- jmp et_for
-
-snippet mul Multiply
- xor %edx, %edx
- mov $1, %eax
- mul $2
-snippet mul64 Multiply numbers greater than 2^32
- mov $1, %edx
- mov $2, %eax
- mul $3
-snippet div Divide
- xor %edx, %edx
- mov $1, %eax
- div $2
-snippet div64 Divide numbers greater than 2^32
- mov $1, %edx
- mov $2, %eax
- div $3
-snippet pr Call printf
- pushl $1
- call printf
- popl $2
-snippet sc Call scanf
- pushl $1
- call scanf
- popl $2
-snippet mindex Current index from a matrix
- xor %edx, %edx
- movl $1, %eax
- mull $2
- addl $3, %eax
-snippet ffl Call fflush
- pushl \$0
- call fflush
- popl $1
-snippet at Call atoi
- pushl $1
- call atoi
- popl $2
-snippet len Call strlen
- pushl $1
- call strlen
- popl $2
-snippet proc Basic procedure
- $1:
- pushl %ebp
- movl %esp, %ebp
-
- $2
-
- popl %ebp
- ret