Skip to content

Instantly share code, notes, and snippets.

@ehzawad
Created February 7, 2016 12:46
Embed
What would you like to do?
.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