|
|
|
iff |
|
|||
Администратор Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 5 Всего: 16 |
У меня в коде нужно поставить инструкцию JMP 0F80H:100H, но TASM выдает ошибку при ее компиляции. почему? как грамотно эту инструкцию записать в исходнике?
Я нашел только один выход: вместо JMP 0F80H:100H написать DB 0EAH,00H,01H,80H,0FH (маш. код) -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
500mhz |
|
|||
шайтан Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
не помню точно но по моему в тасме что то типа FAR нада было указывать
-------------------- |
|||
|
||||
spin2 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 598 Регистрация: 15.12.2005 Где: Москва-Одесса Репутация: нет Всего: 31 |
iff, а что именно тебе пишут? Может просто слишком далеко прыгаешь?
-------------------- |
|||
|
||||
iff |
|
|||
Администратор Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 5 Всего: 16 |
JMP не может слишком далеко прыгать. Вот инструкции JE, JNE, JA и т.п. - да, они поддерживают только близкие переходы, а JMP может прыгать от 0000:0000 до FFFF:FFFF. Во всяком случае программа debug нормально транслирует эти инструкции (я ведь машинный код DB 0EAH,00H,01H,80H,0FH при помощи debug нашел, и он работает).
500mhz, указывал far, всеравно пишет Illegal immediate. Добавлено через 2 минуты и 4 секунды Illegal immediate значит Недопустим непосредственный операнд, т.е. нужно указывать адрес через память или регистр. странно, ведь debug нормально транслирует непосредственный операнд, может быть использовать дириктиву процессора... -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
500mhz |
|
|||
шайтан Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
)))
push push ret ну если че ))) -------------------- |
|||
|
||||
iff |
|
|||
Администратор Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 5 Всего: 16 |
500mhz, пишу загрузочный сектор для диска (512 байт), поэтому не хочу применять громосткие решения. Да и просто хочу, что бы в том месте где нужно инструкция JMP была инструкция JMP
Остановился пока что на том, чтобы использовать всавку машинного кода:
-------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
500mhz |
|
|||
шайтан Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
а таки надо прям на тасме это делать?
-------------------- |
|||
|
||||
Logree |
|
|||
Опытный Профиль Группа: Участник Сообщений: 331 Регистрация: 22.11.2006 Где: Самара Репутация: 1 Всего: 2 |
fasm создан для того чтобы писать загрузочные сектора -------------------- Самый распространенный способ дебага пятиста строк ассемблерного кода - очень долгий, очень пристальный и очень задумчивый взгляд. |
|||
|
||||
500mhz |
|
|||
шайтан Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
вот именно )))
в фасме jmp 0000:0000 компилится на ура -------------------- |
|||
|
||||
newsoft |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 5.1.2012 Репутация: нет Всего: нет |
jmp far ptr 0f80h:100h |
|||
|
||||
iff |
|
|||
Администратор Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 5 Всего: 16 |
Спасибо
-------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |