CARVIEW |
Select Language
HTTP/2 200
date: Fri, 10 Oct 2025 22:48:11 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1;mode=block
vary: accept-encoding
cf-cache-status: DYNAMIC
content-encoding: gzip
set-cookie: _csrf-frontend=3c5ff811b638844f2623526f69fb76a721aed93eb2fd441c4c72c701f7155092a%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22IGc0QOGJGd0QoBmagACjA_CN9sGWEB9u%22%3B%7D; HttpOnly; Path=/
cf-ray: 98c9a9eee84c9dfd-BLR
Z80 Test - Pastebin.com
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <unistd.h> // для usleep, если нужны реальные задержки
- // Имитация порта вывода (для тестирования на ПК)
- unsigned char output_port = 0;
- // Функция задержки (имитация циклов Z80)
- void delay() {
- // Имитация вложенных циклов декремента на Z80
- // В реальной системе нужно использовать точные временные задержки
- volatile int i, j;
- for (i = 0; i < 255; i++) {
- for (j = 0; j < 255; j++) {
- // Пустой цикл для задержки
- }
- }
- }
- // Функция задержки с двойным циклом (вдвое дольше)
- void long_delay() {
- volatile int i, j;
- for (i = 0; i < 255; i++) {
- for (j = 0; j < 255; j++) {
- // Пустой цикл
- }
- }
- // Второй такой же цикл
- for (i = 0; i < 255; i++) {
- for (j = 0; j < 255; j++) {
- // Пустой цикл
- }
- }
- }
- int main() {
- unsigned char l = 0; // Регистр L
- unsigned char a; // Аккумулятор
- // Начальная секция - мигание светодиодами
- // -----------------
- a = 0;
- a = ~a; // CPL - инвертировать аккумулятор (0xFF)
- output_port = a; // OUT (#0001),a - включить все светодиоды
- long_delay(); // Длинная задержка
- a = 0;
- output_port = a; // Выключить все светодиоды
- delay(); // Короткая задержка
- // Нестандартная команда Z80 - OUT (C),0
- // На CMOS Z80 работает как OUT (C),FF
- output_port = 0xFF; // Эмуляция undocumented команды
- delay(); // Задержка
- a = 0;
- output_port = a; // Выключить светодиоды
- delay(); // Задержка
- // Основной цикл тестирования с прогрессирующими адресами
- start:
- l = 0;
- a = 0x01; // Первый бит
- output_port = a; // Включить первый светодиод
- delay(); // Задержка
- // Переход к следующей секции с заполнением памяти
- // (пропускаем 238 байт заполненных 0xFF)
- next_512:
- a = 0x02; // Второй бит
- output_port = a; // Включить второй светодиод
- delay(); // Задержка
- // Проверка значения регистра L
- if (l != 0) {
- goto start; // Если L != 0, вернуться к началу
- }
- // Иначе перейти к следующей секции
- // (пропускаем 235+256 байт заполненных 0xFF)
- next_1024:
- a = 0x04; // Третий бит
- output_port = a; // Включить третий светодиод
- delay(); // Задержка
- if (l != 0) {
- goto next_512; // Вернуться к предыдущей секции
- }
- // Переход к следующей с заполнением памяти
- // (пропускаем 235+256+512 байт)
- next_2048:
- a = 0x08; // Четвертый бит
- output_port = a; // Включить четвертый светодиод
- delay(); // Задержка
- if (l != 0) {
- goto next_1024;
- }
- // Переход дальше с заполнением
- // (пропускаем 235+256+512+1024 байт)
- next_4096:
- a = 0x10; // Пятый бит
- output_port = a; // Включить пятый светодиод
- delay(); // Задержка
- if (l != 0) {
- goto next_2048;
- }
- // Переход дальше с заполнением
- // (пропускаем 235+256+512+1024+2048 байт)
- next_8192:
- a = 0x20; // Шестой бит
- output_port = a; // Включить шестой светодиод
- delay(); // Задержка
- if (l != 0) {
- goto next_4096;
- }
- // Переход дальше с заполнением
- // (пропускаем 235+256+512+1024+2048+4096 байт)
- next_16384:
- a = 0x40; // Седьмой бит
- output_port = a; // Включить седьмой светодиод
- delay(); // Задержка
- if (l != 0) {
- goto next_8192;
- }
- // Переход дальше с заполнением
- // (пропускаем 235+256+512+1024+2048+4096+8192 байт)
- next_32768:
- a = 0x80; // Восьмой бит
- output_port = a; // Включить восьмой светодиод
- delay(); // Задержка
- l = 0xFF; // Установить L в 0xFF для изменения логики переходов
- goto next_16384; // Бесконечный цикл
- return 0; // На практике сюда выполнение не дойдет
- }
- /////////////////////////////////
- org 0
- ;-----------------
- xor a
- cpl
- out (#0001),a ; turn on all LEDs
- ;-----------------
- ld b, 255
- ld c, b
- delay0:
- dec c
- jr nz, delay0
- dec b
- jr nz, delay0
- ld b, 255
- ld c, b
- delay00:
- dec c
- jr nz, delay00
- dec b
- jr nz, delay00
- ;-----------------
- xor a
- out (#0001),a ; turn off all LEDs
- ;-----------------
- ld b, 255
- ld c, b
- delay1:
- dec c
- jr nz, delay1
- dec b
- jr nz, delay1
- ;-----------------
- defb #ed, #71 ; undocumented "out (c),0" works as out (c), FF on CMOS z80
- ;-----------------
- ld b, 255
- ld c, b
- delay2:
- dec c
- jr nz, delay2
- dec b
- jr nz, delay2
- ;-----------------
- xor a
- out (#0001),a ; turn off all LEDs
- ;-----------------
- ld b, 255
- ld c, b
- delay3:
- dec c
- jr nz, delay3
- dec b
- jr nz, delay3
- ;-----------------
- jp start
- defs 196,#ff
- ;-----------------
- ;-----------------
- start:
- ld l,0
- ld a, #01
- out (#0001),a
- ;-----------------
- ld b, 255
- ld c, b
- delay4:
- dec c
- jr nz, delay4
- dec b
- jr nz, delay4
- ;-----------------
- jp next_512
- defs 238,#ff
- ;-----------------
- next_512:
- ld a, #02
- out (#0001),a
- ;-----------------
- ld b, 255
- ld c, b
- delay5:
- dec c
- jr nz, delay5
- dec b
- jr nz, delay5
- ;-----------------
- ld a,l
- or l
- jp nz,start
- jp next_1024
- defs 235+256,#FF
- ;-----------------
- next_1024:
- ld a, #04
- out (#0001),a
- ;-----------------
- ld b, 255
- ld c, b
- delay6:
- dec c
- jr nz, delay6
- dec b
- jr nz, delay6
- ;-----------------
- ld a,l
- or l
- jp nz,next_512
- jp next_2048
- defs 235+256+512,#ff
- ;-----------------
- next_2048:
- ld a, #08
- out (#0001),a
- ;-----------------
- ld b, 255
- ld c, b
- delay7:
- dec c
- jr nz, delay7
- dec b
- jr nz, delay7
- ;-----------------
- ld a,l
- or l
- jp nz,next_1024
- jp next_4096
- defs 235+256+512+1024,#ff
- ;-----------------
- next_4096:
- ld a, #10
- out (#0001),a
- ;-----------------
- ld b, 255
- ld c, b
- delay8:
- dec c
- jr nz, delay8
- dec b
- jr nz, delay8
- ;-----------------
- ld a,l
- or l
- jp nz,next_2048
- jp next_8192
- defs 235+256+512+1024+2048,#ff
- ;-----------------
- next_8192:
- ld a, #20
- out (#0001),a
- ;-----------------
- ld b, 255
- ld c, b
- delay9:
- dec c
- jr nz, delay9
- dec b
- jr nz, delay9
- ;-----------------
- ld a,l
- or l
- jp nz,next_4096
- jp next_16384
- defs 235+256+512+1024+2048+4096,#ff
- ;-----------------
- next_16384:
- ld a, #40
- out (#0001),a
- ;-----------------
- ld b, 255
- ld c, b
- delay10:
- dec c
- jr nz, delay10
- dec b
- jr nz, delay10
- ;-----------------
- ld a,l
- or l
- jp nz,next_8192
- jp next_32768
- defs 235+256+512+1024+2048+4096+8192,#ff
- ;-----------------
- next_32768:
- ld a, #80
- out (#0001),a
- ;-----------------
- ld b, 255
- ld c, b
- delay11:
- dec c
- jr nz, delay11
- dec b
- jr nz, delay11
- ;-----------------
- ld l,#ff
- jp next_16384
- ;-----------------
Advertisement
Add Comment
Please, Sign In to add comment
-
⭐✅ Exploit 2500$ in 15 Minutes⭐⭐⭐ 7
JavaScript | 7 sec ago | 0.24 KB
-
Free Crypto Method (NEVER SEEN BEFORE)⭐⭐ C
JavaScript | 18 sec ago | 0.24 KB
-
✅ Make $2500 in 20 minutes⭐⭐⭐ 6
JavaScript | 31 sec ago | 0.24 KB
-
⭐✅ Swapzone Glitch ✅ Working⭐⭐⭐ G
JavaScript | 31 sec ago | 0.24 KB
-
⭐⭐Exchange Exploit⭐⭐ L
JavaScript | 42 sec ago | 0.24 KB
-
✅ Make $2500 in 20 minutes⭐⭐⭐ J
JavaScript | 42 sec ago | 0.24 KB
-
✅⭐ Make huge profits on trading ⭐⭐ A
JavaScript | 53 sec ago | 0.24 KB
-
⭐⭐Exchange Exploit⭐⭐ E
JavaScript | 53 sec ago | 0.24 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand