You are on page 1of 7

Compare a SB & Scan a string word

code segment
assume cs:code,DS:data
mov ax,data
mov ds,ax
mov es,ax
lea si,arrays
lea di,arrayd
mov cl,count
cld
repz cmpsb
mov ah,4ch
int 21h
code ends
data segment
org 1200h
count db (?)
arrays db 5 dup (?)
arrayd db 5 dup (0)
data ends
End

code segment
assume cs:code,DS:data
mov ax,data
mov ds,ax
mov es,ax
lea di,arrays
mov ax,[di]
inc di
inc di
mov cx,count
cld
repne scasw
dec di
dec di
int 3
code ends
data segment
org 1200h
count dw (?)
arrays dw 5 dup (?)
data ends
end

PASSWORD Checking using


8086 P

DISPLAY ON CONSOLE - INT 21H /AH 09 H


DATA SEGMENT
PASSWORD DB 'MASM1234'
LEN EQU 08H
MSG1 DB 10,13,'ENTER YOUR PASSWORD: $'
MSG2 DB 10,13,'WELCOME TO ELECTRONICS WORLD$'
MSG3 DB 10,13,'INCORRECT PASSWORD $'
NEW DB 10,13,'$(0D CARRIAGE RETURN , 0A NEW LINE)
INST DB 10 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA DX,MSG1
MOV AH,09H
INT 21H
output of a string at DS:DX. String must be terminated by '$ - 24

character input to AL without echo INT 21H /AH 08 H


character input to AL with echo INT 21H/AH 01H

MOV SI,00
UP1:MOV AH,08H
INT 21H
CMP AL,0DH (0D CARRIAGE RETURN)
JE DOWN
MOV [INST+SI],AL
if there is no character in the keyboard buffer, the function waits until
any key is pressed

INT 21h / AH=2 - write character to standard output. PASSWORD CHECKING


MSG1 DB 10,13,'ENTER YOUR PASSWORD: $'
MSG2 DB 10,13,'WELCOME TO ELECTRONICS WORLD$'
MSG3 DB 10,13,'INCORRECT PASSWORD $
INST DB 10 DUP(0)

DOWN:MOV BX,00
MOV CX,LEN
CODE SEGMENT
ASSUME CS:CODE,DS:DATA CHECK:MOV AL,[INST+BX]
MOV DL,[PASSWORD+BX]
START:MOV AX,DATA
CMP AL,DL
MOV DS,AX
JNE FAIL
LEA DX,MSG1
INC BX
MOV AH,09H
LOOP CHECK
INT 21H
LEA DX,MSG2
MOV SI,00
MOV AH,09H
UP1:
MOV AH,08H
INT 21H
INT 21H
JMP FINISH
CMP AL,0DH
FAIL:LEA DX,MSG3
JE DOWN
MOV AH,009H
MOV [INST+SI],AL
INT 21H
MOV DL,'*'
FINISH:INT 3
MOV AH,02H
CODE ENDS
INT 21H
END START
I
NC SI
END
JMP UP1

GET SYSTEM DATE - AH = 2Ah /INT


21H
Return: CX = year (1980-2099) DH =
month DL = day AL = day of week
(00h=Sunday)
7DFh= 2015d

23.15,15.15

You might also like