Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 100h
- jmp Start
- function_print:
- mov ah, $09
- int 21h
- ret
- function_println:
- call function_print
- mov dx, LF
- call function_print
- ret
- function_print_LF:
- mov ah, $09 ;printing LF
- mov dx, LF
- int 21h
- ret
- function_read:
- mov ah, $0A ;reading string
- int 21h
- ret
- function_read_cbuf:
- mov ax, $0C0A
- int 21h
- ret
- function_await_input:
- mov ax, $0C08
- int 21h
- test al, al
- jnz @F
- mov ah, $08
- int 21h
- @@:
- ret
- Start:
- mov dx, promptMessage ;displaying prompt
- call function_println
- mov dx, string
- call function_read_cbuf
- call function_print_LF
- CheckLength:
- CMP [string + 1], 4
- jge CheckEquals
- mov dx, lengthMessage
- call function_println
- call function_await_input
- ret
- CheckEquals:
- mov al, [string + 5]
- CMP [string + 2], al
- je CheckAdditional1
- mov dx, equalityMessage
- call function_println
- call function_await_input
- ret
- CheckAdditional1:
- CMP [string + 4], '0'
- jge @F
- mov dx, nanMessage
- call function_println
- call function_await_input
- ret
- @@:
- CMP [string + 4], '9'
- jle CheckAdditional2
- mov dx, nanMessage
- call function_println
- call function_await_input
- ret
- CheckAdditional2:
- mov eax, 0
- mov al, [string + 1]
- mov bl, [string + eax]
- CMP bl, '0'
- jge @F
- mov dx, nanMessage
- call function_println
- call function_await_input
- ret
- @@:
- mov eax, 0
- mov al, [string + 1]
- mov bl, [string + eax]
- CMP bl, '9'
- jle Finish
- mov dx, nanMessage
- call function_println
- call function_await_input
- ret
- Finish:
- mov dx, correctMessage
- call function_println
- call function_await_input
- ret
- promptMessage db 'Please enter string$'
- lengthMessage db 'Your string''s length does not belong to range [4, 8]$'
- equalityMessage db 'Symbols 1 and 4 must be equal$'
- nanMessage db 'Additional requirements were not met$'
- correctMessage db 'String is correct$'
- string db 9, 0, 9 dup('$')
- LF db 10, '$'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement