Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Opublikuj swoje zlecenie za darmo i otrzymaj oferty od wykonawców freelancerów już minutę po opublikowaniu!

Программа TASM

12 PLN

  1. 59  
    1 dzień12 PLN

    Здравствуйте,могу сделать данную программу в С++ или TASM.
    Сделать код с подробным описанием.
    Понял полностью смысл программы,поэтому никаких проблем с написанием кода не должно быть!

    1 oferta jest ukryta
  • Profil został usunięty
    30 kwietnia 2019, 17:51 |

    На с++ можно сделать?

  • Anton D.
    30 kwietnia 2019, 18:02 |

    На оригинале делать?

  • Vlad Schigelsky
    30 kwietnia 2019, 19:54 |

    выполнить требуется на TASM


  • Vlad Schigelsky
    30 kwietnia 2019, 19:56 |

    выполнение на языке ассемблера TASM

  • Anton D.
    30 kwietnia 2019, 20:07 |

    Ясно. Не тот бюджет.

  • Profil został usunięty
    1 maja 2019, 9:40 |
    .model small
    .stack 100h
     
    .data
    rows        dw 4
    cols        dw 3
    array       dw 4*3 dup (0)  ;rows * cols
    mas1        dw 4 dup (0)
    index       dw 0
    crlf        db 13,10,'$'
    buf         db 5 dup ('$');,0,3 dup ('$'),'$'
    msgPress    db 13,10,'Press any key...$'
    msgMatrix   db 'Your matrix: $'
    msgMas      db 'Massiv: $'
    msgEl       db 13,10,'Input elements: ',13,10,'$'
    msgMax      db 13,10,'MAX = $'
    msgCountMax db 13,10,'Count of MAX = $'
     
    .code
    ;макрос вывода на экран текстового сообщения
    ;str - стока для вывода
    write macro  str
        push    ax
        push    dx
     
        lea     dx,str  ;адрес строки для вывода
        mov     ah,09h  ;09h функция
        int     21h
     
        pop     dx
        pop     ax
    endm
     
    ;макрос вывода числа на экран
    ;вход: AX - число для вывода на экран
    putdigit macro
        local lput1
        local lput2
        local exx
     
        push    ax
        push    cx
        push    -1  ;сохраним признак конца числа
        mov     cx,10   ;делить будем на 10
    lput1:  xor     dx,dx   ;чистим регистр dx
        mov     ah,0                   
        div     cl  ;Делим 
        mov     dl,ah   
        push    dx  ;Сохраним цифру
        cmp al,0    ;Остался 0? 
        jne lput1   ;нет -> продолжим
        mov ah,2h
    lput2:  pop dx  ;Восстановим цифру
        cmp dx,-1   ;Дошли до конца -> выход 
        je  exx
        add dl,'0'  ;Преобразуем число в цифру
        int 21h ;Выведем цифру на экран
        jmp lput2   ;И продолжим
    exx:
        mov dl,' ' 
        int 21h
        pop cx
        pop     ax
    endm
     
    ;макрос ввода числа с клавиатуры
    ;выход: AX - введенное число
    indigit macro
        local   lin
        push    bx
        push    cx
        push    dx
     
        mov     ah,0Ah  ;буферизированный ввод
        lea     dx,buf
        int     21h 
        xor     ax,ax
        xor     cx,cx
        ;разбор количества цифр введенного числа
        mov     cl,[buf+1]  ;количество реально введенных символов
        xor     di,di
    lin:
        mov     dl,10
        mul     dl
        mov     bl,[buf+di+2]
        sub     bl,30h  ;ASCII -> число
        add     al,bl
        inc     di
        loop    lin
        
        pop     dx  
        pop     cx
        pop     bx
    endm
     
    start:
        mov     ax,@data
        mov     ds,ax
      
    ;ввод матрицы
        write   msgEl
        lea     bx,array
        mov     cx,rows
    in1:    ;цикл по строкам
        push    cx
        mov     cx,cols
        mov     si,0
    in2:    ;цикл по колонкам
        indigit ;макрос ввода числа
        mov     [bx][si],al
        inc     si
     
        write   crlf    
        loop    in2
     
        add     bx,cols
        pop     cx
        loop    in1
     
    ;вывод матрицы на экран
        write   msgMatrix
        lea     bx,array
        mov     cx,rows
    out1:   ;цикл по строкам
        push    cx
        mov     cx,cols
        mov     si,0
     
        write crlf  
    out2:   ;цикл по колонкам
        xor     ax,ax
        mov     al,[bx][si] ;Выводимое число в регисте AL
        putdigit    ;макрос вывода
        inc     si
        loop    out2
     
        add     bx,cols
        pop     cx
        loop    out1
     
    ;поиск максимального элемента в матрице
        lea     bx,array
        xor     ax,ax
        mov     al,[bx][0]
        mov     cx,2
    r1: ;цикл по строкам
        push    cx
        mov     cx,cols
        mov     si,0
    r2: ;цикл по колонкам
        cmp     al,[bx][si]
        ja      lmax
        mov     al,[bx][si]
    lmax:
        add     si,1
        loop    r2
     
        push    bx
        push    si
        lea     bx,mas1
        mov     si,index
        mov     [bx][si],al
        inc     si
        inc     si
        mov     index,si
        xor     al,al
        pop     si
        pop     bx
        add     bx,cols
        add     bx,cols
        pop     cx
        loop    r1
        
    ;----
        ;mov        si,1
        ;mov        index,si
        ;xor        si,si
    ;----
        
    ;поиск минимального элемента в матрице
        lea     bx,array
        add     bx,cols
        xor     ax,ax
        mov     si,1
        mov     index,si
        mov     al,[bx][0]
        mov     cx,2
    r3: ;цикл по строкам
        push    cx
        mov     cx,cols
        mov     si,0
    r4: ;цикл по колонкам
        cmp     al,[bx][si]
        jb      lmin
        mov     al,[bx][si]
    lmin:
        add     si,1
        loop    r4
     
        push    bx
        push    si
        lea     bx,mas1
        mov     si,index
        mov     [bx][si],al
        inc     si
        ;cmp        si,4
        ;je     cont
        inc     si
    ;cont:
        mov     index,si
        xor     al,al
        pop     si
        pop     bx
        add     bx,cols
        add     bx,cols
        pop     cx
        loop    r3
        
        
        
    ;Вывод массива mas1
     
        write   crlf
        write   msgMas
        lea     bx,mas1
        mov     cx,index
        mov     si,0
     
        write crlf  
    outmas:
        xor     ax,ax
        mov     al,[bx][si] ;Выводимое число в регисте AL
        putdigit    ;макрос вывода
        inc     si
        loop    outmas
     
        add     bx,cols
        pop     cx
     
    ;press any key
        write   msgPress
        mov     ah,0
        int     16h
    ;exit
        mov     ax,4c00h
        int     21h
    end start

