Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Проблема с loop в asm е   Найти похожие ветки 

 
tasman ©   (2004-05-05 21:33) [0]

Доброго времени суток!
Люди! Помогите, плиз.
Использую Turbo Assembler ver. 2.0 & Turbo Link ver. 3.0
Вот такая программа на ассемблере:

sseg segment para stack "stack"
 db 256 dup (0)
sseg ends

dseg segment
n=5

a dw 4 dup (1,2,3,4,5)

m1 dw 0FFFFh
m2 dw 0FFFFh
m3 dw 0FFFFh

dseg ends

cseg segment
assume cs:cseg,ds:dseg

paste proc far
 cmp ax,m1
 je e_paste     ;a[i]=m1
 jl e1cmp       ;a[i]<m1
 mov dx,m2      ;a[i]>m1  ->  we need to paste a[i] to first place
 mov m3,dx
;  xchg m1,m2
 mov dx,m1
 mov m2,dx
 mov m1,ax
 jmp e_paste
 e1cmp:
 cmp ax,m2
 je e_paste     ;a[i]=m2
 jl e_cmp2      ;a[i]<m2
 mov dx,m2      ;a[i]>m2  ->  we need to paste a[i] to second place
 mov m3,dx
 mov m2,ax
 jmp e_paste
 e_cmp2:
 cmp ax,m3
 jle e_paste   ;a[i]<=m3  we can use jl - because we into the procedure only if a[i]>m3 (jg)
 mov m3,ax
 e_paste:
 retf
endp

main proc far
 push ds
 xor ax,ax
 push ax

 mov ax,dseg
 mov ds,ax

 mov cx,n
 dec cx
 xor bx,bx
;  mov bx,0
lp_1:
  mov ax,a[bx]
  cmp ax,m3
  jle m_s          ;jle <=
  call paste       ;jg >
  m_s:
;   inc bx
;   inc bx
  add bx,2
 loop lp_1  ; !!!!!!В этой строке - (из под фара) выдает, что программа выполнила Некорректную операцию и будет завершена (отлаживаю Turbo Debugger)

main endp
cseg ends

end main

 Может кто знает в чем проблема?


 
tasman ©   (2004-05-05 21:46) [1]

Всем, кто ломал голову - спасибо. Прблема решена. А надо было просто не забывать ставить ret в конце процедуры main :(



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
7-1080128126
Александр1
2004-03-24 14:35
2004.05.23
Процессы!


1-1083872000
Lena19
2004-05-06 23:33
2004.05.23
размер буквы


3-1083126056
russko
2004-04-28 08:20
2004.05.23
Создание таблицы при помощи SQL-файла


14-1083217017
Думкин
2004-04-29 09:36
2004.05.23
С днем рождения! 29 апреля.


1-1083916381
Saturn
2004-05-07 11:53
2004.05.23
Поиск Файла