WMmail.ru - сервис почтовых рассылок

понедельник, 2 апреля 2012 г.

RFpro.ru: Ассемблер? Это просто! Учимся программировать

 
Если выпуск не отображается, вы можете прочесть его на сайте Отказаться от рекламы
  
  
Только реальные скидки! До -90%
  
  
  

  Мои подписки      Мои группы      Мои новости     
        Автор 
Калашников О.А.
      
  
Компьютеры и интернет   →   Софт   →   Программирование   →   RFpro.ru: Ассемблер? Это просто! Учимся программировать
  
RFpro.ru: Ассемблер? Это просто! Учимся программировать
 
 

Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 10288
• повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Академик
Рейтинг: 3890
• повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2404
• повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Assembler (Ассемблер)

Номер выпуска:1509
Дата выхода:03.04.2012, 02:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:100 / 41
Вопросов / ответов:1 / 1

Консультация # 185720: Здравствуйте, уважаемые эксперты! Прошу вас написать программу вот с таким заданием: Дано 32-битное слово, поменять местами 15 и 16 биты. Как она будет выглядеть в программе, я не понимаю, так что помогите решить, желательно к каждой строке комментарии. п.с. Ассемблер : TASM Размер переменных: двойное слово 32-битные ...


Консультация # 185720:

Здравствуйте, уважаемые эксперты! Прошу вас написать программу вот с таким заданием:

Дано 32-битное слово, поменять местами 15 и 16 биты.

Как она будет выглядеть в программе, я не понимаю, так что помогите решить, желательно к каждой строке комментарии.

п.с.
Ассемблер : TASM
Размер переменных: двойное слово
32-битные регистры используем.
Число прописываем сами в файле asm

Заранее спасибо.

Дата отправки: 31.03.2012, 01:56
Вопрос задал: Yankov Dmitry (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, Yankov Dmitry!
Программа сделана универсально, может менять местами любые два бита
Кроме того, сделана из расчета, что биты считаются с 0,
Т.е., меняя биты 15 и 16, мы поменяем местами старший бит младшего слова
и младший бит старшего.
Если Вы считаете биты с единицы, т.е. нужно поменять местами два старших бита
младшего слова, то поменяйте в программе номера бит на 14 и 15
Удачи в понимании ассемблера! smile

Код :
 	.model	small 	.data num	dd	00000000000000001101010110101010b  	.code 	.386 start: 	mov	ax, @data 	mov	ds, ax  	mov	eax, num	;наше число 	mov	cl, 15		;номер первого бита (счет с 0) 	mov	ch, 16		;номер второго бита (счет с 0) 	call	ChangeBits	;меняем биты в eax 	mov	num, eax	;сохраняем результат  	mov	ax, 4c00h 	int	21h  ;меняем местами два бита врегистре eax,  ;номера бит заданы в cl и ch ChangeBits	proc ;сформируем маску первого бита 	mov	edx, 1		;поставим 1 в нужную позицию 	shl	edx, cl		;номер бита будет число, на которое надо сдвинуть ;сформируем маску второго бита 	mov	cl, ch		;его номер	 	mov	ebx, 1 	shl	ebx, cl		;маска бита в ebx ;сформируем общую маску двух бит 	or	edx, ebx  ;проверим, какие биты на указанных местах 	mov	ecx, eax	;наше число 	and	ecx, edx	;оставляем только нужные биты 	jz	CBret		;если оба нуля, то менять местами не надо 	cmp	ecx, edx	;если равны маске, значит оба единицы,  	jz	CBret		;также не меняем 	xor	eax, edx	;если разные, то операцией xor с единицами меняем местами CBret: 	ret ChangeBits	endp  	end	start  

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 31.03.2012, 20:29

5
нет комментария
-----
Дата оценки: 31.03.2012, 21:29

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


 
 
Комментировать выпуск
     В избранное

Прошлые выпуски
RFpro.ru: Ассемблер? Это просто! Учимся программировать    29 марта 2012, 11:02
RFpro.ru: Ассемблер? Это просто! Учимся программировать    23 марта 2012, 16:02
RFpro.ru: Ассемблер? Это просто! Учимся программировать    26 февраля 2012, 14:33

Все выпуски рассылки

2 апреля 2012 отмечают:
Международный день детской книги
Всемирный день распространения информации о проблеме аутизма
День единения народов Беларуси и России
День ветеранов и павших на войне

Именины: Александра, Мирон, Никита, Прасковья, Светлана, Севастьян, Сергей, Василий, Виктор, Виссарион, Герман, Иван, Клавдия, Максим, Мария
 
 

Subscribe рекомендует
 
Компьютеры и интернет  →   рассылки   и   группы
  
Путеводитель по интернету
Все, что вы хотели знать об интернете, но боялись спросить. Читайте эту рассылку и становитесь продвинутым пользователем!
Подписчиков: 1211
  Микроконтроллеры PIC фирмы Microchip для начинающих
В данной рассылке будут рассматриваться вопросы, связанные с архитектурой и программированием микроконтроллеров PIC фирмы Microchip. Основы написания приложений для микроконтроллеров этого типа.
Подписчиков: 1237
  Новости сайта Yanakayevs.Narod.Ru
Рассылка новостей сайта Yanakayevs.Narod.Ru, а так же краткое описание новых статей на сайте.
Подписчиков: 87
 
 
 
Подписан адрес: admin10383.deep@blogger.com
Код этой рассылки: comp.prog.assembler
Архив рассылки
Отписаться:  На сайте  Почтой
Поддержка подписчиков
Убрать рекламу
Другие рассылки этой тематики
Другие рассылки этого автора
 
Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

Комментариев нет:

Отправить комментарий