Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 1
1

Нужно доработать код

13.06.2016, 19:43. Показов 1056. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан массив из 10 байт. Посчитать количество байт, число единиц в которых не превышает 6.
Программа считает байты только с 6 единицами - не знаю как сделать, чтоб считал все байты с количеством единиц до 6.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
data segment
kol db ?
mass db 10111101b, 01110111b, 01111111b, 11111111b, 00000000b, 10000000b, 00010011b, 00111100b, 10010010b;
data ends
code segment
assume cs: code, ds:data
start:
mov ax,data;
mov ds,ax;      загрузить сегментный адрес данных
mov cx, 10;     число повторений
lea bx,mass;    загрузить адрес смещения массива
xor dx,dx;      обнуление dx
deg:
push cx;        сохранение cx
mov al,[bx];    первый элемент массива помещаем в al
mov cl,8;       число повторений
beg:
test al,bl; начало метки beg, перемещение первого элемента
jz nol;         если 0
inc kol;        следующий элемент
nol: shr al,1;  сдвиг регистра
loop beg;       возвращение к beg
cmp kol,6;      сравнение
jnz bolshe;     если нет 0
inc dx;         добавление в регистров dx 1
bolshe:
mov kol,0;       перемещение 0 в kol
inc bx;          следующий элемент
pop cx;          обнуление cx
loop deg;       возвращение к begin и вычитание единицы с счетчика
mov ax,4c00h;   завершение программы
int 21h;        номер функции прерывания
code ends;      
end start;      конец
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.06.2016, 19:43
Ответы с готовыми решениями:

Нужно доработать код
Нужно чтобы в коде когда вводишь имена пользователей они сохранялись в файл на компьютере. import...

Нужно доработать код
Здравствуйте Уважаемые форумчане ! Кому не сложно, помогите доработать код, нужно сделать...

Нужно доработать код
Есть код генерации лабиринта и нахождения выхода с него. НО НЕТУ ВИЗУАЛИЗАЦИИ. Помогите сделать...

Нужно немного доработать код
#include <iostream> using namespace std; int main() { int n ; cin >> n; int...

1
Эксперт Hardware
Эксперт Hardware
 Аватар для R71MT
6163 / 2400 / 398
Регистрация: 29.07.2014
Сообщений: 3,144
Записей в блоге: 4
14.06.2016, 06:20 2
Лучший ответ Сообщение было отмечено Rodmiros как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
.data
kol    db   0
mass   db   76,20,1,250,74,19,93,17,8,11,57,3,6,56,40,32
len    =  $ - mass
 
.code
start:
       mov   si,mass          ; адрес массива
       mov   bx,len           ;       ..его длина
cycle: xor   ax,ax            ; AH будет счётчиком единиц
       mov   cx,8             ; всего бит в байте
       lodsb                  ; берём очередной элемент
find:  shr   al,1             ; выталкиваем с него бит
       jnc   next             ; прыг, если флаг CF=0
       inc   ah               ; считаем биты
next:  loop  find             ; сл.бит..
 
       cmp   ah,6             ; проверяем счётчик
       ja    fuck             ; прыг, если больше
       inc   [kol]            ; иначе: количество +1
fuck:  dec   bx               ; весь массив проверили?
       jnz   cycle            ;
 
       mov   al,[kol]         ; AL = счётчик
       aam                    ;
       or    ax,3030h         ; переводим его в символы
       xchg  ah,al            ;
       int   29h              ;
       xchg  ah,al            ;
       int   29h              ; выводим не экран
1
14.06.2016, 06:20
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.06.2016, 06:20
Помогаю со студенческими работами здесь

Нужно немного доработать код
Задание такое : если слово имеет 4 гласные (русские/английские) буквы, то нужно его вывести...

Нужно немного доработать код
Разработать программу, которая вводит строку и находит все слова указанной длины n (n вводится). ...

Нужно доработать код калькулятора
В общем нужно сделать так чтоб при попытке ввести новое значение прежний результат исчезал и нужно...

Работа с деревьями, нужно доработать код
Пожалуйста Задание: Поменять местами максимальное и минимальное значение в дереве вот максимально...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru