trivial.S revision 1.1.1.1.10.2 1 1.1.1.1.10.2 tls /* $NetBSD: trivial.S,v 1.1.1.1.10.2 2014/08/20 00:04:23 tls Exp $ */
2 1.1.1.1.10.2 tls
3 1.1.1.1.10.2 tls .text
4 1.1.1.1.10.2 tls .align 4
5 1.1.1.1.10.2 tls
6 1.1.1.1.10.2 tls .globl _start
7 1.1.1.1.10.2 tls _start:
8 1.1.1.1.10.2 tls #if 0
9 1.1.1.1.10.2 tls pushl %ebp
10 1.1.1.1.10.2 tls movl %esp,%ebp
11 1.1.1.1.10.2 tls pushl %ebx # save ebx
12 1.1.1.1.10.2 tls movl 12(%ebp),%eax # eax <- systab
13 1.1.1.1.10.2 tls movl 24(%eax),%ebx # ebx <- systab->FirmwareVendor
14 1.1.1.1.10.2 tls pushl %ebx
15 1.1.1.1.10.2 tls movl 44(%eax),%ebx # ebx <- systab->ConOut
16 1.1.1.1.10.2 tls pushl %ebx
17 1.1.1.1.10.2 tls movl 4(%ebx),%eax # eax <- conout->OutputString
18 1.1.1.1.10.2 tls call *%eax
19 1.1.1.1.10.2 tls movl -4(%ebp),%ebx # restore ebx
20 1.1.1.1.10.2 tls leave
21 1.1.1.1.10.2 tls ret
22 1.1.1.1.10.2 tls
23 1.1.1.1.10.2 tls #else
24 1.1.1.1.10.2 tls
25 1.1.1.1.10.2 tls pushl %ebp
26 1.1.1.1.10.2 tls movl %esp,%ebp
27 1.1.1.1.10.2 tls pushl %ebx
28 1.1.1.1.10.2 tls call 0f
29 1.1.1.1.10.2 tls 0: popl %eax
30 1.1.1.1.10.2 tls addl $hello-0b,%eax
31 1.1.1.1.10.2 tls pushl %eax
32 1.1.1.1.10.2 tls movl 12(%ebp),%eax # eax <- systab
33 1.1.1.1.10.2 tls movl 44(%eax),%ebx # ebx <- systab->ConOut
34 1.1.1.1.10.2 tls pushl %ebx
35 1.1.1.1.10.2 tls movl 4(%ebx),%eax # eax <- conout->OutputString
36 1.1.1.1.10.2 tls call *%eax
37 1.1.1.1.10.2 tls movl -4(%ebp),%ebx
38 1.1.1.1.10.2 tls leave
39 1.1.1.1.10.2 tls ret
40 1.1.1.1.10.2 tls
41 1.1.1.1.10.2 tls .section .rodata
42 1.1.1.1.10.2 tls .align 2
43 1.1.1.1.10.2 tls hello: .byte 'h',0,'e',0,'l',0,'l',0,'o',0,'\n',0,'\r',0,0,0
44 1.1.1.1.10.2 tls
45 1.1.1.1.10.2 tls #endif
46