Index · Правила · Поиск· Группы · Регистрация · Личные сообщения· Вход

Список разделов Нужна помощь
 
 
 

Раздел: Нужна помощь Ассемблер 

Создана: 11 Июня 2006 Вск 0:49:49.
Раздел: "Нужна помощь"
Сообщений в теме: 10, просмотров: 1282

  1. Toptijka


    Частый гость


    Более 10 лет на форумеМуж.
    11 Июня 2006 Вск 0:49:49
    Задана строка из цифр. Реализуйте подпрограмму, упорядочивающую данные цифры по неубыванию.
    ================ПЛИЗЗЗ==========================
  2. 12 Июня 2006 Пон 22:42:52
    Toptijka писал :Задана строка из цифр. Реализуйте подпрограмму, упорядочивающую данные цифры по неубыванию.
    ================ПЛИЗЗЗ==========================


    Топтыжка, вот я бы постремался такое просить, ей богу
  3. 13 Июня 2006 Втр 6:00:40
    Сантехник-экстремал писал :
    Toptijka писал ... :Задана строка из цифр. Реализуйте подпрограмму, упорядочивающую данные цифры по неубыванию.
    ================ПЛИЗЗЗ==========================


    Топтыжка, вот я бы постремался такое просить, ей богу


    а ты не стремись, ты советом поделись :)
  4. Sfrank


    Активист


    Более 10 лет на форумеБлокирующее предупреждение от модератора
    13 Июня 2006 Втр 20:28:07
    тебе на TASM, или MASM
  5. 14 Июня 2006 Срд 7:55:05
    Берта писал(а):И что же, после этих слов он должен сгореть от стыда? Confused


    Вообще то да. Это таблица умножения
  6. Sfrank


    Активист


    Более 10 лет на форумеБлокирующее предупреждение от модератора
    14 Июня 2006 Срд 22:07:17
    Это если ты уже этот алгоритм программировал, то просто, а я вот с самого начала 4,5 часа карпел, пока дошло. И сейчас за 10 мин напишу.

    ЗЫ. Завтра на Масме выложу
  7. Sfrank


    Активист


    Более 10 лет на форумеБлокирующее предупреждение от модератора
    16 Июня 2006 Птн 5:51:32
    .586
    .model flat, stdcall
    option casemap :none ; case sensitive

    ; ######################################################

    include \masm32\include\windows.inc
    include \masm32\include\kernel32.inc
    includelib \masm32\lib\kernel32.lib

    ; ######################################################

    .data

    Msg1 db "Type something > "
    Msg2 db "You typed > "
    ConsoleTitle db 'SORTED',0
    n db 0
    DB 5H DUP(0)
    X db 0
    DB 5H DUP(0)
    K dw 0
    ; ######################################################
    .stack 256
    .code

    ; ######################################################

    Main proc

    LOCAL InputBuffer[128] :BYTE ;буффер для ввода
    LOCAL hOutPut :DWORD ;хэндл для вывода
    LOCAL hInput :DWORD ;хэндл для ввода
    LOCAL lpszBuffer :DWORD ;адрес буфера
    LOCAL nRead :DWORD ;прочитано байт
    LOCAL nWriten :DWORD ;напечатано байт

    invoke SetConsoleTitle, addr ConsoleTitle ;устанавливаем титл окна

    invoke GetStdHandle, STD_OUTPUT_HANDLE ;получаем хэндл для вывода
    mov hOutPut, eax

    invoke WriteConsole, hOutPut, addr Msg1, 17,addr nWriten,NULL ;"Type something > "


    invoke GetStdHandle,STD_INPUT_HANDLE ;получаем хэндл для ввода
    mov hInput, eax

    invoke ReadConsole, hInput, addr InputBuffer, 10, ADDR nRead, NULL ;вводим
    ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
    XOR ECX,ECX
    XOR EaX,EaX
    XOR EbX,EbX
    MOV CL,byte ptr SS:[esp]+4
    sub cl,2
    mov n,cl
    lea EDI,InputBuffer
    MOV esi,0
    dec cl
    L1:
    push CX
    mov K,si
    MOV AL,[EDI][esi]
    MOV X, AL
    push si
    inc si
    mov al,n
    sub ax,si
    mov cx,ax
    L2:
    MOV AL,[EDI][Esi]
    CMP al,X
    Ja L3
    mov K,si
    MOV AL,[EDI][Esi]
    MOV X,al
    L3:
    inc si
    loop L2
    pop si
    mov al,[EDI][ESI]
    mov bx,K
    mov [edi][ebx],al
    MOV AL, X
    mov [EDI][ESI],al
    inc si
    pop cx
    loop L1
    ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    invoke WriteConsole, hOutPut, addr Msg2, 12, addr nWriten, NULL ;печатаем "You typed > "

    invoke WriteConsole, hOutPut, addr InputBuffer, nRead, addr nWriten, NULL ;печатаем то, что ввели

    invoke Sleep, 3000d ;задержка, чтобы полюбоваться
    invoke ExitProcess,0 ;выход
    Main endp
    end Main
  8. 16 Июня 2006 Птн 9:33:32
    Sfrank писал(а) :Это если ты уже этот алгоритм программировал, то просто, а я вот с самого начала 4,5 часа карпел, пока дошло. И сейчас за 10 мин напишу


    Этот алгоритм вполне известен, и выложен в разных местах. Если бы не лень автора, то за 15 минут можно найти не только описание алгоритма, и даже не одного, но и его реализации
  9. Toptijka


    Частый гость


    Более 10 лет на форумеМуж.
    18 Июня 2006 Вск 19:50:09
    Сантехник-экстремал писал :
    Toptijka писал ... :Задана строка из цифр. Реализуйте подпрограмму, упорядочивающую данные цифры по неубыванию.
    ================ПЛИЗЗЗ==========================


    Топтыжка, вот я бы постремался такое просить, ей богу

    Вот, сука, ей богу!
    Тебя не мнением просили поделиться, а помощь оказать, дебила ты кусок!
  10. Toptijka


    Частый гость


    Более 10 лет на форумеМуж.
    18 Июня 2006 Вск 19:53:18
    Sfrank писал(а) :.586
    .model flat, stdcall
    option casemap :none ; case sensitive

    ; ######################################################

    include \masm32\include\windows.inc
    include \masm32\include\kernel32.inc
    includelib \masm32\lib\kernel32.lib

    ; ######################################################

    .data

    Msg1 db "Type something > "
    Msg2 db "You typed > "
    ConsoleTitle db 'SORTED',0
    n db 0
    DB 5H DUP(0)
    X db 0
    DB 5H DUP(0)
    K dw 0
    ; ######################################################
    .stack 256
    .code

    ; ######################################################

    Main proc

    LOCAL InputBuffer[128] :BYTE ;буффер для ввода
    LOCAL hOutPut :DWORD ;хэндл для вывода
    LOCAL hInput :DWORD ;хэндл для ввода
    LOCAL lpszBuffer :DWORD ;адрес буфера
    LOCAL nRead :DWORD ;прочитано байт
    LOCAL nWriten :DWORD ;напечатано байт

    invoke SetConsoleTitle, addr ConsoleTitle ;устанавливаем титл окна

    invoke GetStdHandle, STD_OUTPUT_HANDLE ;получаем хэндл для вывода
    mov hOutPut, eax

    invoke WriteConsole, hOutPut, addr Msg1, 17,addr nWriten,NULL ;"Type something > "


    invoke GetStdHandle,STD_INPUT_HANDLE ;получаем хэндл для ввода
    mov hInput, eax

    invoke ReadConsole, hInput, addr InputBuffer, 10, ADDR nRead, NULL ;вводим
    ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
    XOR ECX,ECX
    XOR EaX,EaX
    XOR EbX,EbX
    MOV CL,byte ptr SS:[esp]+4
    sub cl,2
    mov n,cl
    lea EDI,InputBuffer
    MOV esi,0
    dec cl
    L1:
    push CX
    mov K,si
    MOV AL,[EDI][esi]
    MOV X, AL
    push si
    inc si
    mov al,n
    sub ax,si
    mov cx,ax
    L2:
    MOV AL,[EDI][Esi]
    CMP al,X
    Ja L3
    mov K,si
    MOV AL,[EDI][Esi]
    MOV X,al
    L3:
    inc si
    loop L2
    pop si
    mov al,[EDI][ESI]
    mov bx,K
    mov [edi][ebx],al
    MOV AL, X
    mov [EDI][ESI],al
    inc si
    pop cx
    loop L1
    ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    invoke WriteConsole, hOutPut, addr Msg2, 12, addr nWriten, NULL ;печатаем "You typed > "

    invoke WriteConsole, hOutPut, addr InputBuffer, nRead, addr nWriten, NULL ;печатаем то, что ввели

    invoke Sleep, 3000d ;задержка, чтобы полюбоваться
    invoke ExitProcess,0 ;выход
    Main endp
    end Main


    Спасибо мен! Респект тебе! Уважуха в общем.