Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота №4.docx
Скачиваний:
3
Добавлен:
09.12.2018
Размер:
69.19 Кб
Скачать

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