با سلام.این کد شامل ترسیم اشکال هندسی از جمله مربع ،مستطیل،مثلث وخط می باشد. می توانید این کد را کپی کرده و اجراش کنید.اگر مشکلی داشتید متوانید به من ایمیل بزنید.shadmehr_1368_10@yahoo.com
page 110,100
TITLE 'Project.asm'
;--------------------------------------------------------
; 1-Define Stack Segment
; ----------------------
;
STACKSG SEGMENT STACK 'STACK'
DW 32H DUP(0)
STACKSG ENDS
;--------------------------------------------------------
; 2-Define Data Segment
; ---------------------
;
DATASG SEGMENT 'DATA'
;
msg0 db ' welcome ','$'
msg1 db 'press key 1 to Drawing Triangle :','$'
msg2 db 'pres key 2 to Drawing Square','$'
msg3 db 'pres key 3 to Drawing Rectangular:','$'
msg4 db 'pres key 4 to Drawing Line: ','$'
msg5 db 'pres key 5 to Exit : ','$'
msg6 db 'press any key to continue... ','$'
row dw 0
col dw 0
len dw 0
tol dw 0
DATASG ENDS
;---------------------------------------------------------
; 3-Define Code Segment
; ---------------------
;
CODESG SEGMENT 'CODE'
ASSUME SS:STACKSG,DS

ATASG,CS:CODESG
;///////////////////////////////////////////////////
Pixels proc
mov al,2h ;color
mov cx,col
mov dx,row
mov ah, 0ch
int 10h
ret
Pixels endp
;-----------------------------------
cls proc near ;tabe pak kardan safhe
mov ah,0 ;;resolation
mov al,12h
int 10h
ret
cls endp ; cls end
;-----------------------------------------
Triangle proc near
mov ah,0 ;;resolation
mov al,12h
int 10h
mov bx,60
i1: mov col,bx
mov row,bx
call Pixels
inc bx
cmp bx,120
jnz i1
mov bx,60
mov dx,60
i2: mov col,bx
mov row,dx
call Pixels
dec bx
inc dx
cmp bx,0
jnz i2
mov bx,0
i3: mov col,bx
mov row,120
call Pixels
inc bx
cmp bx,120
jnz i3
mov ah,1 ;;getch
int 21H
mov ah, 09h ;display message for option 6
lea dx, msg6
int 21h
mov ah,01h
int 21h
jmp l7
ret
Triangle endp
;-------------------------------
sqr proc near
mov ah,0
mov al,12h
int 10h
mov len,100
mov bx,20
s1:
mov row,bx
mov col,20
call Pixels
inc bx
cmp bx,len
jz s2
jmp s1
s2: mov bx,20
s3:
mov row,20
mov col,bx
call Pixels
inc bx
cmp bx,len
jz s4
jmp s3
s4: mov bx,20
s6:
mov row,99
mov col,bx
call Pixels
inc bx
cmp bx,len
jz s7
jmp s6
s7: mov bx,20
s8:
mov row,bx
mov col,99
call Pixels
inc bx
cmp bx,len
jz s5
jmp s8
s5: mov ah,1
int 21H
mov ah, 09h ;display message for option 6
lea dx, msg6
int 21h
mov ah,01h
int 21h
jmp l7
ret
sqr endp
;---------------------------------
rect proc near
mov ah,0
mov al,12h
int 10h
mov len,100
mov bx,20
r1:
mov row,bx
mov col,20
call Pixels
inc bx
cmp bx,len
jz r2
jmp r1
r2: mov bx,20
r3:
mov row,20
mov col,bx
call Pixels
inc bx
cmp bx,200
jz r4
jmp r3
r4: mov bx,20
r6:
mov row,99
mov col,bx
call Pixels
inc bx
cmp bx,200
jz r7
jmp r6
r7: mov bx,20
r8:
mov row,bx
mov col,199
call Pixels
inc bx
cmp bx,len
jz r5
jmp r8
r5:
mov ah,02h
mov dl,2h
mov dh,2h
mov bh,0h
int 10h
mov ah, 09h ;display message for option 6
lea dx, msg6
int 21h
mov ah,01h
int 21h
jmp l7
ret
endp
;------------------------------
line proc near
mov ah,0
mov al,12h
int 10h
mov bx,20
p1: mov row,10
mov col,bx
inc bx
call Pixels
cmp bx,150
jnz p1
mov ah,1
int 21H
mov ah,09h
lea dx,msg6
int 21h
mov ah,01h
int 21h
jmp l7
ret
endp
;----------------------------
;_______________________________
MAIN PROC FAR
MOV AX,DATASG ;Initialize DS
MOV DS,AX ;Initiall
;_______________________________
;chape menu
l1:
mov ah,02h
mov dl,1h
mov dh,1h
mov bh,0h
;-----------------------
mov ah,09h ;chape welcome
lea dx,msg0
int 21h
;-----------------------
mov ah,02h ;;NAME SERVIS
mov dl,10h ;;SOTONE SAFHE
mov dh,2h ;SATRE SAFHE
mov bh,0h
int 10h
mov ah, 09h ;display message for option 1
lea dx, msg1
int 21h
mov ah,02h ;;NAME SERVIS
mov dl,10h ;;SOTONE SAFHE
mov dh,3h ;;SATRE SAFHE
mov bh,0h
int 10h
mov ah, 09h ;display message for option 2
lea dx, msg2
int 21h
mov ah,02h
mov dl,10h
mov dh,4h
mov bh,0h
int 10h
mov ah, 09h ;display message for option 3
lea dx, msg3
int 21h
mov ah,02h
mov dl,10h
mov dh,5h
mov bh,0h
int 10h
mov ah, 09h ;display message for option 4
lea dx, msg4
int 21h
mov ah,02h
mov dl,10h
mov dh,6h
mov bh,0h
int 10h
mov ah,02h
mov dl,10h
mov dh,08
mov bh,0h
mov ah, 09h ;display message for option 5
lea dx, msg5
int 21h
;---------------------------------
;mogayese adade vared shode
l2: mov ah,1
int 21h
cmp al,'1'
jz l3
cmp al,'2'
jz l4
cmp al,'3'
jz l6
cmp al,'4'
jz l5
cmp al,'5'
jz exit
jmp l1
l3: call Triangle
jmp l1
l4: call sqr
jmp l1
l5: call line
jmp l1
l6:call rect
jmp l1
l7:call cls
jmp l1
;///////////////////////////////////////////////////
exit: MOV AX,4C00H ;End
INT 21H ;
MAIN ENDP ;End Proc
CODESG ENDS ;End of Segment
END MAIN ;End of Program