diff options
Diffstat (limited to 'lcc/x86/linux/tst/incr.sbk')
-rwxr-xr-x | lcc/x86/linux/tst/incr.sbk | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/lcc/x86/linux/tst/incr.sbk b/lcc/x86/linux/tst/incr.sbk new file mode 100755 index 0000000..1179a8a --- /dev/null +++ b/lcc/x86/linux/tst/incr.sbk @@ -0,0 +1,181 @@ +.globl main
+.text
+.align 16
+.type main,@function
+main:
+pushl %ebp
+pushl %ebx
+pushl %esi
+pushl %edi
+movl %esp,%ebp
+movl $0,%eax
+.LC1:
+movl %ebp,%esp
+popl %edi
+popl %esi
+popl %ebx
+popl %ebp
+ret
+.Lf2:
+.size main,.Lf2-main
+.globl memchar
+.align 16
+.type memchar,@function
+memchar:
+pushl %ebp
+pushl %ebx
+pushl %esi
+pushl %edi
+movl %esp,%ebp
+subl $8,%esp
+movl -8(%ebp),%edi
+leal 1(%edi),%esi
+movl %esi,-8(%ebp)
+movb (,%edi),%bl
+movb %bl,-1(%ebp)
+movl -8(%ebp),%edi
+leal 1(%edi),%edi
+movl %edi,-8(%ebp)
+movb (,%edi),%bl
+movb %bl,-1(%ebp)
+movl -8(%ebp),%edi
+leal -1(%edi),%esi
+movl %esi,-8(%ebp)
+movb (,%edi),%bl
+movb %bl,-1(%ebp)
+movl -8(%ebp),%edi
+leal -1(%edi),%edi
+movl %edi,-8(%ebp)
+movb (,%edi),%bl
+movb %bl,-1(%ebp)
+movl $0,%eax
+.LC3:
+movl %ebp,%esp
+popl %edi
+popl %esi
+popl %ebx
+popl %ebp
+ret
+.Lf4:
+.size memchar,.Lf4-memchar
+.globl memint
+.align 16
+.type memint,@function
+memint:
+pushl %ebp
+pushl %ebx
+pushl %esi
+pushl %edi
+movl %esp,%ebp
+subl $8,%esp
+movl -8(%ebp),%edi
+leal 4(%edi),%esi
+movl %esi,-8(%ebp)
+movl (,%edi),%edi
+movl %edi,-4(%ebp)
+movl -8(%ebp),%edi
+leal 4(%edi),%edi
+movl %edi,-8(%ebp)
+movl (,%edi),%edi
+movl %edi,-4(%ebp)
+movl -8(%ebp),%edi
+leal -4(%edi),%esi
+movl %esi,-8(%ebp)
+movl (,%edi),%edi
+movl %edi,-4(%ebp)
+movl -8(%ebp),%edi
+leal -4(%edi),%edi
+movl %edi,-8(%ebp)
+movl (,%edi),%edi
+movl %edi,-4(%ebp)
+movl $0,%eax
+.LC5:
+movl %ebp,%esp
+popl %edi
+popl %esi
+popl %ebx
+popl %ebp
+ret
+.Lf6:
+.size memint,.Lf6-memint
+.globl regchar
+.align 16
+.type regchar,@function
+regchar:
+pushl %ebp
+pushl %ebx
+pushl %esi
+pushl %edi
+movl %esp,%ebp
+subl $8,%esp
+movl -8(%ebp),%edi
+leal 1(%edi),%esi
+movl %esi,-8(%ebp)
+movb (,%edi),%bl
+movb %bl,-1(%ebp)
+movl -8(%ebp),%edi
+leal 1(%edi),%edi
+movl %edi,-8(%ebp)
+movb (,%edi),%bl
+movb %bl,-1(%ebp)
+movl -8(%ebp),%edi
+leal -1(%edi),%esi
+movl %esi,-8(%ebp)
+movb (,%edi),%bl
+movb %bl,-1(%ebp)
+movl -8(%ebp),%edi
+leal -1(%edi),%edi
+movl %edi,-8(%ebp)
+movb (,%edi),%bl
+movb %bl,-1(%ebp)
+movl $0,%eax
+.LC7:
+movl %ebp,%esp
+popl %edi
+popl %esi
+popl %ebx
+popl %ebp
+ret
+.Lf8:
+.size regchar,.Lf8-regchar
+.globl regint
+.align 16
+.type regint,@function
+regint:
+pushl %ebp
+pushl %ebx
+pushl %esi
+pushl %edi
+movl %esp,%ebp
+subl $8,%esp
+movl -8(%ebp),%edi
+leal 4(%edi),%esi
+movl %esi,-8(%ebp)
+movl (,%edi),%edi
+movl %edi,-4(%ebp)
+movl -8(%ebp),%edi
+leal 4(%edi),%edi
+movl %edi,-8(%ebp)
+movl (,%edi),%edi
+movl %edi,-4(%ebp)
+movl -8(%ebp),%edi
+leal -4(%edi),%esi
+movl %esi,-8(%ebp)
+movl (,%edi),%edi
+movl %edi,-4(%ebp)
+movl -8(%ebp),%edi
+leal -4(%edi),%edi
+movl %edi,-8(%ebp)
+movl (,%edi),%edi
+movl %edi,-4(%ebp)
+movl $0,%eax
+.LC9:
+movl %ebp,%esp
+popl %edi
+popl %esi
+popl %ebx
+popl %ebp
+ret
+.Lf10:
+.size regint,.Lf10-regint
+.ident "LCC: 4.1"
|