Schreibe eine Procedur SET, welche den Interrupt-Vektor des INT BAh, ohne Verwendung eines Interrupts, auf eine Procedur NEW umleitet. Erkläre ausführlich deine Vorgehensweise. Kommentiere die einzelnen Assemblerbefehle.
IVECT proc
mov AX, 0h
mov DS, AX ; Segment 0 auswählen
mov BX, 2E8h ; 4* BAh=2E8h
; Adr. des Interrupt-Vectors BAh
mov DI, word ptr[BX] ; Offset LB+HB ins DI speichern
mov word ptr[BX], OFFSET NEW ; Offset NEW nach Adr. in BX schreiben. ; CS erhält Segmentadresse von Uhr
mov ES, word ptr[BX+2] ; Segement LB+HB ins ES speichern
mov word ptr[BX+2], CS ; Segmentadresse von NEW schreiben
RET
IVECT endp
-----------------------------------
warum muss ich offset lb und hb ins DI speichern, und warum in ES?
versteh eigentlich fast garnix von der proc..
wäre nett wenn einer mir sie erklären könnte
IVECT proc
mov AX, 0h
mov DS, AX ; Segment 0 auswählen
mov BX, 2E8h ; 4* BAh=2E8h
; Adr. des Interrupt-Vectors BAh
mov DI, word ptr[BX] ; Offset LB+HB ins DI speichern
mov word ptr[BX], OFFSET NEW ; Offset NEW nach Adr. in BX schreiben. ; CS erhält Segmentadresse von Uhr
mov ES, word ptr[BX+2] ; Segement LB+HB ins ES speichern
mov word ptr[BX+2], CS ; Segmentadresse von NEW schreiben
RET
IVECT endp
-----------------------------------
warum muss ich offset lb und hb ins DI speichern, und warum in ES?
versteh eigentlich fast garnix von der proc..
wäre nett wenn einer mir sie erklären könnte