ورود

View Full Version : تحلیل و توضیح کد اسمبلی



haricanboy
جمعه 22 آذر 1392, 12:51 عصر
سلام
از اساتید و دوستان لطفاً هر کی بلده کمک کنه خواهشاً...

DATASG SEGMENT DATA 'DATA'

1- x DW ?
2- Y DW ?
3- X1 DW ?
4- Y1 DW ?
4- a DW ?
5- b DW ?
6- j DW 320
DATASG ENDS

7- MOV AX,DATASG
8- MOV DS, AX


9- MOV AH, 0
10- MOV AL, 13H
11- INT 10H
12- PUSH 0A000H
13- POP ES
14- MOV X1, 150 ;mogeyate rasme dayre dar safhe
15- MOV Y1, 100 ;mogeyate rasme dayre dar safhe
16- MOV X, 0;x
17- MOV Y,45 ;r
18- MOV BX, 0;zaveh
19- MOV a, 6
20- MOV b, -90

lop1:CALL Dayerh

21- CMP BX, 0
22- JNS lop3

23- ADD BX, a
24- ADD a, 2
25- ADD b, 2
26- INC X
27- JMP lop2

28- lop3:ADD BX, b
29- ADD a, 2
30- ADD b, 4
31- INC X
32- DEC Y

33- lop2: MOV CX, X
34- CMP CX, Y
35- JB lop1



36- MOV AH,4CH
37- INT 21H



Dayerh PROC NEAR

38- MOV AX, Y1
39- ADD AX, Y
40- MUL j
41- ADD AX, X1
42- ADD AX, X
43- MOV DI, AX
44- MOV BYTE PTR ES:[DI], 05h
45- SUB DI, X
46- SUB DI, X
47- MOV BYTE PTR ES:[DI], 05h
48- MOV AX, Y1
49- SUB AX, Y
50- MUL j
51- ADD AX, X1
52- ADD AX, X
53- MOV DI, AX
54- MOV BYTE PTR ES:[DI], 06h
55- SUB DI, X
56- SUB DI, X
57- MOV BYTE PTR ES:[DI], 06h
58- MOV AX, Y1
59- ADD AX, X
60- MUL j
61- ADD AX, X1
62- ADD AX, Y
63- MOV DI, AX
64- MOV BYTE PTR ES:[DI], 05h
65- SUB DI, Y
66- SUB DI, Y
67- MOV BYTE PTR ES:[DI], 05h
68- MOV AX, Y1
69- SUB AX, X
70- MUL j
71- ADD AX, X1
72- ADD AX, Y
73- MOV DI, AX
74- MOV BYTE PTR ES:[DI], 06h
75- SUB DI, Y
76- SUB DI, Y
77- MOV BYTE PTR ES:[DI], 06h
RET


Dayerh ENDP

لطفا هر کی بلده
این کدها رو برام توضیح بده
اینایی که شماره گذاری کردم