-
Notifications
You must be signed in to change notification settings - Fork 0
/
TLINK.LST
116 lines (102 loc) · 3.79 KB
/
TLINK.LST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
Turbo Assembler Version 3.1 04/07/20 09:43:33 Page 1
LINETEST.ASM
1 .286
2 0000 .model tiny
3 0000 .code
4 org 100h
5 0100 start:
6
7 0100 0032 x dw 50
8 0102 0046 y dw 70
9 0104 003C n dw 60
10 0106 DC color db 220
11
12 0107 B4 0F mov ah,0Fh ;çàïîìíèòü âèäåîðåæèì
13 0109 CD 10 int 10h
14 010B A2 0121r mov videor,al
15
16 010E B8 0013 mov ax,13h
17 0111 CD 10 int 10h;óñòàíîâèëè âèäåîðåæèì 256x320x200
18
19 0113 E8 000D call LineDraw ;ðèñóåì ëèíèþ
20
21 0116 B4 00 mov ah,0 ;æäåì íàæàòèÿ íà êëàâèøó
22 0118 CD 16 int 16h
23
24 011A A1 0121r mov ax,word ptr videor ;âîññòàíîâèòü âèäåîðåæèì
25 011D CD 10 int 10h
26
27 011F CD 20 int 20h ;âûõîä èç ïðîãðàììû
28 0121 00 00 videor db 0,0
29
30 0123 LineDraw proc
31 ;ïðåäâàðèòåëüíûå óñòàíîâêè
32 0123 68 A000 PUSH 0A000h
33 0126 07 POP ES; ïîçèöèîíèðóåì ES íà îáëàñòü âèäåîïàìÿòè
34 0127 8B 3E 0100r MOV DI,X ; â DI êîîðäèíàòû íà÷àëüíîé òî÷êè ïî X
35 012B B8 0140 MOV AX,320; äëèíà ñòðîêè ýêðàíà
36 012E F7 26 0102r MUL Y; óìíîæàåì íà Y
37 0132 03 F8 ADD DI,AX; è ñêëàäûâàåì ñ X
38 0134 A0 0106r MOV AL,COLOR; öâåò ëèíèè
39
40 ; ðèñóåì ãîðèçîíòàëüíóþ ëèíèþ
41 0137 8B 0E 0104r MOV CX,N; äëèíà ëèíèè
42 013B F3> AA REP STOSB
43
44 ;Âåðòèêàëüíóþ ëèíèþ îáû÷íî ðèñóþò öèêëîì
45 013D 8B 0E 0104r MOV CX,N; äëèíà ëèíèè
46 0141 26: 88 05 A1: MOV ES:[DI],AL; ðèñóåì òî÷êó íà ñòðîêå
47 0144 81 C7 0140 ADD DI,320; ïåðåõîä íà ñëåäóþùóþ ñòðîêó
48 0148 E2 F7 LOOP A1
49
50 ;äèàãîíàëüíóþ ëèíèþ ñ íàêëîíîì âëåâî ìîæíî íàðèñîâàòü öèêëîì
51 014A 8B 0E 0104r MOV CX,N; äëèíà ëèíèè
52 014E 26: 88 05 A2: MOV ES:[DI],AL; ðèñóåì òî÷êó íà ñòðîêå
53 0151 81 C7 013F ADD DI,319; ïåðåõîä íà ñëåäóþùóþ ñòðîêó
54 0155 E2 F7 LOOP A2
55
56 ;äèàãîíàëüíóþ ëèíèþ ñ íàêëîíîì âïðàâî — öèêëîì
57 0157 8B 0E 0104r MOV CX,N; äëèíà ëèíèè
Turbo Assembler Version 3.1 04/07/20 09:43:33 Page 2
LINETEST.ASM
58 015B 26: 88 05 A3: MOV ES:[DI],AL; ðèñóåì òî÷êó íà ñòðîêå
59 015E 81 C7 0141 ADD DI,321; ïåðåõîä íà ñëåäóþùóþ ñòðîêó
60 0162 E2 F7 LOOP A3
61
62 0164 C3 ret
63 0165 LineDraw endp
64
65 end start
Turbo Assembler Version 3.1 04/07/20 09:43:33 Page 3
Symbol Table
Symbol Name Type Value Cref (defined at #)
??DATE Text "04/07/20"
??FILENAME Text "LINETEST"
??TIME Text "09:43:33"
??VERSION Number 030A
@32BIT Text 0 #2
@CODE Text DGROUP #2
@CODESIZE Text 0 #2
@CPU Text 0707H #1
@CURSEG Text _TEXT #3
@DATA Text DGROUP #2
@DATASIZE Text 0 #2
@FILENAME Text LINETEST
@INTERFACE Text 00H #2
@MODEL Text 1 #2
@STACK Text DGROUP #2
@WORDSIZE Text 2 #1 #3
A1 Near DGROUP:0141 #46 48
A2 Near DGROUP:014E #52 54
A3 Near DGROUP:015B #58 60
COLOR Byte DGROUP:0106 #10 38
LINEDRAW Near DGROUP:0123 19 #30
N Word DGROUP:0104 #9 41 45 51 57
START Near DGROUP:0100 #5 65
VIDEOR Byte DGROUP:0121 14 24 #28
X Word DGROUP:0100 #7 34
Y Word DGROUP:0102 #8 36
Groups & Segments Bit Size Align Combine Class Cref (defined at #)
DGROUP Group #2 2
_DATA 16 0000 Word Public DATA #2
_TEXT 16 0165 Word Public CODE #2 #3