ADR 명령어의 PC-relative 주소를 수정합니다.
[ADR vs ADRP]
• ADR: 직접 PC-relative (±1MB 범위)
• ADRP: 페이지 단위 PC-relative (±4GB 범위)
[수정 작업]
• ADR 명령어 탐색
• 타겟 주소 재계산
• 범위 초과 시 ADRP+ADD로 변환
[출력]
• output/fixed_adr/*.s - ADR 수정된 파일
ForgeNet
🔍
← 파이프라인 개요
/ BlackForge / Step 5
5
ADR Fix
BlackForge Pipeline · Phase 2
✓ Active
📥 입력 (Input)
fixed .s
📤 출력 (Output)
fixed .s
📋 상세 설명 (Description)
📁 소스 파일 (Source Files)
2개 파일
fix_adr.py
/Users/hacker/docs/700008_forgenet_center/050000_BlackForge_macmini_local/pipeline/steps/step05-ADR수정/fix_adr.py
python
macmini
Step 5: ADR 수정
소스 코드 로딩 중...
fix_adr.py
pipeline/steps/step05-ADR수정/fix_adr.py
python
Mac Mini
ADR 명령어를 기계어(.byte)로 직접 인코딩. PC-relative 직접 주소 계산 (21-bit imm, ±1MB 범위).
소스 코드 로딩 중...
⌨️ 실행 명령어 (Commands)
# ADR 수정 실행
cd pipeline/steps/step05-ADR수정
python3 fix_adr.py ../output/fixed_adrp/ ../output/fixed_adr/