33 lines
1.8 KiB
Python
33 lines
1.8 KiB
Python
with open("привет5.квс", "w", encoding="utf-8") as f:
|
||
f.write(".текст\n.глобал _start\n\n")
|
||
|
||
# Мусор в .text
|
||
for i in range(4410):
|
||
f.write(f"наполнитель_{i}: переместить_имм раикс, 0x{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}{i % 256:02x}\n")
|
||
|
||
# Основной код
|
||
f.write("\n_start:\n")
|
||
f.write(" переместить_имм раикс, 1\n")
|
||
f.write(" переместить_имм рдиай, 1\n")
|
||
f.write(" переместить_имм рсиай, msg0\n")
|
||
f.write(" переместить_имм рдикс, 21\n")
|
||
f.write(" вызов_системы\n\n")
|
||
f.write(" переместить_имм раикс, 1\n")
|
||
f.write(" переместить_имм рдиай, 1\n")
|
||
f.write(" переместить_имм рсиай, msg1\n")
|
||
f.write(" переместить_имм рдикс, 21\n")
|
||
f.write(" вызов_системы\n\n")
|
||
f.write(" переместить_имм раикс, 60\n")
|
||
f.write(" переместить_имм рдиай, 0\n")
|
||
f.write(" вызов_системы\n\n")
|
||
|
||
f.write(".данные\n")
|
||
|
||
# Мусорные строки для переполнения страницы
|
||
# Каждая строка ~25 байт, нужно ~410 строк для 10250 байт (2.5+ страницы)
|
||
for i in range(410):
|
||
f.write(f'garbage_msg{i}: .строка "МУСОРНЫЕ_ДАННЫЕ_{i:04d}"\n')
|
||
|
||
# Целевые строки (должны быть на следующей странице)
|
||
f.write('msg0: .строка "Привет мир!\\n"\n')
|
||
f.write('msg1: .строка "Поди прочь!\\n"\n') |