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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2010, 04:51   #1
stas9In
 
Регистрация: 20.11.2010
Сообщений: 4
По умолчанию Отладка программы

Пожалуйста помогите отладить программу.
Удалить элементы массива А(I) имеющие одинаковые значения. I=1,2,..,10, Определить количество оставшихся элементов.
Код:
masm
model small
.stack 256
.data
array db 1,2,1,1,4,2,7,4,1,10
lenth = $ - array
.code
main:   
	mov cx,lenth+1
mov bx,offset array
a2: push cx
mov al,[bx]
cmp al,0FFh
je a1
mov di,bx
inc di
a0: repne scasb
jcxz a1
mov byte ptr [di-1],0FFh
loop a0
a1: inc bx
pop cx
loop a2
mov al,0FFh
a5: xor bx,bx
        mov cx,lenth
mov di,offset array
a4: repne scasb
        jcxz a3
cmp al,[di]
je a4
xchg al,[di]
xchg al,[di-1]
        mov bl,1
        jmp a4
a3: cmp bx,1
jz a5
mov di,offset array
mov si,di
repne scasb
sub di,si
dec di
end main
stas9In вне форума Ответить с цитированием
Старый 01.12.2010, 06:02   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

stas9In три недели назад на http://www.cyberforum.ru я дал тебе рабочую программу и исчерпывающие комментарии к ней, которую ты приводишь здесь без завершающей строчки RET -- за каким хреном ее еще нужно отлаживать? Потому что из COM нужно сделать EXE?

Последний раз редактировалось Mikl___; 01.12.2010 в 06:05.
Mikl___ вне форума Ответить с цитированием
Старый 01.12.2010, 11:28   #3
stas9In
 
Регистрация: 20.11.2010
Сообщений: 4
По умолчанию

А куда RET ставить? И в таком виде получиться EXE?
stas9In вне форума Ответить с цитированием
Старый 01.12.2010, 12:10   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

после main: поставь mov ax,@data / mov ds,ax / mov es,ax
перед end main вставь mov ah,4Ch / int 21h и получится экзе
об этом можно было три недели назад спросить на http://www.cyberforum.ru и не создавать новую тему
Mikl___ вне форума Ответить с цитированием
Старый 01.12.2010, 12:15   #5
stas9In
 
Регистрация: 20.11.2010
Сообщений: 4
По умолчанию

Спасибо большое
stas9In вне форума Ответить с цитированием
Старый 07.12.2010, 08:35   #6
stas9In
 
Регистрация: 20.11.2010
Сообщений: 4
По умолчанию

А как сделать чтобы оно удаляло вообще все которые повторяются, т.е. из данного масиива 1,2,1,1,4,2,7,4,1,10 остались только числа 7 и 10.
stas9In вне форума Ответить с цитированием
Старый 07.12.2010, 09:50   #7
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

stas9In а самостоятельно? на основе готовой программы слабо?
Mikl___ вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отладка программы Nekesh Общие вопросы C/C++ 3 22.10.2010 22:53
Отладка программы в с++ immor Общие вопросы C/C++ 2 31.05.2009 21:56
отладка программы honest Помощь студентам 1 18.03.2009 06:58
Отладка программы lenuxoid Общие вопросы Delphi 1 22.12.2008 19:29
Отладка программы ЭД4-0014 Помощь студентам 0 06.06.2008 21:21