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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2015, 15:32   #1
help_me_plz
Новичок
Джуниор
 
Регистрация: 27.09.2015
Сообщений: 2
Сообщение помогите с Ассемблером

Мне надо сравнить две строки, ошибок нету, но программа не работает, т.е не сравнивает (помогите пожалуйста)

Код:
.286
.model small
.stack 100h
.data
   buff	db 101 dup(?)
   fuck db 'Suck my dick$'
   suck db '12345e'
   nosuck db '12345e'
.code
  
compar:
   
   cld ;просмотр цепочки в направлении возрастания адресов
   mov cx,6 ;длина цепочки
   mov si, offset suck
   mov di, offset nosuck
   repe cmpsb
   jc ura
   jmp Ending
start:   
cong:
    mov ax, @data
    mov ds,ax

    call compar
ura: 
    mov ah,9
	lea dx,fuck
	int 21h
Ending:
   mov	ah,4ch
   int  21h                     ;Здесь не начало программы, начало выше...
END start

Последний раз редактировалось Stilet; 27.09.2015 в 15:40.
help_me_plz вне форума Ответить с цитированием
Старый 27.09.2015, 15:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
проект "как есть" на нем не компилируется, оно и понятно
А почему не JMP?
И кстати, отлачике прогу отрабатывал?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.09.2015, 21:26   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Код:
USE16
ORG 100h
JMP start

mess1   DB 'Compare strint: $'
mess2   DB 'OK! $'
mess3   DB 'ERROR! $'

str1    DB '12345e'
str2    DB '12345e'

start:
   MOV   AH,9                  ; текст юзеру..
   MOV   DX,mess1
   INT   21h

   MOV   CX,6                  ; длина строки
   MOV   SI, str1              ; адреса строк...
   MOV   DI, str2              ;   .................
   REPE  CMPSB                 ; сравнивать, пока ZF не установится
   MOV   AH,9                  ; подготовка к выводу результата на экран
   JZ    ok                    ; проверяем флаг ZF на нуль.
   MOV   DX,mess3              ; значит ZF=1 - ERROR!
   INT   21h
   JMP   exit                  ; на выход...
ok:
   MOV   DX,mess2              ; ZF=0 - мессага ОК!
   INT   21h

exit:                          ; по-клавише на выход!
   XOR   AX,AX
   INT   16h
   RET
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с ассемблером GIO Помощь студентам 1 11.12.2007 13:12