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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 13:27   #1
Юрий20112011
Новичок
Джуниор
 
Регистрация: 05.05.2011
Сообщений: 2
Печаль Подправьте программу пожалуйсто ( Аsm)

Программа должно писать "ДА" если вторая строчка есть целиком в первой. И "НЕТ" если нету. Она у меня работает неправильно. Исправьте пожалуйсто.
Код:
data segment 
COUNT db 10 dup (0) 
IN_STR db 80, ?,82 dup (?) 
IN_STR2 db 80, ?,82 dup (?) 
beg2 db 0dh, 0ah,'Yes', 0dh, 0ah,'$' 
beg1 db 0dh, 0ah,'No', 0dh, 0ah,'$' 
OUT_STR db 0Dh, 0Ah,'$' 
data ends 
code segment 
assume cs:code, dsata 
START: mov ax, data 
mov ds, ax 

lea dx, IN_STR 
mov ah, 0ah 
int 21h 

lea dx, OUT_STR 
mov ah, 09h 
int 21h 

lea dx,IN_STR2 
mov ah,0ah 
int 21h 

lea dx,OUT_STR 
mov ah,09h 
int 21h 

Beg: 

xor ax,ax 
xor bx,bx 
mov cl, IN_STR+1 
mov ch, IN_STR2+1 

lea bx, in_str+2 
lea si, in_str2+2 
sravnenie: 

mov al,[bx] 
mov dl,[si] 
push bx 
push si 
cmp al,dl 
jne sled 
cmp ch,0 
je oda 
SuB ch,1 
inc bx 
inc si 
jmp sravnenie 

sled: pop bx 
pop si 
cmp cl,0 
je vix 
sub cl,1 
inc bx 
lea si, in_str2+2 
jmp sravnenie 
vix: 
lea dx,beg1 
mov ah,09h 
int 21h 
jmp nav 

oda: lea dx,beg2 
mov ah,09h 
int 21h 
jmp nnv 
nav: mov dl,dl 
nnv: mov bl,bl 

QUIT: mov ah,08h 
int 21h 
mov ax, 4C00h 
int 21h 
code ends 
end START

Последний раз редактировалось Serge_Bliznykov; 05.05.2011 в 15:15.
Юрий20112011 вне форума Ответить с цитированием
Старый 05.05.2011, 14:20   #2
Юрий20112011
Новичок
Джуниор
 
Регистрация: 05.05.2011
Сообщений: 2
По умолчанию

Нашел фух)) если куто надо-рабочая
Код:
data segment
COUNT db 10 dup (0) 
IN_STR db 80, ?, 82 dup (?) 
IN_STR2 db 80, ?, 82 dup (?)
beg2 db 0dh, 0ah,'Yes', 0dh, 0ah,'$' 
beg1 db 0dh, 0ah,'No', 0dh, 0ah,'$' 
OUT_STR db 0Dh, 0Ah,'$'
data ends
code segment
assume cs:code, ds:data
START: 	mov ax, data 
	mov ds, ax 	

lea dx, IN_STR
mov ah, 0ah
int 21h 

lea dx, OUT_STR
mov ah, 09h
int 21h
 
lea dx,IN_STR2 		
mov ah,0ah 	
int 21h 		

lea dx,OUT_STR 		
mov ah,09h 	
int 21h 

Beg:

	xor ax,ax
	xor bx,bx
        mov cl, IN_STR+1
	mov ch, IN_STR2+1

	lea bx, in_str2+2
	mov si, bx
	lea bx, in_str+2
sravnenie:
	 
	  mov al,[bx]
	  mov dl,[si]
          mov di,bx
	  push bx
          mov bx,di
	  cmp al,dl
         jne sled
	SuB ch,1
            cmp ch,0
             je oda
            inc bx 
	   inc si 
         jmp sravnenie    
            
sled:     pop bx
	  cmp cl,0
	 je vix
	sub cl,1
	 inc bx 
	lea si, in_str2+2
	mov ch, IN_STR2+1
        jmp sravnenie
       vix:  
  		    lea dx,beg1 		
                    mov ah,09h 	
 		    int 21h 
                   jmp nav	
    
  oda:             lea dx,beg2 		
                   mov ah,09h 	
 		   int 21h 
                   jmp nnv
nav: mov dl,dl
nnv: mov bl,bl                

QUIT: mov ah,08h
	int 21h
 mov ax, 4C00h 	
 int 21h		
code ends
end START

Последний раз редактировалось Serge_Bliznykov; 05.05.2011 в 15:15.
Юрий20112011 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подправьте программу!!!!!!СМОТРИТЕ ВНУТРИ Kolyan56577 Паскаль, Turbo Pascal, PascalABC.NET 4 22.06.2010 18:30
Пожалуйсто оцените программу dinamid Мультимедиа в Delphi 11 13.10.2009 14:10