/
lizz_kuzz
/
cpu
Обзор
Документация
Войти
/
lizz_kuzz
/
cpu
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
task_test/program_init.mem
256 строк
4 KB
lizz_kuzz
task second version
14 май 2026, 23:07
14 май 2026, 23:07
b1eee46
Код
Авторство
О чём код?
D0209 // PC=00: mov #09, #02 // RESULT = True (по умолчанию) D040B // PC=01: mov #0B, #04 // PTR_X = 0x10 (начало X) D050C // PC=02: mov #0C, #05 // PTR_Y = 0x15 (начало Y) D030A // PC=03: mov #0A, #03 // COUNTER = 0 D0104 // PC=04: mov #04, #01 // LOOPBACK = PTR_X 120600 // PC=05: lw #06, #00 // TEMP_X = mem[LOOPBACK] D0105 // PC=06: mov #05, #01 // LOOPBACK = PTR_Y 120700 // PC=07: lw #07, #00 // TEMP_Y = mem[LOOPBACK] 90607 // PC=08: cmp #06, #07 // Сравниваем TEMP_X и TEMP_Y B0C00 // PC=09: je ->PC=0C // Если равны, прыгаем на инкремент указателей D020A // PC=0A: mov #0A, #02 // RESULT = 0 (False) — элементы не совпали 00000 // PC=0B: end // Завершение программы 10408 // PC=0C: add #04, #08 // PTR_X += 1 (сдвигаем указатель X) 10508 // PC=0D: add #05, #08 // PTR_Y += 1 (сдвигаем указатель Y) 10308 // PC=0E: add #03, #08 // COUNTER += 1 9030D // PC=0F: cmp #03, #0D // Сравниваем COUNTER и CONST_N (5) A0400 // PC=10: jl ->PC=04 // Если прошли не все элементы, прыгаем в начало цикла D050C // PC=11: mov #0C, #05 // PTR_Y = 0x15 (сброс указателя Y) D0105 // PC=12: mov #05, #01 // LOOPBACK = PTR_Y D0E06 // PC=13: mov #0E, #06 // TEMP_X = 77 (любое число, не равное x[0]=1) 130006 // PC=14: sw #06, #00 // mem[LOOPBACK] = 99 (портим y[0]) D030A // PC=15: mov #0A, #03 // COUNTER = 0 D040B // PC=16: mov #0B, #04 // PTR_X = 0x10 D050C // PC=17: mov #0C, #05 // PTR_Y = 0x15 D0209 // PC=18: mov #09, #02 // RESULT_1 (используем как флаг для Теста 2) = True D0104 // PC=19: mov #04, #01 // LOOPBACK = PTR_X 120600 // PC=1A: lw #06, #00 // TEMP_X = mem[LOOPBACK] D0105 // PC=1B: mov #05, #01 // LOOPBACK = PTR_Y 120700 // PC=1C: lw #07, #00 // TEMP_Y = mem[LOOPBACK] 90607 // PC=1D: cmp #06, #07 // Сравниваем B1F00 // PC=1E: je ->PC=1F // Если равны (вдруг чудо), прыгаем на инкремент D020A // PC=1F: mov #0A, #02 // RESULT = 0 (False) A2200 // PC=20: jl ->PC=22 // Переход к финалу (вместо end) 10408 // PC=21: add #04, #08 // PTR_X += 1 10508 // PC=22: add #05, #08 // PTR_Y += 1 10308 // PC=23: add #03, #08 // COUNTER += 1 9030D // PC=24: cmp #03, #0D // Сравниваем COUNTER и CONST_N A1900 // PC=25: jl ->PC=19 // Если не все, прыгаем на начало Теста 2 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000 00000