Анализ технического задания. Составление карты распределения адресного пространства. Модуль управления и индикации CPAN, страница 25

170                                   ;а) включить на ПУ аварийную сигнализацию;

171                                   ;б) выдать на индикацию  значения  сигналов Х1,...,X4 и цифровой код Q4;

172                                   ;в) перевести МПС в состояние ожидания.

173                                   ;Выход МПС из состояния ожидания обеспечивается сигналом СБРОС.

174                                   ;-------------------------------------------------------------------175 40C8                         IRQ0:

176 40C8  FA                        cli              ;Запрещение прерывания.

177                                   ;Выдать на индикацию значения сигналов Х1,Х2,Х3,Х4

178                                   ;и цифровой код Q4.

179 40C9  E8 0026                   call Output

180 40CC                         met1:

181 40CC  B0 08                     mov al,00001000b

182 40CE  E6 52                     out [52h],al

183 40D0  B3 02                     mov bl,2

184 40D2                         met2:

185 40D2  B9 FFFF                   mov cx,0ffffh

186 40D5  51                        push cx

187 40D6  E8 0062                   call DELAY

188 40D9  59                        pop cx

189 40DA  51                        push cx

190 40DB  E8 005D                   call DELAY

191 40DE  59                        pop cx

192 40DF  E8 0059                   call DELAY

193 40E2  B9 0D43                   mov cx,3395

194 40E5  E8 0053                   call DELAY

195 40E8  FE CB                     dec bl

196 40EA  74 E0                     jz met1

197 40EC  32 C0                     xor al,al

198 40EE  E6 52                     out [52h],al

199 40F0  EB E0                     jmp met2

200                                   ;Преобразование цифрового кода Q4 из AL для вывода на        индикатор.

201 40F2                         Output:

202                                   ;-------------------------------------------------------------------203                                   ;Подпрограмма преобразования кода Q4 в десятичный вид и  вывод

204                                   ;его на индикаторы, а также вывод значений входных сигналов X1...X4

205                                   ;

206                                   ;(код Q4 хранится в ячейке [q4]

207                                   ;сигналы X1...X4 хранятся в ячейке [x1234])

208                                   ;-------------------------------------------------------------------209 40F2  A0 0304r                  mov al,[q4]

210 40F5  BB 412Br                  mov bx,offset CONVERTOR_TABLE

211 40F8  32 E4                     xor ah,ah

212 40FA  B1 64                     mov cl,100

213                                   ;1-ая цифра

214 40FC  8B D0                     mov dx,ax

215 40FE  F6 F1                     div cl       ; в ax помещаем результат       от деления dx на cl

216 4100  50                        push ax

217 4101  B0 90                     mov al,byte ptr 10010000b

218 4103  E6 49                     out [49h],al ;инициализация контроллера

219                                   ;дисплея для вывода Q4

220                                   ;преобразование числа для представления его на индикаторе

221 4105  58                        pop ax

222 4106  D7                        xlat  ; в al помещается байт, находящийся по адресу [bx+al]

223 4107  E6 48                     out [48h],al

224                                   ;2-ая цифра

225 4109  F6 E1                     mul cl

226 410B  2B D0                     sub dx,ax

227 410D  8B C2                     mov ax,dx

228 410F  B1 0A                     mov cl,10

229 4111  F6 F1                     div cl

230 4113  D7                        xlat

231 4114  E6 48                     out [48h],al

232                                   ;3-я цифра