From af6d36281b364a044746b5f805b7f6d7522655f8 Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Wed, 19 Mar 2025 22:34:07 +0000 Subject: [PATCH] Create grid. --- bin/main | Bin 16536 -> 33040 bytes src/main.asm | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/bin/main b/bin/main index 5830395c3e7e11c6fc84cffb2420355518dabae6..a2cec381f7c24b23d9667a6e1f8ef0badc212275 100755 GIT binary patch delta 766 zcmbQy$T*>iN$mWuxBu7~7#Nuu7#Nsgabq&1CRy-G#X?y%y^J|e0)k`Ng{{^0l3U#gDG%;F&HMlW)jtmk54Kt zh6`c3hYhG6%a{%cb zKso|Qa|3Yz5Q6|K6ob^VPjpnDyn#_*vH_EZ=F8J7^?VhKuP$5{lPAKH+^PapAOOS+ z>|9{1!NAY}GTdl#BU6B21H=YRpa4jbMZ@NgOc~bozJ`}}1C=xQ^s?>;QjR-WfTU;h zuasgt&;N&BIDn)&FL)SU^7#H4D9liz>H#E6<$>xagVlqa^+FP)te3SGECMp&^`0HT z0Acbl{Ljz211P|>9~3@5oyUASPw}%J261G7m|^lpdtqKsygL9nAUt*QMSFeLXoXk? zE}#R~+H7L>XBJ?LXAlC)frE>gVN=~?K?nKzO?4n41_oUq=3``F>V&2q3n+gol^2YHB}5gd@C=BFr0Wk>7oA|JJvJI1{ zqyt2p0Z4-Zl%BybIg82O0?0D}3WLm&0AdgyWOfFS28nY6aR3k_1CUy#$q$+01?KjC zl>63aUAZnTbIp&dwVx&jFiSAbo1DoUAn3rrzyVaJ3B&?GY~ir^B6Fhk<_FBtj9fc_ z?qu>X{Ljxid4;_UFUaLU number of bombs around + lea r8, [rel tile] ; Buffer address + mov r9, tile_len ; Length of the string +loop_start: + cmp r10, 100 + jae loop_end + + inc r10 ; Increment the counter + + call print_String + + mov rax, r10 + xor rdx, rdx ; Clear rdx for division + div rbx ; Divide rax by rbx (unsigned division) + + cmp r10, 0 + je no_newline + + cmp rdx, 0 + jne no_newline + lea r8, [rel newline] ; Newline character + mov r9, newline_len ; Length of the newline + call print_String + lea r8, [rel tile] ; Buffer address + mov r9, tile_len ; Length of the string +no_newline: + jmp loop_start +loop_end: mov rax, 0x2000001 ; syscall: exit xor rdi, rdi ; status: 0 syscall +; Function to print a string +; Arguments: +; r8 - pointer to the string +; r9 - length of the string +print_String: + mov rax, 0x2000004 ; syscall: write + mov rdi, 1 ; file descriptor: stdout + mov rsi, r8 ; pointer to the string + mov rdx, r9 ; length of the string + syscall + ret \ No newline at end of file