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

233 4116  F6 E1                     mul cl

234 4118  2B D0                     sub dx,ax

235 411A  8B C2                     mov ax,dx

236 411C  D7                        xlat

237 411D  E6 48                     out [48h],al

238                                   ;запись в 4ю позицию ОЗУ отображения  (на cветодиоды)

239 411F  B0 88                     mov al,byte ptr 10001000b

240 4121  E6 49                     out [49h],al

241 4123  A0 0300r                  mov al,[x1234]

242 4126  34 FF                     xor al,11111111b

243 4128  E6 48                     out [48h],al

244 412A  C3                        ret

245 412B                         CONVERTOR_TABLE:  ; i-й элемент соответствует коду числа i на индикаторах

246 412B  FC 60 DA F2               DB 11111100B,01100000B,11011010B,11110010B

247 412F  66 B6 BE E0               DB 01100110B,10110110B,10111110B,11100000B

248 4133  FE F6 EE 3E               DB 11111110B,11110110B,11101110B,00111110B

249 4137  9C 7A 9E 8E               DB 10011100B,01111010B,10011110B,10001110B

250 413B                         DELAY:     ; Подпрограмма формирует задержку сигналов

251 413B  51                        push cx

252 413C                         m1h:

253 413C  B1 FE                     mov cl,0feh

254 413E                         m1l:         ;задержка на 24 такта

255 413E  90                        nop       ; - 3 такта

256 413F  80 C9 00                  or cl,0   ; - 4 такта

257 4142  FE C9                     dec cl    ; - 2 такта

258 4144  75 F8                     jnz m1l   ; - 16 тактов

259 4146  90                        nop

260 4147  FE CD                     dec ch

261 4149  75 F1                     jnz m1h

262 414B  59                        pop cx

263 414C                         m1:

264 414C  90                        nop

265 414D  80 C9 00                  or cl,0

266 4150  FE C9                     dec cl

267 4152  75 F8                     jnz m1

268 4154  C3                        ret

269                                   ;-------------------------------------------------------------------270                                   ;Обработка IRQ1 - прерывания от источника питания

271                                   ;При обработке прерывания отказа источника питания

272                                   ;МПС должна записать в энергонезависимое ОЗУ текущие значения

273                                   ;содержимого регистров микропроцессора.

274                                   ;Cодержимое регистров записывается в ОЗУ с адреса 0600h

275                                   ;-------------------------------------------------------------------276 4155                         IRQ1:

277 4155  FA                        cli

278                                   ;сохранение содержимого регистров по известному адресу

279 4156  2E: A2 0600               mov cs:[0600h],al;

280 415A  2E: 88 26 0602            mov cs:[0602h],ah;

281 415F  2E: 88 1E 0604            mov cs:[0604h],bl;

282 4164  2E: 88 3E 0606            mov cs:[0606h],bh;

283 4169  2E: 88 0E 0608            mov cs:[0608h],cl;

284 416E  2E: 88 2E 060A            mov cs:[060Ah],ch;

285 4173  2E: 88 16 060C            mov cs:[060Ch],dl;

286 4178  2E: 88 36 060E            mov cs:[060Eh],dh;

287 417D  9C                        pushf

288 417E  58                        pop ax

289 417F  2E: A2 0610               mov cs:[0610h],al;

290 4183  2E: 88 26 0612            mov cs:[0612h],ah;

291 4188  55                        push bp

292 4189  58                        pop ax

293 418A  2E: A2 0614               mov cs:[0614h],al;

294 418E  2E: 88 26 0616            mov cs:[0616h],ah;

295 4193  56                        push si

296 4194  58                        pop ax

297 4195  2E: A2 0618               mov cs:[0618h],al;