Skip to content

Instantly share code, notes, and snippets.

@ehzawad
Created February 7, 2016 13:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ehzawad/0e147f6a29438344d41d to your computer and use it in GitHub Desktop.
Save ehzawad/0e147f6a29438344d41d to your computer and use it in GitHub Desktop.
.model small
.stack 100h
.data
a db ?
c dw 'you are in level $'
d dw 'restrictin ...you are in server room $'
e dw 'Invalid level entered $'
.code
main proc
mov ax, @data
mov ds, ax
input:
mov ah, 1
int 21h
;caution without al register variable cannot hold value
mov a, al
mov ah, 2
mov dl, ' '
int 21h
cmp a, '0'
je levelexit
cmp a, '1'
je levelexit
cmp a, '2'
je levelexit
cmp a, '3'
je levelexit
cmp a, '4'
je levelexit
cmp a, '5'
je levelexit
cmp a, '6'
je warning
; jge Invalid
jg invalid
Invalid:
;LOAD EFFECTIVE ADDRESS
mov ah, 9
lea dx, e
int 21h
jmp exit
warning:
;LOAD EFFECTIVE ADDRESS
mov ah, 9
lea dx, d
int 21h
jmp exit
levelexit:
;LOAD EFFECTIVE ADDRESS
mov ah, 9
lea dx, c
int 21h
mov ah, 2
mov dl, ' '
int 21h
mov ah, 2
mov dl, a
int 21h
exit:
; successful termination
mov ah, 4ch
int 21h
main endp
end main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment