00536 :
00537
00538 This function
is called to set
the value of a
register in
the specified
00539 exception or trap frame.
00540
00541 Arguments:
00542
00543 Register - Supplies
the number of
the register whose value
is to be
00544 stored. Integer registers are specified as 0 - 31 and floating
00545 registers are specified as 32 - 63.
00546
00547 Value - Supplies
the value to be stored in
the specified
register.
00548
00549 ExceptionFrame - Supplies a pointer to an exception frame.
00550
00551 TrapFrame - Supplies a pointer to a trap frame.
00552
00553 Return Value:
00554
00555 None.
00556
00557 --*/
00558
00559 {
00560
00561
00562
00563
00564
00565
switch (Register) {
00566
00567
00568
00569
00570
00571
case 0:
00572 TrapFrame->IntV0 = Value;
00573
return;
00574
00575
00576
00577
00578
00579
case 1:
00580 TrapFrame->IntT0 = Value;
00581
return;
00582
00583
00584
00585
00586
00587
case 2:
00588 TrapFrame->IntT1 = Value;
00589
return;
00590
00591
00592
00593
00594
00595
case 3:
00596 TrapFrame->IntT2 = Value;
00597
return;
00598
00599
00600
00601
00602
00603
case 4:
00604 TrapFrame->IntT3 = Value;
00605
return;
00606
00607
00608
00609
00610
00611
case 5:
00612 TrapFrame->IntT4 = Value;
00613
return;
00614
00615
00616
00617
00618
00619
case 6:
00620 TrapFrame->IntT5 = Value;
00621
return;
00622
00623
00624
00625
00626
00627
case 7:
00628 TrapFrame->IntT6 = Value;
00629
return;
00630
00631
00632
00633
00634
00635
case 8:
00636 TrapFrame->IntT7 = Value;
00637
return;
00638
00639
00640
00641
00642
00643
case 9:
00644 ExceptionFrame->IntS0 = Value;
00645
return;
00646
00647
00648
00649
00650
00651
case 10:
00652 ExceptionFrame->IntS1 = Value;
00653
return;
00654
00655
00656
00657
00658
00659
case 11:
00660 ExceptionFrame->IntS2 = Value;
00661
return;
00662
00663
00664
00665
00666
00667
case 12:
00668 ExceptionFrame->IntS3 = Value;
00669
return;
00670
00671
00672
00673
00674
00675
case 13:
00676 ExceptionFrame->IntS4 = Value;
00677
return;
00678
00679
00680
00681
00682
00683
case 14:
00684 ExceptionFrame->IntS5 = Value;
00685
return;
00686
00687
00688
00689
00690
00691
00692
00693
00694
00695
case 15:
00696 TrapFrame->IntFp = Value;
00697
return;
00698
00699
00700
00701
00702
00703
case 16:
00704 TrapFrame->IntA0 = Value;
00705
return;
00706
00707
00708
00709
00710
00711
case 17:
00712 TrapFrame->IntA1 = Value;
00713
return;
00714
00715
00716
00717
00718
00719
case 18:
00720 TrapFrame->IntA2 = Value;
00721
return;
00722
00723
00724
00725
00726
00727
case 19:
00728 TrapFrame->IntA3 = Value;
00729
return;
00730
00731
00732
00733
00734
00735
case 20:
00736 TrapFrame->IntA4 = Value;
00737
return;
00738
00739
00740
00741
00742
00743
case 21:
00744 TrapFrame->IntA5 = Value;
00745
return;
00746
00747
00748
00749
00750
00751
case 22:
00752 TrapFrame->IntT8 = Value;
00753
return;
00754
00755
00756
00757
00758
00759
case 23:
00760 TrapFrame->IntT9 = Value;
00761
return;
00762
00763
00764
00765
00766
00767
case 24:
00768 TrapFrame->IntT10 = Value;
00769
return;
00770
00771
00772
00773
00774
00775
case 25:
00776 TrapFrame->IntT11 = Value;
00777
return;
00778
00779
00780
00781
00782
00783
case 26:
00784 TrapFrame->IntRa = Value;
00785
return;
00786
00787
00788
00789
00790
00791
case 27:
00792 TrapFrame->IntT12 = Value;
00793
return;
00794
00795
00796
00797
00798
00799
case 28:
00800 TrapFrame->IntAt = Value;
00801
return;
00802
00803
00804
00805
00806
00807
case 29:
00808 TrapFrame->IntGp = Value;
00809
return;
00810
00811
00812
00813
00814
00815
case 30:
00816 TrapFrame->IntSp = Value;
00817
return;
00818
00819
00820
00821
00822
00823
case 31:
00824
return;
00825
00826
00827
00828
00829
00830
case 32:
00831 TrapFrame->FltF0 = Value;
00832
return;
00833
00834
00835
00836
00837
00838
case 33:
00839 TrapFrame->FltF1 = Value;
00840
return;
00841
00842
00843
00844
00845
00846
case 34:
00847 ExceptionFrame->FltF2 = Value;
00848
return;
00849
00850
00851
00852
00853
00854
case 35:
00855 ExceptionFrame->FltF3 = Value;
00856
return;
00857
00858
00859
00860
00861
00862
case 36:
00863 ExceptionFrame->FltF4 = Value;
00864
return;
00865
00866
00867
00868
00869
00870
case 37:
00871 ExceptionFrame->FltF5 = Value;
00872
return;
00873
00874
00875
00876
00877
00878
case 38:
00879 ExceptionFrame->FltF6 = Value;
00880
return;
00881
00882
00883
00884
00885
00886
case 39:
00887 ExceptionFrame->FltF7 = Value;
00888
return;
00889
00890
00891
00892
00893
00894
case 40:
00895 ExceptionFrame->FltF8 = Value;
00896
return;
00897
00898
00899
00900
00901
00902
case 41:
00903 ExceptionFrame->FltF9 = Value;
00904
return;
00905
00906
00907
00908
00909
00910
case 42:
00911 TrapFrame->FltF10 = Value;
00912
return;
00913
00914
00915
00916
00917
00918
case 43:
00919 TrapFrame->FltF11 = Value;
00920
return;
00921
00922
00923
00924
00925
00926
case 44:
00927 TrapFrame->FltF12 = Value;
00928
return;
00929
00930
00931
00932
00933
00934
case 45:
00935 TrapFrame->FltF13 = Value;
00936
return;
00937
00938
00939
00940
00941
00942
case 46:
00943 TrapFrame->FltF14 = Value;
00944
return;
00945
00946
00947
00948
00949
00950
case 47:
00951 TrapFrame->FltF15 = Value;
00952
return;
00953
00954
00955
00956
00957
00958
case 48:
00959 TrapFrame->FltF16 = Value;
00960
return;
00961
00962
00963
00964
00965
00966
case 49:
00967 TrapFrame->FltF17 = Value;
00968
return;
00969
00970
00971
00972
00973
00974
case 50:
00975 TrapFrame->FltF18 = Value;
00976
return;
00977
00978
00979
00980
00981
00982
case 51:
00983 TrapFrame->FltF19 = Value;
00984
return;
00985
00986
00987
00988
00989
00990
case 52:
00991 TrapFrame->FltF20 = Value;
00992
return;
00993
00994
00995
00996
00997
00998
case 53:
00999 TrapFrame->FltF21 = Value;
01000
return;
01001
01002
01003
01004
01005
01006
case 54:
01007 TrapFrame->FltF22 = Value;
01008
return;
01009
01010
01011
01012
01013
01014
case 55:
01015 TrapFrame->FltF23 = Value;
01016
return;
01017
01018
01019
01020
01021
01022
case 56:
01023 TrapFrame->FltF24 = Value;
01024
return;
01025
01026
01027
01028
01029
01030
case 57:
01031 TrapFrame->FltF25 = Value;
01032
return;
01033
01034
01035
01036
01037
01038
case 58:
01039 TrapFrame->FltF26 = Value;
01040
return;
01041
01042
01043
01044
01045
01046
case 59:
01047 TrapFrame->FltF27 = Value;
01048
return;
01049
01050
01051
01052
01053
01054
case 60:
01055 TrapFrame->FltF28 = Value;
01056
return;
01057
01058
01059
01060
01061
01062
case 61:
01063 TrapFrame->FltF29 = Value;
01064
return;
01065
01066
01067
01068
01069
01070
case 62:
01071 TrapFrame->FltF30 = Value;
01072
return;
01073
01074
01075
01076
01077
01078
case 63:
01079
return;
01080 }
01081 }
}