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

вторник, 10 апреля 2012 г.

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

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

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

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

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

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

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

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

Номер выпуска:1510
Дата выхода:10.04.2012, 16:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:99 / 40
Вопросов / ответов:1 / 1

Консультация # 185769: Здравствуйте, уважаемые эксперты! Прошу вас написать программу вот с таким заданием: Дана матрица размером m x m. Записать главную диагональ (любую из двух) в обратном порядке. Желательно к каждой строке прописать комментарии. И сделайте пожалуйста без использования процедур и макросов. п.с. Ассемблер : TASM Размер пе...


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

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

Дана матрица размером m x m. Записать главную диагональ (любую из двух) в обратном порядке.

Желательно к каждой строке прописать комментарии.
И сделайте пожалуйста без использования процедур и макросов.

п.с.
Ассемблер : TASM
Размер переменных: Слово
Числа в матрице рандомные
Размер матрицы не будет больше 5x5

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

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


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

Здравствуйте, Yankov Dmitry!
Предлагаю такую программу.
Для заполнения матрицы использовал несложный генератор псевдослучайных чисел.
Для его инициализации - системное время.
Если что непонятно, спрашивайте.

Код :
 	.model	small  N	equ	5		;размерность матрицы 	.data seed	dw	?		;очередное псевдослучайное число matrix	dw	5*5 dup (?)	;матрица 5*5 слов  	.code start: 	mov	ax, @data 	mov	ds, ax 	mov	es, ax  	call	randInit	;инициируем последовательность псевдослучайных чисел  ;заполним матрицу псевдослучайными числами 0-99 	lea	di, matrix	;адрес 	mov	cx, N*N		;количество formMatrixLoop: 	call	rand		;получаем число 	stosw			;пишем в матрицу 	loop	formMatrixLoop	;по всем элементам матрицы  ;запишем главную диагональ в обратном порядке 	xor	si, si		;смещение элемента левого верхнего угла матрицы (самого первого) 	mov	di, 2*(N*N-1)	;смещение элемента правого нижнего угла матрицы (самого последнего) ChangeLoop:			;по элементам главной диагонали 	cmp	si, di		;меняем, пока первый индекс меньше второго 	jae	ChangeEnd	;все сделано - на выход 	mov	ax, matrix[si]	;меняем местами matrix[si] и matrix[di] 	xchg	ax, matrix[di] 	xchg	ax, matrix[si] 	add	si, 2*(N+1)	;смещаем на следующий диагональный 	sub	di, 2*(N+1)	;смещаем на предыдущий диагональный 	jmp	ChangeLoop	;на следующий обмен ChangeEnd: 	 	mov	ax, 4c00h 	int	21h  ;инициализация последовательности псевдослучайных чисел randInit	proc 	mov	ah, 2ch		;запрашиваем текущее время 	int	21h		;получим: ch - секунды, cl - сотые секунды, dh - часы, dl - минуты 	xor	cx, dx		;сделаем более "случайным" 	xchg	ch, cl		;и чтобы младший байт шел первым 	mov     seed, cx	;сохраним 	ret randInit	endp  ;получение очередного псевдослучайного числа в диапозоне 0-99 rand	proc	near 	mov	ax, seed	;предыдущее случайное число 	mov	dx, 8E45h	;возьмем вот такое число 	mul	dx		;и умножим на него 	inc	ax		;чтобы исключить "зацикливание" на нуле 	mov	seed, ax	;сохраним 	xor	dx, dx		;получим число в диапозоне 0-99 	mov	bx, 100		;для этого разделим на 100 	div	bx 	mov	ax, dx		;и возьмем остаток от деления 	ret rand	endp 	end	start 

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

5
нет комментария
-----
Дата оценки: 09.04.2012, 17:47

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

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


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

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

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


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

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

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

10 апреля 2012 отмечают:
Международный день движения сопротивления
День памяти Преподобного Илариона
В Англии вступил в силу закон об авторском праве

Именины: Василий, Иван, Иларион, Илья, Степан
 
 

Subscribe рекомендует
 
Компьютеры и интернет  →   рассылки   и   группы
  
Как быстро создать целевую страницу
В этой рассылке вы научитесь быстро и качественно создавать свои целевые страницы или мини сайты по различным тематикам. Не нужно никаких знаний языков программирования, просто бери и делай!!!
Подписчиков: 2
  Учим язык нескучно. Английский с X-files
Цель данной рассылки - расширение словарного запаса и улучшение грамматики без изнурительной и нудной зубрежки.
Подписчиков: 1029
  xWara.Ru новинки Кино Музыки Софта Юмор и многое другое
Ссылки на загрузку новейшего софта, музыки, игр, новинок кино. Юмор, демотиваторы, прикольное видео.
Подписчиков: 578
 
 
 
Подписан адрес: admin10383.deep@blogger.com
Код этой рассылки: comp.prog.assembler
Архив рассылки
Отписаться:  На сайте  Почтой
Поддержка подписчиков
Убрать рекламу
Другие рассылки этой тематики
Другие рассылки этого автора
 
Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

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

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