프로그램 카운터 시뮬레이터
loop: 같은 레이블, LOAD 또는 ADD 같은 순차 명령어, BR label 또는 BR +8 같은 분기와 함께 JMP, CALL, RET, HALT를 사용할 수 있습니다.
이 학습용 시뮬레이터는 비어 있지 않은 각 명령 줄에 주소를 할당하고 단순화된 프로그램 카운터(PC)의 흐름을 추적합니다. 코드 줄, 문장 또는 토큰을 세지 않으며 프로그래밍 언어를 컴파일하거나 실행하지도 않습니다.
명령 목록 추적 방법
-
1
짧은 목록 입력
한 줄에 하나의 고정 길이 명령을 쓰고 필요하면 loop: 같은 ASCII 레이블을 사용합니다.
-
2
주소 모델 선택
시작 주소, 1·2·4·8바이트 명령 크기, 16/24/32비트 폭과 표시 형식을 설정합니다.
-
3
추적 방식 설정
인식한 모든 분기를 일괄적으로 실행 또는 미실행으로 처리하고 1–80단계를 선택해 각 전환을 확인합니다.
지원하는 모델
| 목록 항목 | 동작 |
|---|---|
LOAD, ADD 같은 기타 opcode |
선택한 고정 명령 크기만큼 전진 |
BR, BRA, BRANCH, BEQ, BNE, BGT, BGE, BLT, BLE, BZ, BNZ, JZ, JNZ |
전역 실행/미실행 설정 적용 |
JMP, JUMP, GOTO |
레이블 또는 숫자 주소로 점프 |
CALL, JSR, BL / RET, RETURN |
모의 반환 주소를 저장 / 꺼냄 |
HALT, HLT, STOP |
현재 PC에서 정지 |
대상은 ASCII 레이블, 10진 주소 또는 0x가 붙은 16진 주소일 수 있습니다. +8처럼 부호가 있는 대상은 다음 순차 PC 기준 상대값이고, 부호 없는 숫자는 절대값입니다. 주소는 선택한 비트 폭 안에서 순환합니다. //와 ; 뒤는 주석입니다. 피연산자는 표시만 하고 계산하지 않습니다.
제한과 개인정보
- 입력은 1,800자에서 잘리며 200개 명령 뒤에는 구문 분석을 멈춥니다.
- 추적은 1–80단계이며 모든 조건 분기가 하나의 전역 선택을 공유합니다.
- 레지스터, 메모리, 플래그, 파이프라인, 지연 슬롯, 명령 인코딩, 가변 길이 명령은 에뮬레이션하지 않습니다.
- 일반 모드는 서버를 통해 목록을 이 사이트에 보내며, 단계 모드는 URL에도 넣습니다. 기밀 코드를 붙여 넣지 마세요.
자주 묻는 질문
아닙니다. 명령 줄에 주소를 배정하고 PC를 추적할 뿐 소스 줄, 문장 또는 토큰을 세지 않습니다.
아닙니다. 소수의 일반적인 제어 opcode만 인식합니다. 그 밖의 opcode는 PC만 전진시키며 피연산자는 실행하지 않습니다.
오프셋을 다음 순차 PC에 더합니다. PC가 0x1000이고 명령이 4바이트이면 대상은 0x100C입니다.
표시를 위해 이 사이트로 전송되며 단계 모드에서는 URL에도 들어갑니다. 외부 분석 API는 쓰지 않지만 기밀 코드는 피하세요.
관련 도구
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
Webpack 설정 생성기
순수 JavaScript, React, Vue용 webpack 5 webpack.config.js를 만드세요. TypeScript, Babel, CSS 또는 Sass, 이미지, HtmlWebpackPlugin, 개발 서버, npm install 명령까지 함께 제공합니다.
텍스트 파일 인코딩 변환기
깨진 문자를 고치기 위해 텍스트를 UTF-8, UTF-16, Latin-1, Windows-1252 등 여러 인코딩 사이에서 변환하세요.
XML 포매터
일관된 들여쓰기로 XML 문서를 정렬 출력하고, 정확한 줄 번호로 적격성 오류를 잡아냅니다.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
Protocol Buffers 디코더
hex, Base64, Base64URL, 텍스트 또는 파일의 Protobuf 와이어 형식 바이트를 브라우저에서 디코딩하고 정확한 필드 후보를 확인한 뒤 비공개 보고서로 내보냅니다.
이 도구는 다른 언어로도 제공됩니다
- Programmzähler-Simulator [DE]
- Simulator för programräknare [SV]
- Simulateur de compteur de programme [FR]
- Programmatellersimulator [NL]
- Simulator program counter [ID]
- Simulador de contador de programa [PT]
- Symulator licznika rozkazów [PL]
- เครื่องจำลองตัวนับโปรแกรม [TH]
- Trình mô phỏng bộ đếm chương trình [VI]
- Simulador del contador de programa [ES]
- プログラムカウンターシミュレーター [JA]
- محاكي عدّاد البرنامج [AR]
- Program Counter Simulator [EN]
- Simulatore del program counter [IT]
- Program sayacı simülatörü [TR]
- Симулятор счётчика команд [RU]
- 程序计数器模拟器 [ZH]