Программа TASM
12 PLNВвести элементы (слова) матрицы размерностью 4х3. Вывести матрицу на экран.
Создать одномерный массив mas1 следующим образом: первый элемент – это целая часть среднего арифметического элементов строки номер 0 матрицы, второй – сумма элементов строки номер 1 матрицы, третий - целая часть среднего арифметического элементов строки номер 2 матрицы и т.д.
Если в массиве mas1 есть равные элементы, вывести mas1 на экран, иначе вывести соответствующее сообщение, сопроводив его пятью звуковыми сигналами.
-
59 Здравствуйте,могу сделать данную программу в С++ или TASM.
Сделать код с подробным описанием.
Понял полностью смысл программы,поэтому никаких проблем с написанием кода не должно быть!
-
На оригинале делать?
-
выполнить требуется на TASM
-
выполнение на языке ассемблера TASM
-

.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 Systems, Aplikacje 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ębiorstwem, Aplikacje 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 desktopowe, Zarządzanie klientami i CRM ∙ 12 dni 19 godzin temu ∙ 19 ofert |