aboutsummaryrefslogtreecommitdiffstats
path: root/asm/jo_r_loop.asm
blob: 6264cf1ab41fd57a7084c2e0e89eff82bbaa7755 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                                                      ;;
;;  File      : jo_r_loop.asm                                             /_________/   ;;
;;  Author    : Joe                                                             |       ;;
;;  Date      : 04/2020                                                         |       ;;
;;  Info      : The main loop                                                   |       ;;
;;                                                                      /       |       ;;
;;                                                                      \       /       ;;
;;                                                                       \_____/        ;;
;;                                                                                      ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; jo_r_loop(speak (0-1), *argv[])
;; -------------------------------

section .text
	extern puts
	extern jo_n_speak
	global jo_r_loop

jo_r_loop:
	push	rcx
	push	rbx
	mov		rbx, rsi
	mov		rcx, rdi

speak1:
	cmp		rcx, 0x1
	jne		speak1
	mov		rdi, [rbx + 8 * 2]
	call	jo_n_speak
	pop		rcx
	push	rdi
	mov		rdi, message
	call	puts
	pop		rdi
	jmp		speak1

return:
	xor		rax, rax
	retq

section .data
	message:	db "qwe", 0x0