⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adj-jump.s

📁 GNU binutils是GNU交叉工具链中的一个源码包
💻 S
字号:
;;; Test 68HC11 linker relaxation and fixup of bcc/bra branches;;; 	.sect .text	.globl _start_start:	;; Next 'bra' is assembled as a 'jmp'.  It is relaxed to 'bra L3'	;; during a second pass of relax.	bra	L3	.skip	20	;; Next 'jmp' must be relaxed to a 'bra' during the first pass.	;; The branch offset must then be adjusted by consecutive relax.	jmp	L3L1:	addd	0,x	bne	L1		; Branch not adjusted	addd	_toto	beq	L1		; Backward branch, adjust -1	addd	_toto+1	jbne	L1		; Backward branch, adjust -2	bgt	L1		; All possible backward branchs, adjust -2	bge	L1	beq	L1	ble	L1	blt	L1	bhi	L1	bhs	L1	beq	L1	bls	L1	blo	L1	bcs	L1	bmi	L1	bvs	L1	bcc	L1	bpl	L1	bvc	L1	bne	L1	brn	L1	bra	L1	;; Relax several insn to reduce block by 15	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_toto	addd	_totoL2:	jmp	_start		; -> relax to bra _start	bne	L2		; Backward branch, adjust -1	beq	L3		; Forward branch, adjust -2	addd	_toto	beq	L3		; Forward branch, adjust -1	addd	_totoL3:	addd	_toto	rts	.sect	.page0_bar:	.long	0_toto:	.long	0	.skip	32stack:	.skip	10_table:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -