#1 21.06.10 19:38
[asm] Сортировка массива
Пример из Юрова, однако выдает ошибку что not enought memory. Либо если через отладчик(td) то там пишет при открытии .exe "program has no symbol table", а при запуске: "terminated, code 0" может где ошибки есть?
Код::
model small stack 256 .data mes1 db 0ah,0dh, 'source - $', 0ah, 0dh mes2 db 0ah, 0dh, 'sorted - ;', 0ah, 0dh n equ 9 mas dw 2,7,4,0,1,9,3,6,5,8 tmp dw 0 i dw 0 j dw 0 .code main: mov ax,@data mov ds,ax xor ax,ax mov ah,09h lea dx,mes1 int 21h mov cx,10 mov si,0 show_primary: mov dx, mas[si] add dl,30h mov ah,02h add si,2 loop show_primary mov i,0 internal: mov j,9 jmp cycl_j excange: mov bx,i shl bx,1 mov ax,mas[bx] mov bx,j shl bx,1 cmp ax, mas[bx] jle lesser mov bx,j shl bx,1 mov tmp,ax mov bx,j shl bx,1 mov ax, mas[bx] mov bx,j shl bx,1 mov mas[bx], ax mov bx,j shl bx,1 mov ax,tmp mov mas[bx],ax lesser: dec j cycl_j: mov ax,j cmp ax,i jg excange inc i cmp i,n jl internal mov ah,09h lea dx,mes2 int 21h prepare: mov cx,10 mov si,0 show: mov dx,mas[si] add dl,30h mov ah,02h int 21h add si,2 loop show exit: mov ax,4c00h int 21h end main
Offline
#3 21.06.10 20:49
Re: [asm] Сортировка массива
Укроп написал(а):
T!nk@ff написал(а):
"program has no symbol table"
при компиляции скажи генерировать файл таблицы символов, а потом при отладке натравливай так же дебагер на нее
сделано, теперь при запуске просто пишет "terminated,code 0" через td.exe
а если просто запускать исполняемый файл программы то вот это:
Код::
C:\Users\Don't stop\Desktop\МПТ\80x86>text.exe
source -
sorted - ;
☻
↕
☺▲ И♣m♣Р }♣Fr√R ☻g ◄ ▲ ☼ М▲t♦М▲h♦Мгв☻P╗p%Б├hбГ├☼▒♦╙ы┤J !
╟♠╜ ► ║wб▒♦╙ъЙ▬ +┬гЬ☻б, ♂└t♠■♠Ъ ы♥гX♦О└┤↓ !■└вб☻а\
3╔Й♫╙!┐╒ Л♫╙!3╥Й6╒! ▲╔ Й♫╙!= u♥щ╠ = tKVP=♥ u8Л■Л6╒!;ўt.м:♠╣ tї< tё:♠l♦u
♠║ t :♠╗ ы♂РZZщ☺☺ZZщЇ X^Л╨ш╤♦шd№ыУБ>╠!↑!u♥ыuРБ>╠!♀!u♥ы⌂РБ>╠!2777799999Offline
#4 21.06.10 22:57
Re: [asm] Сортировка массива
лень вникать, но сразу бросилось в глаза, чтобы исходный массив печатался в show_primary: между командами
mov ah,02h
add si,2
нужно вставить int 21h
ну а основной косяк здесь:
mes1 db 0ah,0dh, 'source - $', 0ah, 0dh
mes2 db 0ah, 0dh, 'sorted - ;', 0ah, 0dh
строка должна заканчиваться символом $
Исправлено $up (21.06.10 23:14)
Offline

