Skip to content

Instantly share code, notes, and snippets.

@b14ck0ps
Created November 1, 2022 11:28
Show Gist options
  • Save b14ck0ps/d77ceaa1bb4633c86327c7ec740abeba to your computer and use it in GitHub Desktop.
Save b14ck0ps/d77ceaa1bb4633c86327c7ec740abeba to your computer and use it in GitHub Desktop.
;////MID====================================
.MODEL SMALL
.STACK 100H
.DATA
B1 DB 'ENTER A CHARACTER$ :'
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
LEA DX, B1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
MOV AH,2
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
MOV DL,AL
MOV AH, 2
INT 21H
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
;=======================================
.MODEL SMALL
.STACK 100H
.DATA
B1 DB 'Enter A charater $'
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
LEA DX, B1
MOV AH,9
INT 21H
MOV AH, 1
INT 21H
MOV BL, AL
MOV AH, 2
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
MOV DL,BL
MOV AH, 2
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;-----------------------------
.MODEL SMALL
.STACK 100H
.DATA
B1 DB 'ENTER A CHARACTER : $'
B2 DB 'YOUR CHARACTER IS $'
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
LEA DX, B1
MOV AH,9
INT 21H
MOV AH,1
INT 21H
MOV BL, AL
MOV AH,2
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
;custom msg print
MOV AH,9
LEA DX, B2
INT 21H
MOV DL,BL
MOV AH, 2
INT 21H
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
;===========find vowel, constant, number, zero, special char ==============
.MODEL SMALL
.STACK 100h
.DATA
msg1 db 0ah,0dh, "vowel$"
msg2 db 0ah,0dh, "consonent$"
msg3 db 0ah,0dh, "number$"
msg4 db 0ah,0dh, "special char$"
msg5 db 0ah,0dh, "zero$"
.CODE
MAIN PROC
mov ax,@data
mov ds,ax
mov ah,1
int 21h
mov bl,al
cmp bl,61h
jge alphabetCHECK
JL other
alphabetCHECK:
cmp bl,7ah
jLe alphabet
alphabet:
cmp bl,61h
jE vowel
cmp bl,'e'
jE vowel
cmp bl,'i'
jE vowel
cmp bl,'o'
jE vowel
cmp bl,'u'
jE vowel
mov ah,9
lea dx,msg2
int 21h
jmp exit
jmp other
vowel:
mov ah,9
lea dx,msg1
int 21h
jmp exit
other:
cmp bl,31h
JGE numbercheck
cmp bl,30h
jE zero
JL specialchar
numbercheck:
cmp bl,39h
JLE number
JG specialchar
number:
mov ah,9
lea dx,msg3
int 21h
jmp exit
zero:
mov ah,9
lea dx,msg5
int 21h
jmp exit
specialchar:
mov ah,9
lea dx,msg4
int 21h
jmp exit
exit:
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
;//////////////////////////////////////////////////////print a message
.MODEL SMALL
.STACK 100H
.DATA
MSG DB 'HELLO! $'
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
PRINT: (unconditional loop)
MOV AH, 9
LEA DX, MSG
INT 21H
MOV AH, 2
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
JMP PRINT
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;//////////////////////////////////////////////////// print all the ascii values
.MODEL SMALL
.STACK 100H
.DATA
.CODE
MAIN PROC
MOV AH, 2
MOV CX, 256
MOV DL, 0
PRINT_LOOP:
INT 21h
INC DL
DEC CX
JNZ PRINT_LOOP
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;////////////////////////////////////////////POSITIVE NUMBER/NEGATIVE NUMBER/ZERO check
.MODEL SMALL
.STACK 100H
.DATA
MSZ1 DW 'POSITIVE NUMBER $'
MSZ2 DW 'NEGATIVE NUMBER $'
MSZ3 DW 'ZERO $'
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
MOV AX, -10 ;CHANGE VALUE HERE
MOV BX, 0
CMP AX, BX
JG GTER
JL LESS
JE ZERO
GTER:
MOV AH,9
LEA DX, MSZ1
INT 21H
JMP EXIT
MOV AH,2
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
LESS:
MOV AH,9
LEA DX, MSZ2
INT 21H
JMP EXIT
MOV AH, 2
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
ZERO:
MOV AH,9
LEA DX, MSZ3
INT 21H
JMP EXIT
MOV AH, 2
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
EXIT:
END MAIN
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;///////////////////////////////////////////////////////////////////LOOP
.MODEL SMALL
.STACK 100H
.DATA
.CODE
MAIN PROC
MOV AH, 2
MOV DL, 'D'
MOV CX, 100 ;print D defined times
LOOP:
INT 21H
;INC DL
DEC CX
JNZ LOOP
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;////////////////////////////////////////////////////UNCONDITIONAL JUMP Built in(not in syllabus)
INCLUDE 'EMU8086.INC'
.MODEL SMALL
.STACK 100H
.DATA
A DB ?
B DB ?
.CODE
MAIN PROC ; UNCONDITIONAL JUMP
;INFINITE LOOP!!!
START:
PRINTN "HELLO AND WELLCOME"
PRINTN "JIHAD SHAHARIAR JOY"
JMP START
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;////////////////////////////////////////////////////// more printing???!!!
.MODEL SMALL
.STACK 100H
.DATA
NUM DB 49
CHAR DB 'A'
MSG DB "JIHAD SHAHARIAR JOY $"
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
MOV AH, 2
MOV DL, NUM ;print num
INT 21H
;NEW LINE
MOV AH, 2
MOV DL, 0AH
INT 21H
MOV DL, 0DH
INT 21H
MOV DL, CHAR ;print char
INT 21H
MOV AH, 2
MOV DL, 0AH
INT 21H
MOV DL, 0DH
INT 21H
MOV AH, 9
LEA DX, MSG
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;///////////////////////////////////////TAKE INPUT AND PRINT
.MODEL SMALL
.STACK 100H
.DATA
.CODE
MAIN PROC
MOV AH, 1
INT 21H
;TAKE INPUT AND PRINT
MOV AH, 2
MOV DL, AL
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;////////////////////////////////////////////////////////////////////////////TAKING 2 INPUTS AND SHOW ADDITION MAX 9
.MODEL SMALL
.STACK 100H
.DATA
A DB ?
B DB ?
.CODE
MAIN PROC
; TAKING 2 INPUTS AND SHOW ADDITION
;MAX ADDITION UPTO 9
MOV AH, 1
INT 21H
; INSTRUCTION DESTINATION,SOURCE
MOV A, AL
SUB A, 48; A=A-48
INT 21H
MOV B, AL
SUB B, 48; B=B-48
MOV BH, A ;BH=A
ADD BH, B ;BH=BH+B
ADD BH, 48;BH BH+48
MOV AH, 2
MOV DL, 0AH
INT 21H
MOV DL, 0DH
INT 21H
; OUTPUT OF THE SUM A+B
MOV DL,BH
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;////////////////////////////////////////////////////Print A defined times
.MODEL SMALL
.STACK 100H
.DATA
.CODE
MAIN PROC
MOV AH, 2
MOV DL,65 ;EITHER 'CHAR' OR ASCII INPUT
MOV CX,10 ;PRINT A(ascii 65) DEFILED TIMES
LOOP:
INT 21H
DEC CX
JNZ LOOP
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;///////////////////////////////////////PRINT ALL ALPHABETS
.MODEL SMALL
.STACK 100H
.DATA
.CODE
MAIN PROC
MOV AH, 2
MOV DL,65 ;EITHER 'CHAR' OR ASCII INPUT
MOV CX,26 ;PRINT ALL ALPHABETS
;97 for a,,,65 for A
LOOP:
INT 21H
INC DL
DEC CX
JNZ LOOP
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;//////////////////////////////////////////////////PRINT ALL NUMBERS
.MODEL SMALL
.STACK 100H
.DATA
.CODE
MAIN PROC
MOV AH,2
MOV DL, 48 ;48 =0
MOV CX,10
LOOP:
INT 21H
INC DL
DEC CX
JNZ LOOP
MOV AX, 4CH
INT 21H
MAIN ENDP
END MAIN
;/////////////////////////////////////////////////////////////////////XCHANG
.MODEL SMALL
.STACK 100H
.DATA
;XHANGE CODE
.CODE
MAIN PROC
MOV BL, 53 ;5
MOV BH, 55 ;7
;ONLY ASCII 48-57
XCHG BH, BL
MOV AH,2
MOV DL, BL
INT 21H
MOV AH,2
MOV DL, 0AH
INT 21H
MOV DL, 0DH
INT 21H
MOV AH, 2
MOV DL, BH
INT 21H
EXIT:
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
;/////////////////////////////////////////////////CASE changing
.MODEL SMALL
.STACK 100H
.DATA
MSG1 DB 'ENTER A LOWER CASE LETTER : $'
MSG2 DB 0DH, 0AH, 'IN UPPER CASE IT IS:'
CHAR DB ?, '$'
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
MOV AH, 9
LEA DX, MSG1
INT 21H
MOV AH, 1
INT 21H
SUB AL, 20H ;ADD to upper case to lower
MOV CHAR, AL
LEA DX, MSG2
MOV AH, 9
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
;///////////////////////////////////////
;====find vowel, constant, number, zero, special char====2=======
.MODEL SMALL
.STACK 100H
.DATA
D0 DB 'VOWEL$'
D1 DB 'NOT VOWEL$'
D2 DB 'NUMBER$'
D3 DB 'ZERO$'
D4 DB 'SPECIAL CHAR$'
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV AH,1
INT 21H
CMP AL,'A'
JGE LEVEL1
JL OTHER
SCHAR:
MOV AH,9
LEA DX,D4
INT 21H
JMP EXIT
LEVEL1:
CMP AL,7AH
JLE LEVEL2
LEVEL2:
CMP AL,'A'
JE LEVEL3
CMP AL,'E'
JE LEVEL3
CMP AL,'I'
JE LEVEL3
CMP AL,'O'
JE LEVEL3
CMP AL,'U'
JE LEVEL3
JNE LEVEL4
LEVEL4:
MOV AH,9
LEA DX, D1
INT 21H
JMP EXIT
LEVEL3:
MOV AH,9
LEA DX,D0
INT 21H
JMP EXIT
OTHER:
CMP AL,31H
JGE NUMCHECK
CMP AL,30H
JE ZERO
JL SCHAR
ZERO:
MOV AH,9
LEA DX,D3
INT 21H
JMP EXIT
NUMCHECK:
CMP AL,39H
JLE NUMBER
JG SCHAR
NUMBER:
MOV AH,9
LEA DX,D2
INT 21H
JMP EXIT
EXIT:
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
;==================3===========================
.MODEL SMALL
.STACK 100h
.DATA
D1 db 0ah,0dh, "vowel$"
D2 db 0ah,0dh, "consonent$"
D3 db 0ah,0dh, "number$"
D4 db 0ah,0dh, "special char$"
D5 db 0ah,0dh, "zero$"
.CODE
MAIN PROC
mov AX,@DATA
MOV DS,AX
MOV AH,1
INT 21H
CMP AL,'A'
JGE V1
JL OTHER
V1:
CMP AL,'Z'
JLE V2
V2:
CMP AL,'A'
JE V3
CMP AL,'E'
JE V3
CMP AL,'I'
JE V3
CMP AL,'O'
JE V3
CMP AL,'U'
JE V3
JNE V4
V3:
MOV AH,9
LEA DX,D1
INT 21H
JMP EXIT
V4:
MOV AH,9
LEA DX,D2
INT 21H
JMP EXIT
OTHER:
CMP AL,'1'
JGE NUM1
CMP AL,'0'
JE ZERO
JL SPCHAR
NUM1:
CMP AL,'9'
JLE NUM2
JG SPCHAR
NUM2:
MOV AH,9
LEA DX,D3
INT 21H
JMP EXIT
ZERO:
MOV AH,9
LEA DX,D5
INT 21H
JMP EXIT
SPCHAR:
MOV AH,9
LEA DX,D4
INT 21H
JMP EXIT
exit:
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
;=====HEX TO DEC=========================
.MODEL SMALL
.STACK 100H
.DATA
MSG DB 'PLEASE ENTER A HEX DIGIT FROM A-F : $'
MSG2 DB 'THE DECIMAL VALUE IS 1'
C1 DB ?,'$'
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV AH,9
LEA DX,MSG
INT 21H
MOV AH,1
INT 21H
SUB AL,11H
MOV C1,AL
MOV AH ,2
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
MOV AH,9
LEA DX,MSG2
INT 21H
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