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