mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-04-13 15:35:41 +02:00
53 lines
2.7 KiB
Plaintext
53 lines
2.7 KiB
Plaintext
* AGF test
|
|
sysclear
|
|
archmode esame
|
|
r 1a0=00000001800000000000000000000200 # z/Arch restart PSW
|
|
r 1d0=000200018000000000000000DEADDEAD # z/Arch pgm new PSW
|
|
r 200=41000008 # LA R0,8 R0=Number of test data
|
|
r 204=41100800 # LA R1,TEST1 R1=>Test data table
|
|
r 208=41F00900 # LA R15,RES1 R15=>Result table
|
|
r 20C=1B88 # SR R8,R8 Clear CC register
|
|
r 20E=E34010000004 #A LG R4,0(,R1) Load R4=TESTn
|
|
r 214=58501008 # L R5,8(,R1) Load R5=TESTn+8
|
|
r 218=E34010080018 # AGF R4,8(,R1) Add fullword at TESTn+8
|
|
r 21E=B2220080 # IPM R8 R8=Cond code and pgm mask
|
|
r 222=E340F0000024 # STG R4,0(,R15) Store R4 in result table
|
|
r 228=5080F008 # ST R8,8(,R15) Store CC in table
|
|
r 22C=41F0F010 # LA R15,16(,R15) R15=>next result table
|
|
r 230=41101010 # LA R1,16(,R1) R1=>Next TESTn
|
|
r 234=4600020E # BCT R0,A Loop to end of TEST table
|
|
r 238=41000900 # LA R0,RES1 R0->Actual results
|
|
r 23C=41100080 # LA R1,8*16 R1=Length of results table
|
|
r 240=41200C00 # LA R2,EXP1 R2->Expected results
|
|
r 244=41300080 # LA R3,8*16 R3=Length of results table
|
|
r 248=0F02 # CLCL R0,R2 Compare with expected results
|
|
r 24A=477002FC # BNE DIE Error if not equal
|
|
r 24E=B2B20300 # LPSWE WAITPSW Load enabled wait PSW
|
|
r 2FC=B2B20310 # LPSWE DISWAIT Load disabled wait PSW
|
|
r 300=07020001800000000000000000AAAAAA # WAITPSW Enabled wait state PSW
|
|
r 310=00020001800000000000000000BADBAD # DISWAIT Disabled wait state PSW
|
|
r 800=00000000000000050000000300000000 # TEST1 DC G'5',F'3'
|
|
r 810=FFFFFFFFFFFFFFFBFFFFFFFD00000000 # TEST2 DC G'-5',F'-3'
|
|
r 820=FFFFFFFFFFFFFFFB0000000300000000 # TEST3 DC G'-5',F'3'
|
|
r 830=80000000000000000000000100000000 # TEST4 DC G'-9223372036854775808',F'1'
|
|
r 840=7FFFFFFFFFFFFFFF8000000000000000 # TEST5 DC G'9223372036854775807',F'-2147483648'
|
|
r 850=00000000FFFFFFFF0000000100000000 # TEST6 DC G'4294967295',F'1'
|
|
r 860=00000001000000000000000100000000 # TEST7 DC G'4294967296',F'1'
|
|
r 870=0000000100000000FFFFFFFF00000000 # TEST8 DC G'4294967296',F'-1'
|
|
* Expected results and condition codes
|
|
r C00=00000000000000082000000000000000 # EXP1 DC G'8',X'20'
|
|
r C10=FFFFFFFFFFFFFFF81000000000000000 # EXP2 DC G'-8',X'10'
|
|
r C20=FFFFFFFFFFFFFFFE1000000000000000 # EXP3 DC G'-2',X'10'
|
|
r C30=80000000000000011000000000000000 # EXP4 DC G'-9223372036854775807',X'10'
|
|
r C40=7FFFFFFF7FFFFFFF2000000000000000 # EXP5 DC G'9223372034707292159',X'20'
|
|
r C50=00000001000000002000000000000000 # EXP6 DC G'4294967296',X'20'
|
|
r C60=00000001000000012000000000000000 # EXP7 DC G'4294967297',X'20'
|
|
r C70=00000000FFFFFFFF2000000000000000 # EXP8 DC G'4294967295',X'20'
|
|
ostailor null
|
|
restart
|
|
pause 1
|
|
* Display test data
|
|
r 800.20
|
|
* Display actual results
|
|
r 900.80
|