This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.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