aboutsummaryrefslogtreecommitdiffstats
path: root/asm/r_loop.asm
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2021-02-10 19:23:46 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2021-02-10 19:23:46 +0100
commit22ee11fbb77b4c81e41832996ce216d790c2b0aa (patch)
treeab373538026588249f1f2b79869cd93f940b47f3 /asm/r_loop.asm
parentTranslating, added rc script (diff)
downloadlowbat-bsd-22ee11fbb77b4c81e41832996ce216d790c2b0aa.tar.gz
lowbat-bsd-22ee11fbb77b4c81e41832996ce216d790c2b0aa.tar.bz2
lowbat-bsd-22ee11fbb77b4c81e41832996ce216d790c2b0aa.tar.xz
lowbat-bsd-22ee11fbb77b4c81e41832996ce216d790c2b0aa.tar.zst
lowbat-bsd-22ee11fbb77b4c81e41832996ce216d790c2b0aa.zip
Comments update
Diffstat (limited to '')
-rw-r--r--asm/r_loop.asm88
1 files changed, 0 insertions, 88 deletions
diff --git a/asm/r_loop.asm b/asm/r_loop.asm
deleted file mode 100644
index a3a9126..0000000
--- a/asm/r_loop.asm
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************************/
-/* */
-/* File : r_loop.asm /_________/ */
-/* Author : Joe | */
-/* Date : 04/2020 | */
-/* Info : The main loop | */
-/* / | */
-/* \ / */
-/* \_____/ */
-/* */
-/****************************************************************************************/
-
-/***********************************/
-/* jo_r_loop(speak (0-1), *argv[]) */
-/* ------------------------------- */
-/***********************************/
-
-.text
-.extern sleep
-.extern f_percent
-.extern f_status
-.extern n_speak
-.extern n_notify
-.extern r_cpyhead
-.globl r_loop
-
-r_loop:
- pushq %rbp
- pushq %rbx
- movq %rsi, %rbx
- movl %edi, %ebp
- jmp bigloop
-
-bigloop:
- callq f_status /* check the status */
- cmp $0xfe, %rax /* if sys_open/sys_read failed */
- je err
- cmp $0x3, %rax
- je sleepalot
- callq f_percent /* check the capacity */
- cmp $0xfe, %rax /* if sys_open/sys_read failed */
- je err
- cmp $0xf, %rax
- jge sleepalot
- movq %rax, %rdi
- callq r_cpyhead /* notification head */
- movq %rax, %rdi
- movq $n_body, %rsi /* notification body */
- movq $0x3, %rdx /* critical notification */
- movq $0x3a98, %rcx /* 15000ms notification timeout */
- callq n_notify /* n_notify(head: rdi, body: rsi, */
- /* urgency: rdx, timeout: rcx */
-
-speak:
- cmp $0x1, %ebp
- jne sleepabit
- pushq %rcx
- movq $0x8, %rcx
- movq (%rbx,%rcx,0x2), %rdi
- popq %rcx
- callq n_speak
-
-sleepabit:
- movq $0x14, %rdi
- callq sleep /* sleep 20 seconds before next check/notification */
- jmp bigloop
-
-sleepalot:
- movq $0xf0, %rdi
- callq sleep /* sleep 240s (4m) if it's fine */
- jmp bigloop
-
-return:
- xorq %rax, %rax
- retq
-
-err:
- movq $0x2, %rdi /* stderr */
- movq $errmsg, %rsi
- movq $0x25, %rdx
- movq $0x4, %rax
- syscall /* write error message on stderr */
- xorq %rax, %rax
- retq
-
-.data
- n_body: .asciz "Please plug in computer"
- errmsg: .asciz "Failed to read battery informations\n"