Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@ehzawad
Created February 7, 2016 12:46
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/1533ed8ffbe24891b895 to your computer and use it in GitHub Desktop.
Save ehzawad/1533ed8ffbe24891b895 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
output:
mov ah, 2
mov dl, 0ah
int 21h
mov dl, 0dh
int 21h
mov dl,a
int 21h
mov dl, 0ah
int 21h
mov dl, 0dh
int 21h
jmp exit
levelexit:
;LOAD EFFECTIVE ADDRESS
mov ah, 9
lea dx, c
int 21h
;
mov ah, 2
mov dl, ' '
int 21h
jmp output
exit:
; successful termination
mov ah, 4ch
int 21h
main endp
end mai
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment