- •Лабораторна робота №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”
38 0198 .Code
39 0000 VivMenu proc; процедура виведення меню
40 0000 B4 02 mov ah, 2
41 0002 BB 0000 mov bx, 0
42 0005 B6 00 mov dh, 0
43 0007 B2 00 mov dl, 0
44 0009 CD 10 int 10h
45 000B B4 09 mov ah, 9
46 000D BA 0000r mov dx, offset menu
47 0010 CD 21 int 21h; виконання виведення
48 0012 C3 ret
49 0013 VivMenu endp; кінець процедури
50
51 VivRamka macro; макрос виведення рамки
52 mov ah, 2
53 mov bx, 0
54 mov dh, 6
55 mov dl, 0
56 int 10h; виконання позиціювання курсора
57
Turbo Assembler Version 4.1 09/11/11 00:01:15 Page 2
MY_PROG.ASM
58 mov ah, 9
59 mov dx, offset ramka
60 int 21h; виконання виведення
61 Endm; кінець макросу
62
63 0013 VivText proc; процедура виведення тексту рамки
64 0013 B4 02 mov ah, 2
65 0015 BB 0000 mov bx, 0
66 0018 B6 07 mov dh, 7
67 001A B2 06 mov dl, 6
68 001C CD 10 int 10h; виконання позиціювання курсора
69
70 001E B4 09 mov ah, 9
71 0020 BA 0046r mov dx, offset line1
72 0023 CD 21 int 21h; виконання виведення
73
74 0025 B4 02 mov ah, 2
75 0027 BB 0000 mov bx, 0
76 002A B6 08 mov dh, 8
77 002C B2 03 mov dl, 3
78 002E CD 10 int 10h; виконання позиціювання курсора
79
80 0030 B4 09 mov ah, 9
81 0032 BA 005Cr mov dx, offset line2
82 0035 CD 21 int 21h; виконання виведення
83
84 0037 B4 02 mov ah, 2
85 0039 BB 0000 mov bx, 0
86 003C B6 0A mov dh, 10
87 003E B2 03 mov dl, 3
88 0040 CD 10 int 10h; виконання позиціювання курсора
89
90 0042 B4 09 mov ah, 9
91 0044 BA 0077r mov dx, offset line3
92 0047 CD 21 int 21h; виконання виведення
93
94 0049 B4 02 mov ah, 2
95 004B BB 0000 mov bx, 0
96 004E B6 0B mov dh, 11
97 0050 B2 0A mov dl, 10
98 0052 CD 10 int 10h; виконання позиціювання курсора
99
100 0054 B4 09 mov ah, 9
101 0056 BA 0094r mov dx, offset line4
102 0059 CD 21 int 21h; виконання виведення
103
104 005B C3 ret
105 005C VivText endp; кінець процедури
106
107 ClearForm macro; макрос очистки рамки
108 mov ah, 6
109 mov al, 7
110 mov bh, 07h
111 mov ch, 6
112 mov cl, 0
113 mov dh, 11
114 mov dl, 32
Turbo Assembler Version 4.1 09/11/11 00:01:15 Page 3
MY_PROG.ASM
115 int 10h; виконання очистки