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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2010, 19:01   #1
Shark2.1
Новичок
Джуниор
 
Регистрация: 11.12.2010
Сообщений: 1
По умолчанию Создание знаковых 16-разрядных целых чисел и операции умножения на ASM-51 (для микроконтроллеров MCS-51)

Привет.
Я знаю, я наверно лезу с глупыми вопросами. Но порою хочется получить толковое разъяснение и принцип алгоритмов.

Прохожу курс программирования микроконтроллеров MCS-51 (atmel). Используется язык ASM-51.


Не могу четко осознать, как задавать 16-разрядные знаковые числа.

Знаю, что обычное (без знаковое) будет задаться 2мя регистрами (например R0 и R1), однако не понимаю этого.
Например:
23 dec=17 hex=0001 0111 (8 бит, так как используются 8битные регистры). Разве не достаточно 1 регистра?

Тем более сложно пойти дальше со знаковыми:
Как задавать знаковые числа в asm? Нужно использовать дополнительные ячейки данных (регистры?!)? Научите.




Отчего такие вопросы? Мне было дано задание: умножить 16-разрядное знаковое целое и 8-разрядное (равное 2^n, т.е. 2,4,8,16,32 и т.д.) при условии сохранения знака.

Не зная как задавать знаковые числа, а так же не понимая в чем ЗАПРОГРАММИРОВАННАЯ разница между 16ричными и 8ричными числами, в задании я только вижу умножение 2х чисел:

Шестнадцатеричное (R0 R1) * Восьмеричное (R2)
R0(0000 0000) R1(0000 0000) * R2(0000 0000)
Вижу, что при умножении младших следует учитывать сдвиг. Так ведь?
Код:
MOV R0,#FF
MOV R1,#FF
MOV R2,#FF

MOV A,R0
MOV B,R2
MUL AB

СОХРАНЯЕМ ЗНАЧЕНИЯ А И B В СВОБОДНЫЕ РЕГИСТРЫ

MOV A,R1
MOV B,R2
MUL AB
А как дальше? Да и пример с без знаковыми =(

Научите кто как может)
Спасибо заранее.

Последний раз редактировалось Shark2.1; 11.12.2010 в 19:14.
Shark2.1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычисление для знаковых и беззнаковых целых чисел!!!! senna_ololo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.06.2010 23:38
Вычисление для знаковых и без знаковых целых чисел в asm. kup9 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 06.06.2010 18:21
Составить программу для n-разрядных чисел LiptonICE Помощь студентам 18 06.05.2010 09:08
TASM - нахождения максимального числа из трех положительных целых чисел и умножения максимального числа iggor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 24.05.2009 20:16