- •Лабораторна робота №4 Процедури та макроси
- •4.1 Результати виконання роботи
- •4.1.1 Лістинг файлу “mult_4.Lst”
- •4.1.2 Лістинг файлу “my_prog.Lst” програми, що задана на самостійну роботу
- •1 0000 .Model small
- •3 0000 .Data
- •38 0198 .Code
- •61 Endm; кінець макросу
- •116 Endm; кінець макросу
- •135 0077 Repeat:
- •182 End StartProg
- •4.1.3 Результати роботи програми “mult_4.Exe”
- •4.1.4 Результати роботи програми “my_prog.Exe”
116 Endm; кінець макросу
117
118 005C StartProg:
119 005C B8 0000s mov ax, @data
120 005F 8E D8 mov ds, ax
121
122 0061 B4 00 mov ah, 0
123 0063 B0 03 mov al, 3
124 0065 CD 10 int 10h; установка режиму
125
126 0067 B4 07 mov ah, 7
127 0069 B0 00 mov al, 0
128 006B B7 07 mov bh, 07h
129 006D B5 00 mov ch, 0
130 006F B1 00 mov cl, 0
131 0071 B6 18 mov dh, 24
132 0073 B2 4F mov dl, 79
133 0075 CD 10 int 10h; виконання очистки всього екрану
134
135 0077 Repeat:
136 0077 E8 FF86 call VivMenu; виведення меню
137 007A B4 08 mov ah, 08h
138 007C CD 21 int 21h
139 007E 3C 31 cmp al, '1'
140 0080 74 0E je rmk
141 0082 3C 32 cmp al, '2'
142 0084 74 1E je txt
143 0086 3C 33 cmp al, '3'
144 0088 74 1F je clr
145 008A 3C 34 cmp al, '4'
146 008C 74 2D je endprog
147 008E EB E7 jmp repeat
148
149 0090 rmk:
150 VivRamka; виведення рамки
1 151 0090 B4 02 mov ah, 2
1 152 0092 BB 0000 mov bx, 0
1 153 0095 B6 06 mov dh, 6
1 154 0097 B2 00 mov dl, 0
1 155 0099 CD 10 int 10h; виконання позиціювання курсора
1 156
1 157 009B B4 09 mov ah, 9
1 158 009D BA 00A2r mov dx, offset ramka
1 159 00A0 CD 21 int 21h; виконання виведення
160 00A2 EB D3 jmp repeat
161
162 00A4 txt:
163 00A4 E8 FF6C call VivText; виведення тексту рамки
164 00A7 EB CE jmp repeat
165
166 00A9 clr:
167 ClearForm; очистка рамки
1 168 00A9 B4 06 mov ah, 6
1 169 00AB B0 07 mov al, 7
1 170 00AD B7 07 mov bh, 07h
1 171 00AF B5 06 mov ch, 6
Turbo Assembler Version 4.1 09/11/11 00:01:15 Page 4
MY_PROG.ASM
1 172 00B1 B1 00 mov cl, 0
1 173 00B3 B6 0B mov dh, 11
1 174 00B5 B2 20 mov dl, 32
1 175 00B7 CD 10 int 10h; виконання очистки
176 00B9 EB BC jmp repeat
177
178 00BB endprog:
179 00BB B4 4C mov ah, 4Ch
180 00BD CD 21 int 21h; вихід в ДОС
181
182 End StartProg
Turbo Assembler Version 4.1 09/11/11 00:01:15 Page 5
Symbol Table
Symbol Name Type Value
??DATE Text "09/11/11"
??FILENAME Text "MY_PROG "
??TIME Text "00:01:15"
??VERSION Number 040A
@32BIT Text 0
@CODE Text _TEXT
@CODESIZE Text 0
@CPU Text 0101H
@CURSEG Text _TEXT
@DATA Text DGROUP
@DATASIZE Text 0
@FILENAME Text MY_PROG
@INTERFACE Text 000H
@MODEL Text 2
@STACK Text DGROUP
@WORDSIZE Text 2
CLR Near _TEXT:00A9
ENDPROG Near _TEXT:00BB
LINE1 Byte DGROUP:0046
LINE2 Byte DGROUP:005C
LINE3 Byte DGROUP:0077
LINE4 Byte DGROUP:0094
MENU Byte DGROUP:0000
RAMKA Byte DGROUP:00A2
REPEAT Near _TEXT:0077
RMK Near _TEXT:0090
STARTPROG Near _TEXT:005C
TXT Near _TEXT:00A4
VIVMENU Near _TEXT:0000
VIVTEXT Near _TEXT:0013
Macro Name
CLEARFORM
VIVRAMKA
Groups & Segments Bit Size Align Combine Class
DGROUP Group
STACK 16 0100 Para Stack STACK
_DATA 16 0198 Word Public DATA
_TEXT 16 00BF Word Public CODE