Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Post your project for free and start receiving proposals from freelancers within minutes after publication!

Программа TASM

3 USD

  1. 59  
    1 day3 USD

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

    1 proposal concealed
  • Profile deleted
    30 April 2019, 17:51 |

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

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

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

  • Vlad Schigelsky
    30 April 2019, 19:54 |

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


  • Vlad Schigelsky
    30 April 2019, 19:56 |

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

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

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

  • Profile deleted
    1 May 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

Current freelance projects in the category Desktop Apps

Development of custom software (Android application + CMS) for SUNMI K2 self-service kiosks (Fast food)

23 USD

We are looking for an experienced team or a Middle/Senior Android developer (possibly with Full-stack skills) to create proprietary software for self-service kiosks for a fast food retail chain. Currently, our terminals operate on a ready-made cloud integrator, but we are…

Content Management SystemsDesktop Apps ∙ 17 hours 44 minutes back ∙ 14 proposals

It is necessary to migrate the current working program from FoxPro to C#.

Hello everyone! We have a program in FoxPro (it has several modules, it's an accounting program), we have the source code of the program, and if necessary, we can consult with people who support the current program. What needs to be done: 1. Analyze how everything works,…

C#Desktop Apps ∙ 6 days 1 hour back ∙ 18 proposals

About the Master Program "KONSTRUCTOR"

4193 USD

We are looking for a very experienced C++ developer to modernize existing software (master program). The program is responsible for creating derivative software representing audio-visual sessions of psychological correction. The current version is written in pure WinAPI (Visual…

C & C++Desktop Apps ∙ 8 days 14 hours back ∙ 19 proposals

ODOO Enterprise setup for construction

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

Enterprise Resource Planning (ERP)Desktop Apps ∙ 8 days 23 hours back ∙ 7 proposals

Add the ability to work with Nova Poshta and Delivery in BAS Small Business 1.6.21.1

113 USD

Implement if possible through an extension. Need to upload directories and create a shipping document. Filling in data for shipment in the Customer Order. Then, based on the order, a shipping document is created. There will be several accounts. Ability to link an account to a…

Desktop AppsClient Management & CRM ∙ 12 days 19 hours back ∙ 19 proposals

Client
Project published
7 years back
107 views
Tags
  • TASM