|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.11.2010, 19:45 | #1 |
Регистрация: 07.11.2010
Сообщений: 7
|
Assembler (обратный код числа сохранить в стек)
Здравствуйте! Очень нужна помощь в решении задачи:
Составить программу, которая вычисляет обратный код числа, хранящегося в памяти и сохраняет его в стеке. я не понимаю как вычислить обратный код числа и сохранить его в стек у меня получилось что-то вроде этого (то есть обратный код числа 3 0011 и совпадает с прямым, а обратный код числа -3 0100) в 12-ой строчке не представляю что делать( 1 model small 2 stack 100h 3 .data 4 xx dw -3 5 .code 6 start: 7 mov ax, @data 8 mov ds, ax 9 mov ax, xx 10 cmp ax, 0 ;сравнение с 0 11 JGE m1 ; если больше либо равно- перепрыгиваем 12 NEG xx ; изменение знака 13 mov ax, xx 14 m1: 15 push xx ; сохранение в стек 16 mov ax, 4c00h ; возврат управления 17 int 21h ; опирационной системе 18 end start ; конец программы с именем start |
07.11.2010, 21:55 | #2 |
Регистрация: 07.11.2010
Сообщений: 7
|
может есть какая-то функция берущая код числа или можно математически вычислить?
есть хоть какие-то мысли на эту тему? |
07.11.2010, 22:11 | #3 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Что-то не очень понимаю что вам нужно сделать.
Из отрицательного числа получить положительное ? Кажется понял.. Вам нужно использовать команду NOT а не NEG.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4 Последний раз редактировалось Goodwin98; 07.11.2010 в 22:15. |
07.11.2010, 22:33 | #4 |
Регистрация: 07.11.2010
Сообщений: 7
|
нет, это я так в программе написала...(это заведомо не верно)
вот например в памяти хранится число -6 надо его обратный код записать в стек. Обратный код положительного числа совпадает с его прямым кодом, а обратный код отрицательного числа представляет инверсию прямого кода. То есть, думаю, надо сделать проверку положительное или отрицательное число хранится в памяти, если положительное, то код числа записать в стек, если отрицательное, то как-то преобразовать или вытащить код этого числа и опять же сохранить в стек. |
07.11.2010, 23:22 | #6 |
Регистрация: 07.11.2010
Сообщений: 7
|
точно, наверно надо команду not использовать, а вот зачем test ax,ax я не поняла?
|
07.11.2010, 23:33 | #7 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Здесь
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
код кнопок удалить,изменить,сохранить в foxpro | Defa4ka | Помощь студентам | 1 | 08.11.2010 09:45 |
assembler числа | AlexandrHouse | Помощь студентам | 4 | 01.02.2010 19:03 |
Вывод числа (assembler) | andresan | Помощь студентам | 6 | 16.11.2009 12:38 |
Как сохранить html код из приложения? | Robin_ | Работа с сетью в Delphi | 4 | 08.05.2008 17:04 |
сохранить код страницы в txt файл на компьютере | DimkinStd | Общие вопросы Delphi | 8 | 28.01.2007 17:15 |