ARM64 어셈블리를 GNU Assembler (GAS) 형식으로 변환합니다.
[변환 규칙]
• 레지스터 표기법 변환 (x0 → %x0)
• 즉시값 형식 변환 (#0x100 → $0x100)
• 명령어 접미사 추가 (.quad, .long 등)
• 디렉티브 변환 (.text, .global 등)
[주요 작업]
• AT&T 문법으로 변환
• 레이블 형식 정규화
• 주석 형식 변환
• 매크로 확장
[출력 파일]
• output/gas/*.s - GAS 형식 어셈블리
ForgeNet
🔍
← 파이프라인 개요
/ BlackForge / Step 2
2
GAS Convert
BlackForge Pipeline · Phase 1
✓ Active
📥 입력 (Input)
asm files
📤 출력 (Output)
.s files
📋 상세 설명 (Description)
📊 프로세스 흐름도 (Process Flow)
🔍 클릭하여 상세 다이어그램 보기
Drill Down →
flowchart LR
ASM[.asm files] --> P1[Register Convert]
P1 --> P2[Immediate Convert]
P2 --> P3[Directive Convert]
P3 --> GAS[.s files]
style ASM fill:#f85149
style GAS fill:#238636
📁 소스 파일 (Source Files)
2개 파일
step2_fix_gas.sh
/Users/hacker/docs/700008_forgenet_center/050000_BlackForge_macmini_local/pipeline/steps/step2_fix_gas.sh
shell
macmini
Step 2: GAS 변환
소스 코드 로딩 중...
fix_asm_for_compile.py
pipeline/steps/step02-GAS변환/fix_asm_for_compile.py
python
Mac Mini
디스어셈블된 ARM64를 컴파일 가능한 GAS 형식으로 변환. 절대주소를 레이블로, SVE/MTE 명령어를 .byte로 변환.
소스 코드 로딩 중...
⌨️ 실행 명령어 (Commands)
# GAS 변환 실행
./step2_fix_gas.sh
# 변환 확인
diff output/disasm/func.asm output/gas/func.s