📄 relax-group.s
字号:
;;; Test 68HC11 linker relaxation (group relax);;; .sect .text .globl _start_start:;;;;;; The following group of instructions are adjusted.;;; .relax L1x ldx #table bset 0,x #4L1x: .relax L1y ldy #table bset 0,y #4L1y: .relax L2x ldx #table+3 bset 0,x #4 bset 1,x #8L2x: .relax L2y ldy #table+3 bset 0,y #4 bset 1,y #8L2y: .relax L3x ldx #table+6 bset 0,x #4 bset 1,x #8 bset 2,x #12 bset 3,x #12 bset 4,x #12 bset 5,x #12L3x: .relax L3y ldy #table+6 bset 0,y #4 bset 1,y #8 bset 2,y #12 bset 3,y #12 bset 4,y #12 bset 5,y #12L3y: ;; Next branch is always relative. It must be adjusted while ;; above instructions are relaxed. bra _start;;;;;; This group has the first two bset insn relaxable while the;;; others are not. The ldx/ldy must not be removed.;;; .relax L4x ldx #table+0xfe bset 0,x #4 bset 1,x #8 bset 2,x #12 bset 3,x #12 bset 4,x #12 bset 5,x #12L4x: .relax L4y ldy #table+0xfe bset 0,y #4 bset 1,y #8 bset 2,y #12 bset 3,y #12 bset 4,y #12 bset 5,y #12L4y:;;;;;; Relax group for bclr;;; .relax L5x ldx #table+10 bclr 0,x #4 bclr 1,x #8L5x: .relax L5y ldy #table+16 bclr 10,y #4 bclr 11,y #8L5y:;;;;;; Relax group for brset (with backward branch);;; .relax L6x ldx #table+8 brset 0,x #4 L5yL6x: .relax L7x ldy #table+8 brset 0,y #4 L6xL7x:;;;;;; Relax group for brset (with forward branch);;; .relax L8x ldx #table+8 brset 0,x #4 brendL8x: .relax L8y ldy #table+8 brset 0,y #4 brendL8y:;;;;;; Relax group for brclr (with backward branch);;; .relax L9x ldx #table+8 brclr 0,x #4 L8yL9x: .relax L9y ldy #table+8 brclr 0,y #4 L9xL9y:;;;;;; Relax group for brclr (with forward branch);;; .relax L10x ldx #table+8 brclr 0,x #4 brendL10x: .relax L10y ldy #table+8 brclr 0,y #4 brendL10y: nopbrend:;;;;;; The following are wrong use of .relax groups.;;; .relax w1w1: .relax w2 bset 0,x #4w2: .relax w3 ldx #tablew3: .relax w4 ldy #table+8w4: .relax w5 rtsw5:;;;;;; Next insn is not in a .relax group ldx #table bset 0,x #5 bra _start rts .sect .page0 .globl tabletable: .long 0table4: .long 0table8: .long 0 .skip 10end_table: .long 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -