
Сообщение от
AFZ
Вот так получают доступ к таблицам устройств. Ну, допустим, таблица $OWNER не особо нужна, но, это всего три лишних команды. А чтобы узнать, допустим, куда назначено устройство DK, надо еще найти в таблице $UNAM2 "DK ", перейти с этим смещением в таблицу $UNAM1 и из нее достать назначение...
Делал такое в своём драйвере AC. Искал назначения SY и DK.
Код:
; Поиск назначения SY
CALL LOGD
SUB R4,R5
SUB #6,R5
MOV @R5,R5
; Поиск назначения DK
CALL LOGD
SUB R4,R5
CMP -(R5),-(R5)
14$: CMP (R5)+,#^RDK
BNE 14$
SUB R4,R5
CMP -(R5),-(R5)
MOV -(R5),R5
LOGD: MOV @#54,R5
ADD 404(R5),R5
MOV R5,R4
1$: CMP (R4)+,#-1
BNE 1$
TST -(R4)
SUB R5,R4
ASR R4
RETURN
- - - Добавлено - - -

Сообщение от
AFZ
Занялся этим делом, и вдруг упёрся. Коллеги, подскажите, плз, как правильно добраться до загруженной копии драйвера устройства из программы? Когда-то я это делал, но, блин, ни фига не помню, и где я нашел материалы по этому, тоже не помню. Помню только, что когда я уточнял это дело, дизасмил кусок какой-то программы, не то RESORC, не то еще что-то...
Так вроде можно с помощью макроса .DSTAT. Можно узнать, установлен ли драйвер, а также загружен он в память или нет. Соответственно и адрес загрузки.