Last active
February 22, 2020 15:12
-
-
Save abue-ammar/4c47fbe808dbdb17eb421b477570a7b0 to your computer and use it in GitHub Desktop.
This file contains hidden or 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 | |
| .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