make sure flags are reset
This commit is contained in:
parent
05a55123ac
commit
48881f7d5a
1 changed files with 12 additions and 2 deletions
|
@ -28,13 +28,16 @@ psw_store_retrieve_fail:
|
||||||
CALL print_start
|
CALL print_start
|
||||||
RET
|
RET
|
||||||
|
|
||||||
psw_flags_trigger:
|
clear_flags:
|
||||||
CLC
|
CLC
|
||||||
CLV
|
CLV
|
||||||
CLZ
|
CLZ
|
||||||
CLN
|
CLN
|
||||||
|
RET
|
||||||
|
|
||||||
|
psw_flags_trigger:
|
||||||
; test zero bit
|
; test zero bit
|
||||||
|
CALL clear_flags
|
||||||
MOV #0,R1
|
MOV #0,R1
|
||||||
TST R1
|
TST R1
|
||||||
BEQ psw_trigger_1_next
|
BEQ psw_trigger_1_next
|
||||||
|
@ -43,6 +46,7 @@ psw_flags_trigger:
|
||||||
JMP psw_trigger_fail
|
JMP psw_trigger_fail
|
||||||
|
|
||||||
psw_trigger_1_next:
|
psw_trigger_1_next:
|
||||||
|
CALL clear_flags
|
||||||
MOV #128.,R1
|
MOV #128.,R1
|
||||||
TST R1
|
TST R1
|
||||||
BNE psw_trigger_2_next
|
BNE psw_trigger_2_next
|
||||||
|
@ -50,7 +54,7 @@ psw_trigger_1_next:
|
||||||
JMP psw_trigger_fail
|
JMP psw_trigger_fail
|
||||||
|
|
||||||
psw_trigger_2_next:
|
psw_trigger_2_next:
|
||||||
|
CALL clear_flags
|
||||||
; test overflow bit (overflow)
|
; test overflow bit (overflow)
|
||||||
MOV #127.,R1
|
MOV #127.,R1
|
||||||
INCB R1
|
INCB R1
|
||||||
|
@ -60,6 +64,7 @@ psw_trigger_2_next:
|
||||||
|
|
||||||
; test overflow bit (underflow)
|
; test overflow bit (underflow)
|
||||||
psw_trigger_3_next:
|
psw_trigger_3_next:
|
||||||
|
CALL clear_flags
|
||||||
MOV #-128.,R1
|
MOV #-128.,R1
|
||||||
DECB R1
|
DECB R1
|
||||||
BVS psw_trigger_4_next
|
BVS psw_trigger_4_next
|
||||||
|
@ -67,6 +72,7 @@ psw_trigger_3_next:
|
||||||
JMP psw_trigger_fail
|
JMP psw_trigger_fail
|
||||||
|
|
||||||
psw_trigger_4_next:
|
psw_trigger_4_next:
|
||||||
|
CALL clear_flags
|
||||||
; test minus bit
|
; test minus bit
|
||||||
MOV #127.,R1
|
MOV #127.,R1
|
||||||
INCB R1
|
INCB R1
|
||||||
|
@ -75,6 +81,7 @@ psw_trigger_4_next:
|
||||||
JMP psw_trigger_fail
|
JMP psw_trigger_fail
|
||||||
|
|
||||||
psw_trigger_5_next:
|
psw_trigger_5_next:
|
||||||
|
CALL clear_flags
|
||||||
MOV #128.,R1
|
MOV #128.,R1
|
||||||
DECB R1
|
DECB R1
|
||||||
BPL psw_trigger_6_next
|
BPL psw_trigger_6_next
|
||||||
|
@ -82,6 +89,7 @@ psw_trigger_5_next:
|
||||||
JMP psw_trigger_fail
|
JMP psw_trigger_fail
|
||||||
|
|
||||||
psw_trigger_6_next:
|
psw_trigger_6_next:
|
||||||
|
CALL clear_flags
|
||||||
; carry flag test
|
; carry flag test
|
||||||
MOV #128.,R1
|
MOV #128.,R1
|
||||||
ASLB R1
|
ASLB R1
|
||||||
|
@ -90,6 +98,7 @@ psw_trigger_6_next:
|
||||||
JMP psw_trigger_fail
|
JMP psw_trigger_fail
|
||||||
|
|
||||||
psw_trigger_7_next:
|
psw_trigger_7_next:
|
||||||
|
CALL clear_flags
|
||||||
MOV #64.,R1
|
MOV #64.,R1
|
||||||
ASLB R1
|
ASLB R1
|
||||||
BCC psw_trigger_8_next
|
BCC psw_trigger_8_next
|
||||||
|
@ -100,6 +109,7 @@ psw_trigger_8_next:
|
||||||
RET
|
RET
|
||||||
|
|
||||||
psw_trigger_fail:
|
psw_trigger_fail:
|
||||||
|
CALL clear_flags
|
||||||
; emit test number
|
; emit test number
|
||||||
MOV R2,R0
|
MOV R2,R0
|
||||||
CALL print_binary
|
CALL print_binary
|
||||||
|
|
Loading…
Add table
Reference in a new issue