indirect far jmp - calling old INT problem (Developers)
> This way, you're not passing the returned CF (Carry Flag) back to the
> caller, leaving theirs in their saved FL word unmodified instead. Here's
Aha, it was too late yesterday :)
> some code that would return it correctly, it goes right before your iret
> instruction and needs to be entered with the CF that you want to return:
> 
>         push bp> mov bp, sp
> rcr byte [bp+6], 1      ; flip
> rol byte [bp+6], 1      ; flop
> pop bp
> 
> Understanding what this does is left as an exercise to the reader ;)
Hm some magic with rotating saved flags on stack through carry... It works fine now. Anyway with this code it's still 3 bytes longer than my old method with placing FAR JMP byte opcode before saved vector and jumping on that...
EDIT:
I got some idea how to pass original int 13 flags:
        INT     OLD_INT13H      ;call old INT 13h handler / zavolej puvodni preruseni INT 13h
pushf
pop dx
add sp,6
push dx
sub sp,4
        IRET                    ;and return to caller program / a predej rizeni zpet volajicimu programu
but there's issue that ADD instruction also affect flags. so I temporarly use DX to save them and it works. But I must preserve DX too. To be continued...
---
DOS gives me freedom to unlimited HW access.
Complete thread:
- indirect far jmp in NASM - RayeR, 10.05.2012, 10:46 ![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
 Board view
Board view Mix view
Mix view
