4

The memory address in the Interrupt Vector Table of an 8086 associated with INT13H should be:

13H * 4H = 4CH

But a book I was referring to says that:

The physical address of the memory location where address of the ISR is stored can be calculated by multiplying four to the type of interrupt and then converting it in hexadecimal.

According to them, physical Address of INT13H is 34H ( 13*4 = 52 )

I still think that 4CH is the address, and not 34H.

  • 1
    Is the interrupt 13H or 13 decimal? – Foon Jun 16 '20 at 13:50
  • The interrupt is 13H. – Fabhi Jun 16 '20 at 13:53
9

The physical address in the IVT associated with INT31H should be: 13H * 4H = 4CH

True

But a book I was referring to says that [...]

According to them, Physical Address of INT13H is 34H ( 13*4 = 52 )

Not true, but read close:

enter image description here

But the point is the number system used in the given solution. They use int 13, i.e. 13 decimal, not int 13h. So 13 * 4 -> 52 -> 34h is a valid solution. It just misses the question.

So given, it's a bit confusing, as the book contains a slight mishap by providing a mismatched solution by solving for 13 instead of 13h.

Bottom line: Always read as written, not as assumed.

  • 4
    Good answer. I wouldn't describe the book's answer as a slight mishap--it's an out-and-out error. The formula is correct, and correctly applied to the input of 13D, but the input and therefore the output are erroneous. – Wayne Conrad Jun 16 '20 at 14:42
  • 1
    @WayneConrad :) I tried to be friendly - especially since I quite well know how such discrepancies can sneak in during proof read. The point here is that neither the input nor the calculation, as assumed, is wrong, but it simply mismatches the question - that is, each (question, solution) is valid, just not matching. A fact that is obvious when reading the text in full. – Raffzahn Jun 16 '20 at 14:49
  • 2
    The book would have been clear if it had said that 13H is 19 decimal, then proceeded to multiply 19 decimal by 4 (yielding 76), and then converted that to hex (4C). – supercat Jun 16 '20 at 14:52
  • 2
    I think it simply happened during proofreading and editing. My bet would be that it originally did read INT 13 and INT 8 in the question as well. – Raffzahn Jun 16 '20 at 14:54
  • The first line is the solution threw me off, where they said that you multiply four to the type of interrupt to obtain the address. But thank you, huge help! – Fabhi Jun 16 '20 at 21:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.