Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
planetue
0 / 0 / 0
Регистрация: 25.09.2015
Сообщений: 23
1

Длина строки

09.12.2015, 15:25. Просмотров 547. Ответов 3
Метки нет (Все метки)

Есть код который вычисляет длину введенной с клавиатуры строки, когда я ввожу asd он почему выводит 6 вместо 3, что не так?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
FirstInput:    
    mov ah,09h
    lea dx,msg2
    int 21h
    mov ah,0ah
    lea dx,str1
    int 21h
    mov bl,0
Len:
    mov al,str1[si]
    cmp al,0
    jne A
    mov length,bl
    mov dl,length
    add dl,30h
    mov ah,02h
    int 21h
    jmp SecondInput
A:  
    inc bl
    inc si
    jmp Len
Добавлено через 13 минут
И еще вопрос, если я хочу символ записанный в регистр сравнить с пробелом, прокатит ли такая запись?
Assembler
1
cmp al,' '
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2015, 15:25
Ответы с готовыми решениями:

Даны две переменные, в первой строка, во второй длина строки, 100 - max длина, строки. Что такое dup('$') ?
string db 100 stringlen db ?,100 dup('$')

Ассемблер, длина строки
Ввожу строку с клавиатуры, необходимо получить строку звездочек, длина которой равна веденной длине...

Регистр cx и длина строки
Доброго времени суток. Не могу понять почему выдает ошибку в строках 27 и 30. Пишет, что регистр...

Длина строки (ассемблерная вставка в C)
Нужно написать ASM вставку которая считает длину строки, помогите исправить, пожалуйста, на пустой...

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

3
Charles Kludge
Клюг
7650 / 3165 / 383
Регистрация: 03.05.2011
Сообщений: 8,381
09.12.2015, 16:28 2
Цитата Сообщение от planetue Посмотреть сообщение
что не так?
То, что строка, вводимая по Int 21/AH=0Ah не обязана заканчиваться нулём, а длина введённой строки берётся из второго байта подаваемой на вход структуры str1.
0
Argogo
952 / 262 / 45
Регистрация: 29.03.2013
Сообщений: 560
10.12.2015, 05:47 3
Цитата Сообщение от planetue Посмотреть сообщение
если я хочу символ записанный в регистр сравнить с пробелом, прокатит ли такая запись?
ASMВыделить код
1
cmp al,' '
ага.
0
Mikl___
Автор FAQ
13893 / 6528 / 658
Регистрация: 11.11.2010
Сообщений: 11,760
10.12.2015, 06:00 4
есть еще варианты
  1. cmp al,32t
  2. cmp al,32d
  3. cmp al,32
  4. cmp al,100000y
  5. cmp al,100000b
  6. cmp al,40q
  7. cmp al,40o
  8. cmp al,20h
0
10.12.2015, 06:00
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2015, 06:00

появилась загвоздка с функцией. нужно вывести на экран строку, сост. из звездочек. Длина строки-параметр функциииз звезд. длина строки -
Я видела, что на форуме есть подобные задачи, но ни одно из их решений не работает на моем dev...

если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы "."
Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина...

Определить длину строки. Если длина строки >6, удалить часть строки в { } скобках.
Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод"....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru