Created
November 1, 2022 11:28
-
-
Save b14ck0ps/d77ceaa1bb4633c86327c7ec740abeba to your computer and use it in GitHub Desktop.
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
;////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