Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2008, 22:39   #1
BAV
 
Регистрация: 25.02.2008
Сообщений: 8
Печаль Арифметические операции Ассемблер

Здравствуйте, уважаемые участники форума!
Помогите пожалуйста в освоении ассемблера. Дело в том, что у нас в универе по дисциплие Орг. ЭВМ лабы идут на ассемблере. Лекции не по теме, а на лабах препод ничего не объясняет, говорит что-то вроде "Разбирайтесь сами". Ну я я в ассемблере практически ничего не смыслю. После языков высокого уровня ассемблер кажется чем-то иноземным. Может вы подскажете мне что-нибудь, дадите какие-нибудь советы. Больше, пожалуй, мне обратиться не к кому.
Задание состоит в следующем:
1. Переведите числа из десятичной системы счисления в двоичную:
65, 111, 243
2. Сложите и умножьте первые два числа 1-го задания в 2-чной системе счисления. Результат проверьте в 10-чной системе.
3. Запишите числа своего варианта из первого задания в 2-чной системе счисления так: для положительного- отрицательное представление, для отрицательных- их модуль.
4. Выполните первые два задания в 16-ричной системе.
Плюс нужно составить программу, объединяющую в себе предыдущие
В общем, я в полнейшем шоке
Это первая лаба и абсолютно без всяких объяснений!
Помогите пожалуйста кто чем может
BAV вне форума Ответить с цитированием
Старый 26.02.2008, 09:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
1. Переведите числа из десятичной системы счисления в двоичную:
Это как раз не сложно: в ЕАХ загоняем нужное число, ну и с Caption получаем строку в двоичном представлении.
Код:
...
	 mov eax,500
	 mov ecx,32
	 xor esi,esi
a1:  rcl eax,1
	 jnc b1
	 mov [Caption+esi],'1'
	 jmp b2
b1:
	 mov [Caption+esi],'0'
b2:	 inc esi
     loop a1
	 invoke SendMessage, hWnd, WM_SETTEXT, 0, addr Caption
...
(Это как пример, так что помидорами в начинающего меня не кидать)
По поводу остального - можно схитрить, сделать просто отображение в 2-, 16-тиричных системах, а операции применять обычные, если препод сам не шарит в асме его можно будет легко убедить что это реально решения
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.02.2008, 10:30   #3
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

А я вот вообще не понял в чём здесь состоит задание. Ну, допустим, с первым более-менее понятно, здесь вот еще один вариант перевода, но что подразумевается под "проверьте в 10-чной системе"? Операции над упаковаными десятичными числами? Что там подразумевается под всеми этими переходами между основаниями - вид записи или какая-то арифметика?
B_N вне форума Ответить с цитированием
Старый 26.02.2008, 12:21   #4
BAV
 
Регистрация: 25.02.2008
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
если препод сам не шарит в асме его можно будет легко убедить что это реально решения
Как раз таки препод в асме шарит, но объяснять ничего не хочет.
Спасибо за пример, но что такое caption?

Цитата:
Сообщение от B_N Посмотреть сообщение
что подразумевается под "проверьте в 10-чной системе"?
Проверять нужно не не асме, к программе это отношения не имеет
BAV вне форума Ответить с цитированием
Старый 26.02.2008, 12:23   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
что такое caption?
Набор байт... Ну тыж собрался результат куда-то запихнуть, чтоб потом его показать на экране?...
Цитата:
Проверять нужно не не асме, к программе это отношения не имеет
Это как?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.02.2008, 14:14   #6
BAV
 
Регистрация: 25.02.2008
Сообщений: 8
По умолчанию

Цитата:
Это как?
Дело в том, что помимо программы на ассемблере, все эти задания нужно пересчитать вручную
BAV вне форума Ответить с цитированием
Старый 26.02.2008, 15:28   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну так пусть прога считает обычным способом, просто выводи на экран результаты в разных системах.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.03.2008, 21:38   #8
BAV
 
Регистрация: 25.02.2008
Сообщений: 8
По умолчанию

Не могли бы вы подсказать мне что-нибудь по поводу перевода в 16-ую систему счисления
BAV вне форума Ответить с цитированием
Старый 04.03.2008, 15:19   #9
Kriziun
 
Регистрация: 28.02.2008
Сообщений: 8
По умолчанию

Цитата:
Сообщение от BAV Посмотреть сообщение
Не могли бы вы подсказать мне что-нибудь по поводу перевода в 16-ую систему счисления
хххх хххх - число в двоичном коде

Один из самых простых способов:
Группируешь по 4 знака, то есть xxxx и сумируешь с коэффициентами 8,4,2,1 потом сдвиг.
Например 1011 : 1*8+0*4+1*2+1*1=11 тоесть B.

Но в программе проще делать с помощью деления на основание системы.

Например (перевод из десятичного в 16-ный):

105 - число для перевода

105/16=6+ остаток 9, тоесть 69 в 16-ном, более подробно можешь поисакть в нэте.
Kriziun вне форума Ответить с цитированием
Старый 05.03.2008, 00:21   #10
BAV
 
Регистрация: 25.02.2008
Сообщений: 8
По умолчанию

Алгоритм-то я знаю, но как это грамотно реализовать в коде?
BAV вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Битовые операции DrAlexx2121 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 14.06.2008 22:26
операции увеличения в с++ JOFRIF Помощь студентам 8 26.04.2008 20:25
Операции с массивами Stelix Помощь студентам 3 26.03.2008 22:11
Битовые операции LEX.darnica Помощь студентам 14 23.12.2007 19:40
Операции над данными yulia БД в Delphi 24 21.05.2007 01:18