📄 vaxregdef.h
字号:
# # 31 23 15 07 00 # +----------------+----------------+----------------+----------------+ # | delta-pc | xxxx | objlen | : r0 # +----------------+----------------+----------------+----------------+ # | objaddr | : r1 # +----------------+----------------+----------------+----------------+ # | xxxxx | srclen | : r2 # +----------------+----------------+----------------+----------------+ # | srcaddr | : r3 # +----------------+----------------+----------------+----------------+# define matchc_s_matchc 16 # define matchc 0# define matchc_w_objlen 0 # objlen.rw# define matchc_b_delta_pc 3# define matchc_a_objaddr 4 # objaddr.ab# define matchc_w_srclen 8 # srclen.rw# define matchc_a_srcaddr 12 # srcaddr.ab # .endm # .macro crc_def,..equ=<=>,..col=<:> # define register usage for the crc instruction # # 31 23 15 07 00 # +----------------+----------------+----------------+----------------+ # | inicrc | : r0 # +----------------+----------------+----------------+----------------+ # | tbl | : r1 # +----------------+----------------+----------------+----------------+ # | delta-pc | xxxx | strlen | : r2 # +----------------+----------------+----------------+----------------+ # | stream | : r3 # +----------------+----------------+----------------+----------------+# define crc_s_crc 16 # define crc 0# define crc_l_inicrc 0 # inicrc.rl# define crc_a_tbl 4 # tbl.ab# define crc_w_strlen 8 # strlen.rw# define crc_b_delta_pc 11# define crc_a_stream 12 # stream.ab # .endm # .macro stack_def,..equ=<=>,..col=<:> # Define exception parameters for vax$_opcdec exception, the exception # that occurs when an unimplemented instructions on a microvax processor. # # 31 23 15 07 00 # +------------+------------+------------+------------+ # | opcode of reserved instruction | : 00(sp) # +------------+------------+------------+------------+ # | pc of reserved instruction (old pc) | : 04(sp) # +------------+------------+------------+------------+ # | first operand specifier | : 08(sp) # +------------+------------+------------+------------+ # | second operand specifier | : 12(sp) # +------------+------------+------------+------------+ # | third operand specifier | : 16(sp) # +------------+------------+------------+------------+ # | fourth operand specifier | : 20(sp) # +------------+------------+------------+------------+ # | fifth operand specifier | : 24(sp) # +------------+------------+------------+------------+ # | sixth operand specifier | : 28(sp) # +------------+------------+------------+------------+ # | seventh operand specifier | : 32(sp) # +------------+------------+------------+------------+ # | eighth operand specifier | : 36(sp) # +------------+------------+------------+------------+ # | pc of next instruction (new pc) | : 40(sp) # +------------+------------+------------+------------+ # | psl at time of exception | : 44(sp) # +------------+------------+------------+------------+# define s_stack 48# define stack 0# define opcode 0 # opcode of reserved instruction# define old_pc 4 # pc of reserved instruction (old pc)# define operand_1 8 # first operand specifier# define operand_2 12 # second operand specifier# define operand_3 16 # third operand specifier# define operand_4 20 # fourth operand specifier# define operand_5 24 # fifth operand specifier# define operand_6 28 # sixth operand specifier# define operand_7 32 # seventh operand specifier # define operand_8 36 # eight operand specifier # define new_pc 40 # pc of instruction following # reserved instruction (new pc)# define exception_psl 44 # psl at time of exception # .endm # .macro pack_def,..equ=<=>,..col=<:> # define stack usage when packing registers to back up instruction # # 31 23 15 07 00 # +------------+------------+------------+------------+ # | saved r0 | : 00(sp) # +------------+------------+------------+------------+ # | saved r1 | : 04(sp) # +------------+------------+------------+------------+ # | saved r2 | : 08(sp) # +------------+------------+------------+------------+ # | saved r3 | : 12(sp) # +------------+------------+------------+------------+ # # the next longword after the saved r3 depends on the context. # # in the case of software generated exceptions, a signal array sits # immediately underneath the saved register array. # # +------------+------------+------------+------------+ # | first longword of signal array | : 16(sp) # +------------+------------+------------+------------+ # # in the case of an access # violation, there is a return pc followed by an argument list. # # +------------+------------+------------+------------+ # | return pc | : 16(sp) # +------------+------------+------------+------------+ # | argument count (always 2) | : 20(sp) # +------------+------------+------------+------------+ # | pointer to signal array | : 24(sp) # +------------+------------+------------+------------+ # | pointer to mechanism array | : 28(sp) # +------------+------------+------------+------------+ # # after the stack has been modified, a new value of sp is inserted here. # # +------------+------------+------------+------------+ # | saved sp | : 16(sp) # +------------+------------+------------+------------+#define pack_m_fpd 256#define pack_m_accvio 512#define pack_s_pack 36 #define pack 0#define pack_l_saved_r0 0#define pack_l_saved_r1 4#define pack_l_saved_r2 8#define pack_l_saved_r3 12#define pack_l_return_pc 16#define pack_l_signal_array 16#define pack_l_saved_sp 16#define pack_l_argument_count 20#define pack_l_signal_array_pointer 24#define pack_l_mechanism_array_pointer 28#define pack_s_delta_pc 8#define pack_v_delta_pc 0#define pack_v_fpd 8 # set fpd bit in psl#define pack_v_accvio 9 # stack contains extra data # .endm # .macro addp4_def,..equ=<=>,..col=<:> # define register usage for the addp4 instruction # # 31 23 15 07 00 # +----------------+----------------+----------------+----------------+ # | delta-pc | xxxx | addlen | : r0 # +----------------+----------------+----------------+----------------+ # | addaddr | : r1 # +----------------+----------------+----------------+----------------+ # | xxxxx | sumlen | : r2 # +----------------+----------------+----------------+----------------+ # | sumaddr | : r3 # +----------------+----------------+----------------+----------------+# define addp4_s_addp4 16 # define addp4 0# define addp4_w_addlen 0# define addp4_s_addlen 5# define addp4_v_addlen 0# define addp4_b_delta_pc 3# define addp4_a_addaddr 4 # addaddr.ab# define addp4_w_sumlen 8# define addp4_s_sumlen 5# define addp4_v_sumlen 0# define addp4_a_sumaddr 12 # sumaddr.ab # .endm # .macro addp6_def,..equ=<=>,..col=<:> # define register usage for the addp6 instruction # # 31 23 15 07 00 # +----------------+----------------+----------------+----------------+ # | delta-pc | xxxx | add1len | : r0 # +----------------+----------------+----------------+----------------+ # | add1addr | : r1 # +----------------+----------------+----------------+----------------+ # | xxxxx | add2len | : r2 # +----------------+----------------+----------------+----------------+ # | add2addr | : r3 # +----------------+----------------+----------------+----------------+ # | xxxxx | sumlen | : r4 # +----------------+----------------+----------------+----------------+ # | sumaddr | : r5 # +----------------+----------------+----------------+----------------+# define addp6_s_addp6 24 # define addp6 0# define addp6_w_add1len 0# define addp6_s_add1len 5# define addp6_v_add1len 0# define addp6_b_delta_pc 3# define addp6_a_add1addr 4 # add1addr.ab# define addp6_w_add2len 8# define addp6_s_add2len 5# define addp6_v_add2len 0# define addp6_a_add2addr 12 # add2addr.ab# define addp6_w_sumlen 16# define addp6_s_sumlen 5# define addp6_v_sumlen 0# define addp6_a_sumaddr 20 # sumaddr.ab # .endm # .macro ashp_def,..equ=<=>,..col=<:> # define register usage for the ashp instruction # # 31 23 15 07 00 # +----------------+----------------+----------------+----------------+ # | delta-pc | cnt | srclen | : r0 # +----------------+----------------+----------------+----------------+ # | srcaddr | : r1 # +----------------+----------------+----------------+----------------+ # | xxxx | round | dstlen | : r2 # +----------------+----------------+----------------+----------------+ # | dstaddr | : r3 # +----------------+----------------+----------------+----------------+# define ashp_s_ashp 16 # define ashp 0# define ashp_w_srclen 0# define ashp_s_srclen 5# define ashp_v_srclen 0# define ashp_b_cnt 2 # cnt.rb# define ashp_b_delta_pc 3# define ashp_a_srcaddr 4 # srcaddr.ab# define ashp_w_dstlen 8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -