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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2013, 21:28   #1
KozloKot
Новичок
Джуниор
 
Регистрация: 17.02.2013
Сообщений: 1
По умолчанию Поиск в struct заданного имени Assembler

Всем доброго времени суток!
Есть програмка: дан список людей -ФИО, нужно определить количество людей с заданным именем.

Вот начал писать и завис уже на том моменте, что строки с именами не правильно сравниваются
Не могли бы подсказать в чем дело?
Вот код:

Код:
;Kurs1.asm
.MODEL small
.STACK 100h
list_man struc
        mname            db 30 dup (' ')
        msurname         db 30 dup (' ')
        mlast_name       db 30 dup (' ')
list_man ends 
.data 
 
 mas_man list_man 3 dup (<'Ivanov $','Ivan $','Ivanovich $'>,<'Petrov$','Petr$','Petrovich$'>,<'Sidorov$','Sidor$','Sidodrovich$'>)    
 poisk list_man 1 dup (<'Ivonov $','Ivon $','Ivonovich $'>)
.code




mov ax, @data
mov ds, ax
mov es, ax  
;---------------------------------



;;---------------------------------
;;******************************************
mov	bx,type list_man	
lea	di,mas_man
 
mov	cx,3
c:
        ;lea si,string ;àäðåñ èñòî÷íèêà â ïàðó ds:si
       ;lea di,mas_man ;àäðåñ íàçíà÷åíèÿ â ïàðó ds:si
        push di;
        push si;
        push cx; 
        mov di,offset poisk.mname;
        mov si,offset di.mname
        mov CX,30 ;Äëèíà ñðàâíèâàåìûõ ñòðîê 
        repe cmpsb ;Ïîèñê ðàçëè÷èÿ â ñòðîêàõ 
      ;  cmp si,di
        ;ñðàâíèâàåì èìÿ â ñòðóêòóðå ñ çàäàííûì èìåíåì
        je exit;åñëè ðàâíû òî ñ÷åò÷èê+1 
        lik:
        pop di;
        pop si;
        pop cx
	mov	al,[di.mname]
	
        mov dx, offset di.mname
        mov ah, 09h
        int 21h
       add	di,bx	;ê ñëåäóþùåé ñòðóêòóðå â ìàññèâå mas_sort
loop	c	 
; âûõîä èç ïðîãðàììû 
exit: mov ah, 4ch 
int 21h 
end


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.02.2013 в 10:37.
KozloKot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск заданного поля Анастас Помощь студентам 3 03.11.2011 19:37
Assembler - ввод данных (имени и фамилии) с клавиатуры и вывод на экран МартинИ Помощь студентам 1 25.05.2010 00:40
Помогите с макромом - поиск заданного значения Alenka2319 Microsoft Office Excel 1 12.06.2008 16:34
Cохранить в файл значение заданного имени, тип REG_BINARY. Работа с реестром Windows. DelphiFun Общие вопросы Delphi 9 01.08.2007 21:36
Поиск числа, большего заданного pirozho4ek Паскаль, Turbo Pascal, PascalABC.NET 5 21.05.2007 21:39