Program sayacı simülatörü
loop: gibi etiketler, LOAD veya ADD gibi sıralı komutlar, BR label veya BR +8 gibi branch komutları ve ayrıca JMP, CALL, RET ile HALT kullanın.
Bu eğitim simülatörü boş olmayan her komut satırına bir adres atar ve basitleştirilmiş bir program sayacının (PC) hareketini izler. Kod satırı, ifade veya token saymaz; herhangi bir programlama dilini derlemez ya da çalıştırmaz.
Bir komut listesi nasıl izlenir?
-
1
Kısa bir liste girin
Satır başına sabit genişlikli bir komut ve isteğe bağlı loop: gibi ASCII etiketleri kullanın.
-
2
Adres modelini seçin
Başlangıç adresini, 1, 2, 4 veya 8 bayt boyutunu, 16/24/32 bit genişliği ve görüntü biçimini belirleyin.
-
3
İzi ayarlayın
Tanınan tüm dalları genel olarak alınmış veya alınmamış sayın, 1–80 adım seçin ve geçişleri inceleyin.
Desteklenen model
| Liste öğesi | Davranış |
|---|---|
LOAD veya ADD gibi diğer opcode |
Seçilen sabit komut boyutu kadar ilerler |
BR, BRA, BRANCH, BEQ, BNE, BGT, BGE, BLT, BLE, BZ, BNZ, JZ, JNZ |
Genel alındı/alınmadı seçimini uygular |
JMP, JUMP, GOTO |
Etikete veya sayısal hedefe atlar |
CALL, JSR, BL / RET, RETURN |
Simüle edilmiş dönüş adresini ekler / çıkarır |
HALT, HLT, STOP |
Geçerli PC’de durur |
Hedef; ASCII etiket, ondalık adres veya 0x önekli onaltılık adres olabilir. +8 gibi işaretli hedef bir sonraki sıralı PC’ye göredir; işaretsiz sayı mutlaktır. Adresler seçilen bit genişliğinde başa döner. // ve ; yorum başlatır. İşlenenler yalnızca gösterilir.
Sınırlar ve gizlilik
- Girdi 1.800 karakterde kesilir ve ayrıştırma 200 komuttan sonra durur.
- İz 1–80 adımla sınırlıdır; tüm koşullu dallar tek bir genel seçimi paylaşır.
- Yazmaçlar, bellek, bayraklar, işlem hattı, gecikme yuvaları, kodlama ve değişken komut uzunlukları taklit edilmez.
- Standart mod listeyi sunucuya gönderir; adımlı mod ayrıca URL’ye koyar. Gizli kod yapıştırmayın.
Sık Sorulan Sorular
Hayır. Komut satırlarına adres atar ve PC’yi izler; kaynak satırları, ifadeler veya tokenlar sayılmaz.
Hayır. Küçük ve genel bir kontrol opcode kümesini tanır. Diğerleri yalnızca PC’yi ilerletir; işlenenler çalıştırılmaz.
Ofset bir sonraki sıralı PC’ye eklenir. 0x1000’de 4 baytlık komutlarla hedef 0x100C olur.
Sunucu gösterimi için bu siteye gönderilir ve adımlı modda URL’ye eklenir. Harici analiz API’si kullanılmaz; yine de gizli koddan kaçının.
İlgili Araçlar
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
Webpack Yapılandırma Oluşturucu
Saf JavaScript, React veya Vue için webpack 5 uyumlu bir webpack.config.js oluşturun: TypeScript, Babel, CSS veya Sass, görseller, HtmlWebpackPlugin, geliştirme sunucusu ve npm install satırı.
Kurgusal telefon numarası oluşturucu
Beş ülkede resmen ayrılmış aralıklardan 50 adede kadar kurgusal numara üretin.
Tamamlayıcı Renk Bulucusu
Her girdi için tamamlayıcı renk belirleyin. HSL açısından tersi renk, bölünmüş tamamlayıcı çifti ve erişilebilir kombinasyonlar için öneriler geri verir.
Dosya Boyutu Dönüştürücü
Bayt, KB, MB, GB, TB ve ikili IEC birimleri (KiB, MiB, GiB, TiB) arasında, ondalık ve ikiliyi dilediğiniz gibi birleştirerek dönüşüm yapın.
Telefon numarası doğrulayıcı
Telefon numarasının ülkeye göre yapısını denetleyin; bölge, tür, E.164, uluslararası, ulusal ve RFC 3966 biçimlerini görün.
Araç diğer dillerde mevcuttur
- Programmatellersimulator [NL]
- Programmzähler-Simulator [DE]
- Simulator för programräknare [SV]
- Simulator program counter [ID]
- Simulador del contador de programa [ES]
- 프로그램 카운터 시뮬레이터 [KO]
- Trình mô phỏng bộ đếm chương trình [VI]
- เครื่องจำลองตัวนับโปรแกรม [TH]
- محاكي عدّاد البرنامج [AR]
- Symulator licznika rozkazów [PL]
- Simulateur de compteur de programme [FR]
- プログラムカウンターシミュレーター [JA]
- Simulador de contador de programa [PT]
- Program Counter Simulator [EN]
- Simulatore del program counter [IT]
- Симулятор счётчика команд [RU]
- 程序计数器模拟器 [ZH]