| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 
 | # mach: all
# output:
# sim: --environment operating
# as: -W
.include "t-macros.i"
	start
;;; Try out each bit in the PSW
	loadpsw2 PSW_SM
	checkpsw2 1 PSW_SM
	loadpsw2 PSW_01
	checkpsw2 2 0 ;; PSW_01
	loadpsw2 PSW_EA
	checkpsw2 3 PSW_EA
	loadpsw2 PSW_DB
	checkpsw2 4 PSW_DB
	loadpsw2 PSW_DM
	checkpsw2 5 0 ;; PSW_DM
	loadpsw2 PSW_IE
	checkpsw2 6 PSW_IE
	loadpsw2 PSW_RP
	checkpsw2 7 PSW_RP
	loadpsw2 PSW_MD
	checkpsw2 8 PSW_MD
	loadpsw2 PSW_FX|PSW_ST
	checkpsw2 9 PSW_FX|PSW_ST
	;; loadpsw2 PSW_ST
	;; checkpsw2 10
	loadpsw2 PSW_10
	checkpsw2 11 0 ;; PSW_10
	loadpsw2 PSW_11
	checkpsw2 12 0 ;; PSW_11
	loadpsw2 PSW_F0
	checkpsw2 13 PSW_F0
	loadpsw2 PSW_F1
	checkpsw2 14 PSW_F1
	loadpsw2 PSW_14
	checkpsw2 15 0 ;; PSW_14
	loadpsw2 PSW_C
	checkpsw2 16 PSW_C
;;; Check that bit 0 (LSB) of the MOD_E & MOD_S registers are stuck at ZERO.
	ldi	r6, #0xdead
	mvtc	r6, cr10
	ldi	r6, #0xbeef
	mvtc	r6, cr11
	mvfc	r7, cr10
	check 17 r7 0xdeac
	mvfc	r7, cr11
	check 18 r7 0xbeee
;;; Check that certain bits of the PSW, DPSW and BPSW are hardwired to zero
psw_ffff:
	ldi	r6, 0xffff
	mvtc	r6, psw
	mvfc	r7, psw
	check 18 r7 0xb7cd
bpsw_ffff:
	ldi	r6, 0xffff
	mvtc	r6, bpsw
	mvfc	r7, bpsw
	check 18 r7 0xb7cd
dpsw_ffff:
	ldi	r6, 0xffff
	mvtc	r6, dpsw
	mvfc	r7, dpsw
	check 18 r7 0xb7cd
;;; Another check. Very similar
psw_dfff:
	ldi	r6, 0xdfff
	mvtc	r6, psw
	mvfc	r7, psw
	check 18 r7 0x97cd
bpsw_dfff:
	ldi	r6, 0xdfff
	mvtc	r6, bpsw
	mvfc	r7, bpsw
	check 18 r7 0x97cd
dpsw_dfff:
	ldi	r6, 0xdfff
	mvtc	r6, dpsw
	mvfc	r7, dpsw
	check 18 r7 0x97cd
;;; And again.
psw_8005:
	ldi	r6, 0x8005
	mvtc	r6, psw
	mvfc	r7, psw
	check 18 r7 0x8005
bpsw_8005:
	ldi	r6, 0x8005
	mvtc	r6, bpsw
	mvfc	r7, bpsw
	check 18 r7 0x8005
dpsw_8005:
	ldi	r6, 0x8005
	mvtc	r6, dpsw
	mvfc	r7, dpsw
	check 18 r7 0x8005
	exit0
 |