ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/AmigaOS/asm_support.asm
(Generate patch)

Comparing BasiliskII/src/AmigaOS/asm_support.asm (file contents):
Revision 1.5 by jlachmann, 2000-08-20T14:08:41Z vs.
Revision 1.6 by cebix, 2000-10-11T17:55:05Z

# Line 185 | Line 185 | _ExceptionHandlerAsm
185                  pea     1$
186                  move.w  _EmulatedSR,d0
187                  move.w  d0,-(sp)
188 <                or.w    #$0100,d0               ;Set interrupt level in SR
188 >                or.w    #$2100,d0               ;Set interrupt level in SR, enter (virtual) supervisor mode
189                  move.w  d0,_EmulatedSR
190                  move.l  $64.w,-(sp)             ;Jump to MacOS interrupt handler
191                  rts
# Line 474 | Line 474 | doprivviol     move.l  d0,(sp)                 ;Save d0
474                  cmp.w   #$40d0,d0               ;move sr,(a0)?
475                  beq     movefromsra0
476                  cmp.w   #$40d7,d0               ;move sr,(sp)?
477 <                beq     movefromsrsp    ;+++jl+++
477 >                beq     movefromsrsp
478  
479                  cmp.w   #$f327,d0               ;fsave -(sp)?
480                  beq     fsavepush
# Line 889 | Line 889 | movecfromcr    move.w  ([6,sp],2),d0           ;Get n
889                  beq.s   movectcd0
890                  cmp.w   #$1003,d0               ;movec tc,d1?
891                  beq.s   movectcd1
892 <                cmp.w   #$1000,d0               ;movec SFC,d1?
892 >                cmp.w   #$1000,d0               ;movec sfc,d1?
893                  beq     movecsfcd1
894 <                cmp.w   #$1001,d0               ;movec DFC,d1?
894 >                cmp.w   #$1001,d0               ;movec dfc,d1?
895                  beq     movecdfcd1
896 <                cmp.w   #$0806,d0               ;movec URP,d0?
896 >                cmp.w   #$0806,d0               ;movec urp,d0?
897                  beq     movecurpd0
898 <                cmp.w   #$0807,d0               ;movec SRP,d0?
898 >                cmp.w   #$0807,d0               ;movec srp,d0?
899                  beq.s   movecsrpd0
900 <                cmp.w   #$0004,d0               ;movec ITT0,d0
900 >                cmp.w   #$0004,d0               ;movec itt0,d0
901                  beq.s   movecitt0d0
902 <                cmp.w   #$0005,d0               ;movec ITT1,d0
902 >                cmp.w   #$0005,d0               ;movec itt1,d0
903                  beq.s   movecitt1d0
904 <                cmp.w   #$0006,d0               ;movec DTT0,d0
904 >                cmp.w   #$0006,d0               ;movec dtt0,d0
905                  beq.s   movecdtt0d0
906 <                cmp.w   #$0007,d0               ;movec DTT1,d0
906 >                cmp.w   #$0007,d0               ;movec dtt1,d0
907                  beq.s   movecdtt1d0
908  
909                  bra     pv_unhandled
# Line 950 | Line 950 | movectcd1      move.l  (sp)+,d0                ;Restore d0
950                  addq.l  #4,2(sp)
951                  rte
952  
953 < ; movec SFC,d1  +jl+
953 > ; movec sfc,d1  +jl+
954   movecsfcd1:     move.l  (sp)+,d0                ;Restore d0
955 <                moveq   #0,d1                   ;MMU is always off
955 >                moveq   #0,d1
956                  addq.l  #4,2(sp)
957                  rte
958  
959 < ; movec DFC,d1  +jl+
959 > ; movec dfc,d1  +jl+
960   movecdfcd1:     move.l  (sp)+,d0                ;Restore d0
961 <                moveq   #0,d1                   ;MMU is always off
961 >                moveq   #0,d1
962                  addq.l  #4,2(sp)
963                  rte
964  
965 < movecurpd0:             ; movec URP,d0  +jl+
966 < movecsrpd0:             ; movec SRP,d0
967 < movecitt0d0:            ; movec ITT0,d0
968 < movecitt1d0:            ; movec ITT1,d0
969 < movecdtt0d0:            ; movec DTT0,d0
970 < movecdtt1d0:            ; movec DTT1,d0
965 > movecurpd0:             ; movec urp,d0  +jl+
966 > movecsrpd0:             ; movec srp,d0
967 > movecitt0d0:            ; movec itt0,d0
968 > movecitt1d0:            ; movec itt1,d0
969 > movecdtt0d0:            ; movec dtt0,d0
970 > movecdtt1d0:            ; movec dtt1,d0
971                  addq.l  #4,sp
972                  moveq.l #0,d0                   ;MMU is always off
973                  addq.l  #4,2(sp)                ;skip instruction
# Line 984 | Line 984 | movectocr      move.w  ([6,sp],2),d0           ;Get nex
984                  beq.s   movectocacr
985                  cmp.w   #$1002,d0               ;movec d1,cacr?
986                  beq.s   movectocacr
987 <                cmp.w   #$1000,d0               ;movec d1,SFC?
987 >                cmp.w   #$1000,d0               ;movec d1,sfc?
988                  beq.s   movectoxfc
989 <                cmp.w   #$1001,d0               ;movec d1,DFC?
989 >                cmp.w   #$1001,d0               ;movec d1,dfc?
990                  beq.s   movectoxfc
991  
992                  bra     pv_unhandled
# Line 1005 | Line 1005 | movectocacr    movem.l d1/a0-a1/a6,-(sp)       ;M
1005                  addq.l  #4,2(sp)
1006                  rte
1007  
1008 < ; movec x,SFC
1009 < ; movec x,DFC
1008 > ; movec x,sfc
1009 > ; movec x,dfc
1010   movectoxfc      move.l  (sp)+,d0                ;Ignore moves to SFC, DFC
1011                  addq.l  #4,2(sp)
1012                  rte

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines