June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -0,0 +1,66 @@
section .data
MsgBalanced: db "OK", 10
MsgBalancedLen: equ 3
MsgUnbalanced: db "NOT OK", 10
MsgUnbalancedLen: equ 7
MsgBadInput: db "BAD INPUT", 10
MsgBadInputLen: equ 10
Open: equ '['
Closed: equ ']'
section .text
BalancedBrackets:
xor rcx, rcx
mov rsi, rdi
cld
processBracket:
lodsb
cmp al, 0
je determineBalance
cmp al, Open
je processOpenBracket
cmp al, Closed
je processClosedBracket
mov rsi, MsgBadInput
mov rdx, MsgBadInputLen
jmp displayResult
processOpenBracket:
add rcx, 1
jmp processBracket
processClosedBracket:
cmp rcx, 0
je unbalanced
sub rcx, 1
jmp processBracket
determineBalance:
cmp rcx, 0
jne unbalanced
mov rsi, MsgBalanced
mov rdx, MsgBalancedLen
jmp displayResult
unbalanced:
mov rsi, MsgUnbalanced
mov rdx, MsgUnbalancedLen
displayResult:
mov rax, 1
mov rdi, 1
syscall
ret