Aktualne zlecenia dla freelancerów w kategorii Aplikacje desktopowe

Opracowanie niestandardowego oprogramowania (aplikacja na Androida + CMS) dla kiosków samoobsługowych SUNMI K2 (fast food)

82 PLN

Szukamy doświadczonego zespołu lub programisty Android na poziomie średnim/zaawansowanym (możliwe, że z umiejętnościami Full-stack) do stworzenia własnego oprogramowania dla kiosków samoobsługowych sieci fast food. Obecnie nasze terminale działają na bazie gotowego chmurowego…

Content Management SystemsAplikacje desktopowe ∙ 17 godzin 41 minut temu ∙ 14 ofert

Należy przeprowadzić migrację obecnego programu roboczego z foxpro na C#

Cześć wszystkim! Mamy program na foxpro (ma kilka modułów, program do ewidencji), mamy źródła programu, w razie pilnej potrzeby można skonsultować się z osobami zajmującymi się wsparciem bieżącego programu. Co należy zrobić: 1. Analiza, co i jak działa, sporządzenie listy…

C#Aplikacje desktopowe ∙ 6 dni 1 godzina temu ∙ 18 ofert

Mistrzowska program «KONSTRUCTOR»

15 240 PLN

Szukamy bardzo doświadczonego programisty C++ do modernizacji istniejącego oprogramowania (programu głównego). Program odpowiada za tworzenie pochodnego oprogramowania reprezentującego sesje audiowizualnej korekcji psychologicznej. Obecna wersja jest napisana w czystym WinAPI…

C i C++Aplikacje desktopowe ∙ 8 dni 14 godzin temu ∙ 19 ofert

Konfiguracja ODOO Enterprise dla budownictwa

Необхідно побудувати картки та налаштувати зручний імпорт, інтеграцію з ЕДО і загалом Workflow ODOO Компанія займається системною інтеграцією: маємо поставки обладнання В2В або з прямою маржинальністю, або з рібейтами в подальшому. Крім того, ведемо будівельні роботи на об'єктах…

Automatyzacja zarządzania przedsiębiorstwemAplikacje desktopowe ∙ 8 dni 23 godziny temu ∙ 7 ofert

Dodać możliwość pracy z Nową Pocztą i Delivery w BAS Mały Biznes 1.6.21.1

410 PLN

Zrealizować w miarę możliwości przez rozszerzenie. Potrzebne jest załadowanie katalogów oraz stworzenie TTN. Wypełnienie danych na wysyłkę w Zamówieniu klienta. Następnie na podstawie zamówienia tworzy się TTN. Będzie kilka biur. Możliwość powiązania biura z menedżerem lub…

Aplikacje desktopoweZarządzanie klientami i CRM ∙ 12 dni 19 godzin temu ∙ 19 ofert

Zleceniodawca
Zlecenie zostało opublikowane
7 lat temu
107 wyświetleń
Tagi
  • TASM