Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

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



Ответ
 
Опции темы
Старый 12.01.2018, 19:37   #1
Ryslan Maxwell
Новичок
 
Регистрация: 12.01.2018
Сообщений: 1
Репутация: 10
По умолчанию Работа со строками FASM

Вот само полное задание что б понимать что ваще происходит:
Рассматривая S и T как символьные массивы (строки), решить следующую задачу:
проверить на равенство строки S и T при условии, что пробелы не учитываются, и записать ответ 1 (равны) или 0 в регистр AL.
S DB 200 DUP(?)
T DB 200 DUP(?)

Принципи я написал как бы но у меня вопрос по этому(код ниже):
Почему то в любом случа хоть равно хоть не равны строки оно всегда выполняет jnz notequal как сделать так что б она при том когда равна выполняла именно equal: а при неравных notequal:? Что я сделал тут не так?
И как как найти в этих строках пробелы и убрать их? я принципи понимаю как типо сдвиг но я не понимаю как это реализовать помогите
Код:

use16
org 100h
 
 
 
  cld 
  mov cx,T-S
  mov si,S
  mov di, T
repe cmpsb
   jnz notequal
   
   equal:
      mov AL,1
      int 21h
      
   notequal:
      mov AL,0
      int 21h
;----------------
S DB 200 DUP(?)
T DB 200 DUP(?)

Ryslan Maxwell вне форума   Ответить с цитированием
Старый 13.01.2018, 01:16   #2
R71MT
Профессионал
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,006
Репутация: 741
По умолчанию

Ryslan Maxwell, работает-же твой код.
попробуй изменить текст, и получишь на экране ноль:
Код:

org 100h

  cld 
  mov  cx,T-S
  mov  si,S
  mov  di,T
  repe cmpsb
  jnz  notequal
   
equal:
  mov  AL,1
  jmp  exit

notequal:
  mov  AL,0

exit:
  add  al,'0'    ; вывод AL на экран
  int  29h
  mov  ah,8      ; пауза...
  int  21h
  ret            ; выход в дос!
;----------------
S DB 'Hello 12345678'
T DB 'Hello 12345678'

__________________
Нашедшего выход - затаптывают первым..
R71MT вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler (FASM). Работа с массивом romanuss Помощь студентам 0 10.03.2017 01:32
Работа с консолью, fasm mtp2014 Assembler 1 28.05.2015 21:56
Работа с матрицами (assembler FASM) Acito Assembler 3 12.03.2015 12:32
Работа с файлами. Assembler FASM Pinkibosh Помощь студентам 0 07.02.2014 12:50
Чем отличаеться fasm от fasm editor&? TotKtoNado Assembler 5 07.11.2011 17:00




23:16.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru