Чтобы показывало наличие СОМ-портов, нужно прописать флаги в BIOS Equipment Word, что они установлены.
Чтобы показывало наличие СОМ-портов, нужно прописать флаги в BIOS Equipment Word, что они установлены.
Поиск-1, Поиск-2, Парус ВИ-201, Олимпик-С, Электроника МК61
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не думаю. checkit не смотрит туда, по крайней мере для LPT. Так как LPT в моем B108 оно определяет, в то время как BIOS ничего о LPT не знает. Скопипастил детект из PX-XT BIOS:
Итог: not foundКод:.model tiny .code .startup .8086 xor di, di ; COM port(s) at 40:00 (hex) mov dx,offset msg_com1 mov ah,9 int 21h @@com_1: mov dx, 3FBh ; COM #1 line control reg. mov al, 00011010b ; 7 bits, even parity out dx, al ; Reset COM #1 line cont. reg mov al, 11111111b ; noise pattern out 0C0h, al ; Write pattern on data buss in al, dx ; read result from COM #1 cmp al, 00011010b ; Check if serial port exists jnz @@com_2 ; skip if no COM #1 port ;;; mov word ptr di, 3F8h ; Else save port # in BDA mov dx, offset found mov ah,9 int 21h inc di ; potential COM #2 port inc di ; is at 40:02 (hex) jmp at1 @@com_2: mov dx, offset not_found mov ah,9 int 21h at1: mov dx,offset msg_com1 mov ah,9 int 21h mov dx, 2FBh ; COM #2 line control reg mov al, 00011010b ; 7 bits, even parity out dx, al ; Reset COM #2 line cont. reg mov al, 11111111b ; noise pattern out 0C0h, al ; Write pattern on data bus in al, dx ; read results from COM #2 cmp al, 00011010b ; Check if serial port exists jnz @@com_done ; skip if no COM #2 port ;;; mov word ptr di, 2F8h ; Else save port # in BDA mov dx, offset found mov ah,9 int 21h inc di ; total number of serial inc di ; interfaces times two jmp done @@com_done: mov dx, offset not_found mov ah,9 int 21h mov ax, di ; Get serial interface count ;;; or [ds:11h], al ; equipment flag done: int 20h msg_com1 db 'COM1 at 0x3F8: $' msg_com2 db 'COM2 at 0x2F8: $' found db 'found',13,10,'$' not_found db 'not found',13,10,'$' END![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)