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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2012, 09:16   #1
Piefighter
Новичок
Джуниор
 
Регистрация: 28.12.2012
Сообщений: 2
По умолчанию Снова человек-кляньча, но ситуация срочная, пож.,взгляните

Не просил бы такого, но ситуация вынуждает, Сейчас на автобусе ехать в др. город, там зачет по архитектуре компьютеров, ошибиться не можно в задаче, поэтому и прошу, понимаю, что сам должен знать ассемблер, но недоучил на данный момент, самоизучение будет.

А пока, пожалуйста, будете просто замечательнейшими людьми!

IA-16
1. X – двойное слово. Необходимо переставить местами оба слова двойного слова X.
6. Даны числа X – слово и Y – байт. Вычислить Z = X * Y.
13. Ввести с клавиатуры строку (кол-во символов не больше 10). И определить ее длину.
--
1. Даны два числа размером в слово. Найти максимальное из них.
13. Сравнить два числа X и Y. Если они равны, вывести на экран строку ‘X=Y’, иначе – ‘X <>Y’.
8. Дано десятичное число N. Подсчитать количество цифр в числе
6. Вычислить N!
Piefighter вне форума Ответить с цитированием
Старый 28.12.2012, 09:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Даны числа X – слово и Y – байт. Вычислить Z = X * Y.
Код:
mov ax,[X]
mov bl,[Y]
mul ax
Цитата:
Вычислить N!
Код:
mov ax,1
mov cx,[N]
aga:
 mul ax,cl
loop aga
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.12.2012, 13:02   #3
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Stilet
это на каком же ассемблере есть такая команда?
Код:
mul ax,cl
Mikl___ вне форума Ответить с цитированием
Старый 28.12.2012, 17:49   #4
Piefighter
Новичок
Джуниор
 
Регистрация: 28.12.2012
Сообщений: 2
По умолчанию

Спасибо необъятное, итог--успех!
Piefighter вне форума Ответить с цитированием
Старый 28.12.2012, 18:19   #5
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

даже несмотря на ошибки в каждом ответе? о0
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 14.01.2013, 20:27   #6
xcislav
 
Регистрация: 16.07.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
Stilet
это на каком же ассемблере есть такая команда?
Код:
mul ax,cl
Видимо такой уж компилятор. Но программируя в HEX, я скажу вам, что чистый mul:
F6(E0..7) и imul 69=F6(E8-EF) представляют собой команды, воздействующие косвенно на другие регистры (как напр. часть результата в dx) !

Также имеет свои особенности в условиях плавающего кода и инструкции
FMUL при совместительстве с FLD (для начала FNINIT (9B) DB E3 )
(D8/DC) (C8)()

Так что как c реализацией случается уже совершенно по-разному.

Последний раз редактировалось xcislav; 14.01.2013 в 20:43.
xcislav вне форума Ответить с цитированием
Старый 14.01.2013, 22:30   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это на каком же ассемблере есть такая команда?
Я писал с потолка. Не претендую на 100% спирт, как говорится.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2013, 04:32   #8
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Цитата:
Сообщение от Mikl___
Stilet,
это на каком же ассемблере есть такая команда? mul ax,cl
Цитата:
Сообщение от xcislav
Видимо такой уж компилятор. Но программируя в HEX, я скажу вам, что чистый mul: F6(E0..7) и imul 69=F6(E8-EF) представляют собой команды, воздействующие косвенно на другие регистры (как напр. часть результата в dx) !
xcislav,
вы открыли мне глаза, теперь я буду знать, что есть "чистый mul" и "грязный mul" и всё же есть
  • mul/imul с одним оператором reg/mem
  • imul с двумя операторами, (imul reg,reg и imul reg,mem)
  • и imul с тремя операторами (imul reg,reg,imm и imul reg,mem,imm)
но
  1. команда mul только однооперандная
  2. для команды imul во всех случаях разрядность должна совпадать, то есть не может быть imul ax,cl а только imul ax,cx
  3. для двухоперандного imul оба оператора должны быть 16 или 32 или 64-разрядными, но не могут быть размером в байт
Mikl___ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шашки человек-человек ( язык С ) forgot Помощь студентам 1 06.05.2012 15:50
Опять я Ребята взгляните uchenik_pro Общие вопросы Delphi 4 17.08.2010 03:59
В JS не шарю, взгляните на код Byblick32 JavaScript, Ajax 4 16.08.2010 21:12
взгляните на код в С++ mspavlyxa Общие вопросы C/C++ 12 17.09.2009 00:07