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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2014, 06:19   #1
BAABSG
Новичок
Джуниор
 
Регистрация: 06.06.2014
Сообщений: 2
По умолчанию Помогите переправит на FASM

Здравствуйте, можете готовую программу перевести на fasm. При компиляции ругается на незнакомые команды. Я начинаю менять и фигня выводится на экран. Может поможете переделать ее как надо?

Суть задачи удалить все пробелы (слева на право).

Код:
.model tini
.code
org 100h
start:
lea dx,mes
mov ah,9
int 21h
cld
mov si,offset mes
push si
pop di
@@1
lodsb
cmp al
je @ exit
cmp al,' '
je @@1
stosb
jmp @@1
@exit
stosb
mov ah,2
mov dl,ODh
int 21
mov dl,OAh
int 21h
mov dl,OAh
int 21h
lea dx,mes
mov ah,9
int 21
ret
mes db 'это строка для сжатия$'
end start


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 06.06.2014 в 09:21.
BAABSG вне форума Ответить с цитированием
Старый 06.06.2014, 07:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Как она у тебя вообще работала?

Код:
format MZ

push    cs
pop     ds

mov dx,mes
mov ah,9
int 21h
cld
mov si,mes
push si
pop di
l1:
lodsb
cmp al,'$'
je exit
cmp al,' '
je l1
stosb
jmp l1
exit:
stosb
mov ah,2
mov dl,0Dh
int 21
mov dl,0Ah
int 21h
mov dl,0Ah
int 21h
mov dx,mes
mov ah,9
int 21
ret
mes db 'ýòî ñòðîêà äëÿ ñæàòèÿ$'
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.06.2014, 18:10   #3
BAABSG
Новичок
Джуниор
 
Регистрация: 06.06.2014
Сообщений: 2
По умолчанию

С препадом меняли на все что ругался компилятор. Изначально препод сказал заменить начало и конец и все пойдет нормально, но ничего хорошего. Я ее меняла-меняла и в итоге комп вырубался при очередном запуске. Так что мне поставили зачет за такую программку и изъяли ее.

А за код спасибо огромнейшее. А вот если удалят справа налево это сделать сначала стек, затем записать как строку, что бы последний элемент стал первым и удаляем, как в данном коде

Последний раз редактировалось BAABSG; 06.06.2014 в 18:24.
BAABSG вне форума Ответить с цитированием
Старый 06.06.2014, 18:52   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
это сделать сначала стек
Не надо ничего. Просто переписать символы в другую переменную но уже без пробелов - вот и суть задачи. Че-то вы с преподом накрутили...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Учебник по FASM Roof Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 33 09.12.2013 23:16
FASM _lread Levsha100 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 21.09.2012 20:11
Чем отличаеться fasm от fasm editor&? TotKtoNado Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 07.11.2011 17:00
FASM арифметика kka495 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 28.04.2011 17:06
Помогите с кодом для ввода чисел с клавиатуры на FASM. Lamo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 16.12.2009 20:45