|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.12.2009, 20:20 | #1 |
Пользователь
Регистрация: 20.09.2009
Сообщений: 23
|
Немного не работает код лабораторной
Задание : 12. Разработать подпрограмму, которая разбивает заданную строку на слова (слово считается от пробела до пробела, но в состав слова не вхо-дят). Разработать программу, которая вводит с клавиатуры строку и выво-дит каждое слово с новой строки.
Код: data segment stroka db '','$' IN_STR db 80, ?, 82 dup (?) ; буфер ввода OUT_STR db 0Dh, 0Ah,'$' ; буфер вывода KOL db 0 ;символов в слове data ends code segment assume cs:code, dsata START: mov ax, data mov ds, ax ; Загрузить сегментный адрес данных mov ax,3 int 10h; очистка экрана ; Ввод строки lea dx, IN_STR mov ah, 0ah int 21h ; перевод на новую строку lea dx,OUT_STR mov ah,09h int 21h xor ax,ax lea bx, IN_STR+2 mov cl, IN_STR+1 cik1: mov al, [BX] ; очередной символ строки cmp al,' ' jne prob1 INC BX LOOP cik1 prob1: mov cl, IN_STR+1 cik: mov al, [BX] ; очередной символ строки cmp al,' ' jne prob mov al,KOL mov KOL,0 cmp al,1 jng sled push cx push bx sub bx,ax mov cl,al;количество символов инвертирования call near ptr invert pop bx pop cx dec KOL xor ax,ax prob: inc KOL sled: inc bx loop cik mov ah,01 int 21h QUIT: mov ax, 4C00h ; Код завершения 0 int 21h ; Выход в DOS invert proc near ; Подпрограмма push si xor ax,ax O: mov ah,02h mov dl,[bx] int 21h inc bx LOOP O lea dx,OUT_STR mov ah,09h int 21h pop si ret invert endp code ends end START теряется последнее введенное слово..... что тут не так? =( |
16.12.2009, 22:53 | #2 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
допишите в конец строки пробел, скорректируйте количество символов строке+1
Код:
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает код (If_Then_ElseIf_) | Exo | Microsoft Office Excel | 18 | 10.04.2012 13:09 |
Помогите немного уменьшить код С++ | Olya90 | Помощь студентам | 10 | 06.10.2009 10:44 |
Код проверки столкновений не работает. | Манжосов Денис :) | Общие вопросы Delphi | 8 | 02.02.2009 10:31 |
Не работает код... | prizrak1390 | Общие вопросы Delphi | 3 | 22.10.2008 14:59 |
Почему не работает код? | Kashp | Общие вопросы Delphi | 3 | 09.08.2007 17:33 |