ForgeNet

← 파이프라인 개요 / BlackForge / Step 7
7

Branch Fix

BlackForge Pipeline · Phase 3

✓ Active
📥 입력 (Input)
fixed .s
📤 출력 (Output)
final .s
📋 상세 설명 (Description)
Branch 명령어의 타겟 주소를 수정합니다. [Branch 명령어 종류] • B: 무조건 분기 • BL: 링크 분기 (함수 호출) • B.cond: 조건부 분기 • CBZ/CBNZ: 비교 후 분기 • TBZ/TBNZ: 테스트 후 분기 [수정 작업] • 함수 내부 분기: 레이블로 변환 • 함수 간 분기: 심볼 참조로 변환 • 범위 초과 분기: 트램폴린 생성 [출력] • output/final/*.s - 최종 수정된 파일
📁 소스 파일 (Source Files)
1개 파일
🐍
fix_branch.py
pipeline/steps/step07-브랜치수정/fix_branch.py
python Mac Mini
B/BL 분기 명령어를 기계어로 인코딩. 26-bit imm, ±128MB 범위. 내부/외부 참조 처리.
Loading...
소스 코드 로딩 중...
⌨️ 실행 명령어 (Commands)
# Branch 수정 실행
./step4_fix_branch.sh

# 분기 명령어 확인
grep -E "^\\s+(b|bl|cbz|cbnz)" output/final/*.s | head -20