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

воскресенье, 14 января 2018 г.

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

  
Ищете, куда вложить имеющиеся средства? Генератор инвестиционного портфеля.
  
Subscribe.ru
RFpro.ru: Ассемблер? Это просто! Учимся программировать

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

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 604
• повысить рейтинг »
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 52
• повысить рейтинг »
quirck
Статус: 1-й класс
Рейтинг: 0
• повысить рейтинг »

• Assembler

Номер выпуска:1682
Дата выхода:14.01.2018, 15:45
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:53 / 18
Вопросов / ответов:1 / 1

Консультация # 192344: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: задача: написать программу, находящую максимальный или минимальный символ в исходной строке. написал код, который вроде как должен найти максимальный символ. пожалуйста, помогите, завтра к утру уже нужно сдавать. правильно ли я вообще написал код? и вывод не пойму как правильно сделать ...

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

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
задача: написать программу, находящую максимальный или минимальный символ в исходной строке.
написал код, который вроде как должен найти максимальный символ. пожалуйста, помогите, завтра к утру уже нужно сдавать. правильно ли я вообще написал код? и вывод не пойму как правильно сделать

Дата отправки: 08.01.2018, 18:33
Вопрос задал: bukety.sedobnye (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


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

Здравствуйте, bukety.sedobnye!
Держите программу, сравните со своей... smile

Код (Assembler) :: выделить код
;написать программу, находящую максимальный или минимальный символ в исходной строке.  	.model	small  	.stack	100h  	.data  	szStr		EQU	250  	msg1		db	'Stroka:',10,13, '$'	  	NextLine	db     13,10,'$'  	MsgMax		db	'Max = $'  	MsgMin		db	13,10,'Min = $'  	MsgPustaya	db	'Net stroki!$'  	Stroka		db	szStr dup(?) 	; строка  	.code  start:	  	mov	ax, @data	  	mov	ds, ax	  	mov	es, ax    ; вывод 1-го сообщения  	mov	ah, 09h  	mov	dx, offset msg1  	int	21h     ; ввод строки   	mov	ah, 3fh				;функция DOS для чтения с ручного ввода  	mov	bx, 0				;описание стандартного ввода  	mov	cx, szStr			;считываем строку до максимально установленной длины  	mov	dx, OFFSET Stroka  	int	21h				;в AX - длина введенной строки, в конце коды 0dh,0ah    ; следующая строка     	lea	dx, nextLine  	mov	ah, 9  	int	21h      ; ищем символ   	lea	si, Stroka  	mov	bx, 00ffh			;bh - max, bl - min (сначала самые большой и маленький код!)    sleduiushii_simvol:    	mov	al, [si]  	inc	si  	cmp	al, 0dh				;при вводе при помощи ф-и 3fh в конце строки будут коды 0dh и 0ah!  	je	konez  						; сравниваем символы  	cmp	al, bl 				;сравним с минимальным  	jae	cmp_max				;если больше или равно, то на сравнение с максимальным  	mov	bl, al				;сохраним, как новый минимальный  cmp_max:  	cmp	al, bh				;сравним с максимальным  	jbe	sleduiushii_simvol		;если меньше или равно, то на чтение следующего символа  	mov	bh, al				;иначе - сохраним, как максимальный  	jmp 	sleduiushii_simvol    konez:						;выведем результат  	cmp	bx, 00ffh			;сначала сравним, была ли введена строка  	je	Pustaya_stroka			;если макс и мин не изменились, то ничего введено не было!  	  	mov	dx, offset MsgMax  	mov	ah, 9  	int	21h				;сообщение и макс символе  	mov	dl, bh				;значение  	mov	ah, 2  	int	21h				;выводим символ  	  	mov	dx, offset MsgMin		;аналогично для минимального  	mov	ah, 9  	int	21h  	mov	dl, bl  	mov	ah, 2  	int	21h    	lea	dx, nextLine  	mov	ah, 9  	int	21h    	  ; завершение программы     exit:	  	mov	ah, 0				;подождем нажатие на клавишу, чтобы окно сразу не закрылось  	int	16h  	  	mov	ah, 04Ch	  	int	21h    Pustaya_stroka:  	mov	dx, offset MsgPustaya  	mov	ah, 9  	int	21h  	jmp	exit  	end	start  

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

5
Огромное спасибо! Теперь вижу, что делал неправильно
-----
Дата оценки: 08.01.2018, 20:31

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

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


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

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

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


 
     Прошлые выпуски
RFpro.ru: Ассемблер? Это просто! Учимся программировать RFpro.ru: Ассемблер? Это просто! Учимся программировать RFpro.ru: Ассемблер? Это просто! Учимся программировать Все выпуски рассылки
 
Если выпуск не отображается, вы можете прочесть его на сайте

Это сообщение было отправлено на admin10383.deep@blogger.com потому, что вы подписались на рассылку comp.prog.assembler на subscribe.ru.
Чтобы гарантировать получение писем от нас — добавьте наш адрес в адресную книгу.

Вы можете отказаться от получения писем.

Архив рассылки Поддержка подписчиков

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

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