Skip to content

Instantly share code, notes, and snippets.

@abue-ammar
Last active February 22, 2020 15:12
Show Gist options
  • Select an option

  • Save abue-ammar/4c47fbe808dbdb17eb421b477570a7b0 to your computer and use it in GitHub Desktop.

Select an option

Save abue-ammar/4c47fbe808dbdb17eb421b477570a7b0 to your computer and use it in GitHub Desktop.
.model small
.stack 100h
.data
.code
main proc
mov ah,1
int 21h
sub al,48
mov cl,al
mov ch,0 ; to use cx as counter
;mov cx,n
;newline
mov ah,2
mov dl,0dh
int 21h
mov dl,0ah
int 21h
mov bx,1
loop1:
push cx
mov dl,32 ;space
mov ah,2
lvl2:
int 21h ; will keep printing space
loop lvl2
mov cx,bx
mov dl,"*"
mov ah,2
loop2:
int 21h
loop loop2
; new line
mov ah,2
mov dl,0dh
int 21h
mov dl,0ah
int 21h
inc bx
pop cx
loop loop1
mov ah,4ch
int 21h
main endp
end main
/////////// input
.model small
.stack 100h
.code
main proc
mov ah,1
int 21h
mov bl,al
mov ah,1
int 21h
mov bh,al
mov ah,2
mov dl,bl
int 21h
mov ah,2
mov dl,bh
int 21h
exit:
mov ah,4ch
int 21h
main endp
end main
///////////
verivable declaear
.model small
.stack 100h
.data
msg db 3
msg1 db ?
.code
main proc
mov ax,@data
mov ds,ax
mov ah,2
add msg,48
mov dl,msg
int 21h
mov ah,1
int 21h
mov msg1,al
;space
mov ah,2
mov dl,10
int 21h
mov dl,13
int 21h
mov ah,2
mov dl,msg1
int 21h
exit:
mov ah,4ch
int 21h
main endp
end main
/////// message print
.model small
.stack 100h
.data
msg db 3
msg1 db 'hello $'
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
lea dx,msg1
int 21h
exit:
mov ah,4ch
int 21h
main endp
end main
///////
/////////////
.model small
.stack 100H
.code
main proc
mov ah,1
int 21h
mov bl,al
mov ah,2
mov dl,bl
int 21h
mov ah, 4ch
int 21h
main endp
end main
// 4 ta input
.model small
.stack 100H
.code
main proc
mov ah,1
int 21h
mov bl,al
int 21h
mov bh,al
int 21h
mov cl,al
int 21h
mov ch,al
mov ah,2
mov dl,bl
int 21h
mov dl,bh
int 21h
mov dl,cl
int 21h
mov dl,ch
int 21h
mov ah,2ch
int 21h
main endp
end main
// add 2 number
.model small
.stack 100H
.code
main proc
mov ah,1
int 21h
mov bl,al
int 21h
mov bh,al
add bl,bh
sub bl,48
mov ah,2
mov dl,bl
int 21h
mov ah,4ch
int 21h
main endp
end main
// substract
.model small
.stack 100H
.code
main proc
mov ah,1
int 21h
mov bl,al
int 21h
mov bh,al
sub bl,bh
add bl,48
mov ah,2
mov dl,bl
int 21h
mov ah,4ch
int 21h
main endp
end main
// newline
.model small
.stack 100H
.code
main proc
mov ah,1
int 21h
mov bl,al
;for new line 5 line
mov ah,2
mov dl,10
int 21h
mov dl,13
int 21h
mov ah,2
mov dl,bl
int 21h
mov ah, 4ch
int 21h
main endp
end main
// inatialize veriable
.model small
.stack 100H
.data
x db 5
y db ?
.code
main proc
mov ax,@data
mov ds,ax
mov ah,1
int 21h
mov y, al
mov ah,2
add x,48
mov dl,x
int 21h
mov dl,y
int 21h
mov ah,4ch
int 21h
main endp
end main
// practice
.MODEL SMALL
.DATA
A DB 'B'
B DB 10B
C DB 10
D DB ?
E DB 'w'
B_ARRAY DB 10H,20H,30H
LETTERS DB 'def'
.STACK 100H
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
; MOV AL,A ;MOV A to AL register
; MOV AH,2
; MOV DL,LETTERS
; INT 21h
; mov ah,2
; MOV DL,leTTERS+2
; INT 21h
mov dl,a
xchg e,dl
mov ah,2
MOV DL,e
INT 21h
mov ah,4ch
int 21h
MAIN ENDP
END MAIN
//
JE/JZ Jump Equal or Jump Zero ZF
JNE/JNZ Jump not Equal or Jump Not Zero ZF
JG/JNLE Jump Greater or Jump Not Less/Equal OF, SF, ZF
JGE/JNL Jump Greater/Equal or Jump Not Less OF, SF
JL/JNGE Jump Less or Jump Not Greater/Equal OF, SF
JLE/JNG Jump Less/Equal or Jump Not Greater OF, SF, ZF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment