Сборка MOV не работает, отладка для Linux и список кодов INT

У меня проблема... Я использую отладку (в cmd/ms-dos), чтобы узнать некоторые вещи и выполнить некоторые команды... Я установил AX на 1234 и DX в ABCD. Итак, я сделал «-a 100», чтобы зарегистрировать инструкцию, я сделал: mov ah,dl И их «-g» (потому что я установил прерывание) или « -g 102", чтобы выполнить инструкцию и остановиться до смещения 102 (если я не установил прерывание). Когда я выполняю команду -r, чтобы показать значения регистров, они остаются неизменными, это должно быть AX:CD34, но AX равно 1234, похоже, что команда MOV не работает... что я делаю не так?

http://img203.imageshack.us/img203/4866/movdxdldoesntworks.png

(извините за ссылку, мне нужна репутация, чтобы опубликовать изображение)

Я также хотел бы знать, существует ли что-то вроде отладки Windows для Linux, я имею в виду, что у меня есть nasm и yasm в моей установке Linux (на основе Debian), но это просто компилятор, мне нужно записать код в файл, и скомпилировать его для запуска, у нас есть какой-то «эмулятор» или инструмент «отладки» для ASM в Linux? Нравится программное обеспечение Debug для Windows на картинке выше?

И последнее, извините, что так длинно сообщение с 3 вопросами, но я не хочу "заливать" большим количеством тем, поэтому, мой последний вопрос, где я могу найти какой-то список прерываний? Я хотел бы найти какой-нибудь список или руководство с функциями машинного кода. В книге Питера Нортона, например, когда у меня есть «02h» в регистре «AH», я говорю DOS вывести на экран один символ, а он говорит: «Если вы хотите найти список функций, вы можете посмотреть ваше руководство по DOS», ну, я не могу найти это руководство по dos (в linux мы можем ввести «man», и у нас есть руководства для всего), функция «помощь» в Windows — это только список простых команд, а не настоящее руководство как unix "человек".

Я пытаюсь найти его в Google, но каждое «руководство по DOS», которое я нашел, показывает мне только простые функции, такие как «cd, dir, format, time, blablabla», ничего реального технического о системе или что-то в этом роде... Можете ли вы помочь- мне найти полный список команд и функций "AH"? Я знаю, что INT 18h предназначен для запуска Basic, а INT 19h перезагружает компьютер (парень сказал мне, что 18h для него не запускает Basic, а перезагружает компьютер вместо INT 19h). В гугле тоже нахожу еще 2-3 вхождения, но не "полный" список, у кого-нибудь есть?

Спасибо за помощь, терпение и внимание, я вас люблю! ;)


person jacksonbenete    schedule 13.05.2013    source источник


Ответы (2)


Пожалуйста, попробуйте еще раз с помощью:

.g=cs:0100 0102

http://www.armory.com/~rstevew/Public/Tutor/Debug/debug-manual.html

.........

RBIL: Список прерываний Ralf Browns x86/MSDOS

http://www.pobox.com/~ralf

http://www.pobox.com/~ralf/files.html

ftp://ftp.cs.cmu.edu/ afs/cs.cmu.edu/user/ralf/pub/

Кортик

person Dirk Wolfgang Glomp    schedule 13.05.2013
comment
Спасибо Дирк! Теперь я работал нормально! Я не знаю, зачем нужно использовать uso =cs:0100 0102, но это работает, я прочитаю руководство, чтобы увидеть, нашел ли я объяснение! Спасибо за ссылки, мне они кажутся неработающими, но по имени я могу найти файлы, пользователь 2357782 тоже выложил тот же список (думаю). Реально спасибо чувак! Ваше здоровье! - person jacksonbenete; 13.05.2013

Трудно сказать, почему это не работает в вашем отладчике. Вы пытались просто ввести это в своей программе и поставить точку останова в конце, чтобы увидеть результат?

Вот ответ на вопрос об отладчике Linux (они рекомендуют GDB): Отладчик сборки Linux

Для третьего вопроса у вас есть хороший источник информации о прерываниях: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html

Если ссылка устарела, найдите «Список прерываний Ральфа Брауна».

person metho    schedule 13.05.2013
comment
Один из упомянутых отладчиков Linux принадлежит Терри Лавеллу. Он взял ALD Патрика Алкена и интегрировал код Nasm, чтобы дать ему команду -a. Страница Терри, кашляющая пушистым комком, похоже, исчезла, но у меня есть копия здесь: home.myfairpoint.net/fbkotler/debug-0.0.21.tgz Gdb, вероятно, лучше (-F dwarf может помочь переключение на Nasm), но это похоже на DEBUG... если это функция. :) - person Frank Kotler; 13.05.2013
comment
Действительно спасибо пользователю 2357782 и Фрэнку Котлеру, попробую. Спасибо за внимание. Ваше здоровье! Список прерываний потрясающий! Спасибо! ;Д - person jacksonbenete; 13.05.2013