Программа TASM
3 USDВвести элементы (слова) матрицы размерностью 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 -
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 Systems, Desktop 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 Apps, Client Management & CRM ∙ 12 days 19 hours back ∙ 19 proposals |