1. Заголовок или название темы должно быть информативным 2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE] 3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора. 5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM! 6. Проверяйте программы перед тем, как выложить их на форум!!
Необходима помощь с немного нестандартной программой Такого ещё нигде не встречал Буду рад любой помощи
Необходимо написать программу помещения в оперативную память по указанному адресу арифметической команды для 32-разрядного ПК. Входную информацию записывать в смешанном символическом и шестнадцатиричном виде.
Мне даже препод не может объяснить толком, т.к решил поэкспериментировать
Ничего себе, эксперименты... Чтоб экспериментировать, вообще-то, надо знать, с чем...
На правах догадки: к примеру, была такая древняя программа COM2END, которая дописывала один COM-файл в конец другого EXE или COM-у, так, чтобы при запуске второго сначала запускался первый (это нужно было для простейшего "запароливания", то есть, сначала запускается проверка пароля, "привинченная" к основному файлу и если пароль правильный - то запускается сам основной файл). Не суть важно. Важно, что там надо было какие-то инструкции записывать в начало/конец файла. Вот как это делалось:
my_proc proc jmp start_code the_code label byte mov ax, cs m1: add ax, 0 ; здесь вместо нуля будет первое вычисленное значение push ax m2: mov ax, 0 ; а здесь - второе, вместо нуля push ax db 0cbh ; ret len_the_code equ $-the_code
Потом этот код настраивался как нужно, то есть, вместо нулей записывались вычисленные реальные данные, это делается очень просто:
mov bx, new_value_1 ; вычисленное значение №1 mov word ptr m1[1], bx
mov bx, new_value_2 ; вычисленное значение №1 mov word ptr m2[1], bx
Вот и все, кусок кода, определенный в таблице the_code, настроен... Теперь его можно записывать, куда угодно. Хоть в файл, хоть по заданному адресу (если ты вообще имеешь туда доступ, естественно).
Еще раз повторяю: это - только догадка. Я совсем не уверен, что твоему преподавателю захотелось поэкспериментировать именно с этим, но во всяком случае похоже...