summaryrefslogtreecommitdiff
path: root/gnu-efi/apps/trivial.S
diff options
context:
space:
mode:
authorSteve McIntyre <steve@einval.com>2021-03-23 23:49:46 +0000
committerSteve McIntyre <steve@einval.com>2021-03-23 23:49:46 +0000
commit1251a7ba86fc40a6aad8b4fecdbca2b61808d9fa (patch)
tree2125fda549aaca55cb49a48d54be77dec7fbf3df /gnu-efi/apps/trivial.S
parent85b409232ce89b34626df9d72abedf5d4f5ccef6 (diff)
parent031e5cce385d3f96b1caa1d53495332a7eb03749 (diff)
downloadefi-boot-shim-debian/15.3-1.tar.gz
efi-boot-shim-debian/15.3-1.zip
Update upstream source from tag 'upstream/15.3'debian/15.3-1
Update to upstream version '15.3' with Debian dir 1b484f1c1ac270604a5a1451b34de4b0865c6211
Diffstat (limited to 'gnu-efi/apps/trivial.S')
-rw-r--r--gnu-efi/apps/trivial.S43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu-efi/apps/trivial.S b/gnu-efi/apps/trivial.S
new file mode 100644
index 00000000..40bc68fe
--- /dev/null
+++ b/gnu-efi/apps/trivial.S
@@ -0,0 +1,43 @@
+ .text
+ .align 4
+
+ .globl _start
+_start:
+#if 0
+ pushl %ebp
+ movl %esp,%ebp
+ pushl %ebx # save ebx
+ movl 12(%ebp),%eax # eax <- systab
+ movl 24(%eax),%ebx # ebx <- systab->FirmwareVendor
+ pushl %ebx
+ movl 44(%eax),%ebx # ebx <- systab->ConOut
+ pushl %ebx
+ movl 4(%ebx),%eax # eax <- conout->OutputString
+ call *%eax
+ movl -4(%ebp),%ebx # restore ebx
+ leave
+ ret
+
+#else
+
+ pushl %ebp
+ movl %esp,%ebp
+ pushl %ebx
+ call 0f
+0: popl %eax
+ addl $hello-0b,%eax
+ pushl %eax
+ movl 12(%ebp),%eax # eax <- systab
+ movl 44(%eax),%ebx # ebx <- systab->ConOut
+ pushl %ebx
+ movl 4(%ebx),%eax # eax <- conout->OutputString
+ call *%eax
+ movl -4(%ebp),%ebx
+ leave
+ ret
+
+ .section .rodata
+ .align 2
+hello: .byte 'h',0,'e',0,'l',0,'l',0,'o',0,'\n',0,'\r',0,0,0
+
+#endif