indirect far jmp - calling old INT problem (Developers)
> Hm some magic with rotating saved flags on stack through carry...
Yeah, it rotates the current CF into bit 7 of the caller's flag byte (effectively discarding the original caller's CF saved there, by rotating it into our CF), then rotates just the 8 bits back to put all the flags into the correct locations again, including the returned CF.
> I got some idea how to pass original int 13 flags:
This depends on no interrupts occurring between the add and sub instruction, as it depends on the (unallocated) stack space below ss:sp-> staying unchanged. You might want to at least clear the interrupt flag (right after pushf) to try avoiding that error condition.
And then, like with your other suggestion, this appears to clear the caller's interrupt (and trap) flag, which it shouldn't do either.
> so I temporarly
> use DX to save them and it works. But I must preserve DX too.
Right.
---
l
Complete thread:
- indirect far jmp in NASM - RayeR, 10.05.2012, 10:46 (Developers)
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- indirect far jmp in NASM - RayeR, 10.05.2012, 13:16
- indirect far jmp - ecm, 10.05.2012, 13:26
- indirect far jmp in NASM - Rugxulo, 10.05.2012, 13:26
- indirect far jmp in NASM - RayeR, 10.05.2012, 14:07
- indirect far jmp - ecm, 10.05.2012, 15:17
- indirect far jmp - RayeR, 11.05.2012, 00:47
- indirect far jmp - ecm, 11.05.2012, 12:46
- indirect far jmp - bretjohn, 11.05.2012, 18:53
- indirect far jmp - RayeR, 11.05.2012, 19:31
- indirect far jmp - bretjohn, 11.05.2012, 22:31
- indirect far jmp - ecm, 11.05.2012, 22:33
- indirect far jmp - RayeR, 12.05.2012, 00:33
- indirect far jmp - Arjay, 12.05.2012, 01:07
- indirect far jmp - ecm, 12.05.2012, 01:27
- indirect far jmp - Arjay, 12.05.2012, 11:09
- indirect far jmp - ecm, 12.05.2012, 21:18
- indirect far jmp - Arjay, 12.05.2012, 11:09
- indirect far jmp - RayeR, 12.05.2012, 21:17
- indirect far jmp/call - Chaining Interrupt Service Routines - Arjay, 13.05.2012, 13:16
- indirect far jmp - ecm, 12.05.2012, 01:27
- indirect far jmp - calling old INT problem - RayeR, 13.05.2012, 04:01
- indirect far jmp - calling old INT problem - ecm, 13.05.2012, 04:27
- indirect far jmp - calling old INT problem - RayeR, 13.05.2012, 15:33
- indirect far jmp - calling old INT problem - bretjohn, 13.05.2012, 17:05
- indirect far jmp - calling old INT problem - RayeR, 13.05.2012, 17:15
- indirect far jmp - calling old INT problem - RayeR, 13.05.2012, 19:19
- indirect far jmp - calling old INT problem - Rugxulo, 13.05.2012, 20:02
- indirect far jmp - calling old INT problem - RayeR, 13.05.2012, 20:49
- indirect far jmp - calling old INT problem - ecm, 13.05.2012, 23:49
- indirect far jmp - calling old INT problem - ecm, 13.05.2012, 23:40
- indirect far jmp - calling old INT problem - ecm, 14.05.2012, 00:07
- indirect far jmp - calling old INT problem - RayeR, 14.05.2012, 01:19
- indirect far jmp - calling old INT problem - ecm, 14.05.2012, 00:07
- indirect far jmp - calling old INT problem - Rugxulo, 13.05.2012, 20:02
- indirect far jmp - calling old INT problem - RayeR, 13.05.2012, 19:19
- indirect far jmp - calling old INT problem - RayeR, 13.05.2012, 17:15
- indirect far jmp - calling old INT problem - ecm, 13.05.2012, 23:44
- indirect far jmp - calling old INT problem - bretjohn, 14.05.2012, 18:30
- redundant override in "ss:bp" for clarity - ecm, 14.05.2012, 18:47
- indirect far jmp - calling old INT problem - RayeR, 14.05.2012, 18:50
- indirect far jmp - calling old INT problem - bretjohn, 14.05.2012, 20:16
- indirect far jmp - calling old INT problem - ecm, 14.05.2012, 20:21
- indirect far jmp - calling old INT problem - bretjohn, 14.05.2012, 21:42
- indirect far jmp - calling old INT problem - bretjohn, 15.05.2012, 18:45
- indirect far jmp - calling old INT problem - ecm, 15.05.2012, 18:53
- indirect far jmp - calling old INT problem - bretjohn, 15.05.2012, 20:13
- indirect far jmp - calling old INT problem - RayeR, 17.05.2012, 01:25
- indirect far jmp - calling old INT problem - bretjohn, 15.05.2012, 20:13
- indirect far jmp - calling old INT problem - ecm, 15.05.2012, 18:53
- indirect far jmp - calling old INT problem - bretjohn, 15.05.2012, 18:45
- indirect far jmp - calling old INT problem - bretjohn, 14.05.2012, 21:42
- indirect far jmp - calling old INT problem - ecm, 14.05.2012, 20:21
- indirect far jmp - calling old INT problem - bretjohn, 14.05.2012, 20:16
- indirect far jmp - calling old INT problem - bretjohn, 14.05.2012, 18:30
- indirect far jmp - calling old INT problem - bretjohn, 13.05.2012, 17:05
- indirect far jmp - calling old INT problem - RayeR, 13.05.2012, 15:33
- indirect far jmp - calling old INT problem - ecm, 13.05.2012, 04:27
- indirect far jmp - Arjay, 12.05.2012, 01:07
- indirect far jmp - RayeR, 12.05.2012, 00:33
- indirect far jmp - ecm, 11.05.2012, 22:33
- indirect far jmp - bretjohn, 11.05.2012, 22:31
- indirect far jmp - RayeR, 11.05.2012, 19:31
- indirect far jmp - RayeR, 11.05.2012, 00:47
- indirect far jmp - ecm, 10.05.2012, 15:17
- indirect far jmp in NASM - RayeR, 10.05.2012, 14:07
- indirect far jmp in NASM - RayeR, 10.05.2012, 13:16
Mix view