Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/22: Рейтинг темы: голосов - 22, средняя оценка - 4.91
 Аватар для Sammer
1 / 1 / 0
Регистрация: 12.11.2012
Сообщений: 17

Посчитать отрицательные элементы в массиве байт

13.12.2012, 05:47. Показов 4604. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
;Посчитать отрицательные элементы. Массив байт.
.model small
.data
mass db 25,-13,10,-3,6;массив
.code
begin:
mov ax,@data
mov ds,ax
lea bx,mass;заносим в bx исполнительный адрес массива
mov cx,5;заносим в счётчик число элементов массива
metka:;мет ка
mov al,[bx];загружаем в al элемент массива
cmp al,0;сравниваем текущий элемент массива с нулём
jnl metka1;если больше переходим на metka1
inc dx;иначе dx+1
metka1:;метка
inc bx;следующий элемент массива
loop metka;переход на metka пока сх не равен нулю
mov ah,4ch;загрузка адреса команды выхода из программы
int 21h;прерывание
end begin;конец программы
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
; Дан массив из 8 байт. Рассматривая его как массив из 64 бит посчитать количество  нулей
.model small
.data
mass1 db 7,4,7,5,3,8,9,4;заданный массив байт
.code
begin:
mov ax,@data
mov ds,ax
lea bx,mass1;загрузка в bx исполнительного адреса массива
xor dl,dl ;обнуление dl
mov cx,8;загрузка в счётчик количества элементов массива
m1:;метка
push cx;сохранение значения регистра сх в стеке
mov al,[bx];загрузка в al элемента массива
mov cx,7;загрузка в счётчик количества сдвигов
m2:;метка
shl al,1;сдвиг влево на 1 бит
jnc no;если старший бит не равен 0 то переход на метку no
shl al,1;сдвиг влево 
inc dl ;счётчик нулей
no:;метка
loop m2;Переход на m2
pop cx;вызов из стека значения сх
inc bx;следующий элемент массива
loop m1;переход на метку m1
mov ah,4ch ;загрузка адреса команды выхода изпрограммы
int 21h;прерывание
end begin;конец программы
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2012, 05:47
Ответы с готовыми решениями:

В массиве С заменить все отрицательные элементы и равные нулю на 1. Посчитать произведение элементов нового массива.
Заданы массивы А и В действительных чисел. А:-48,7 -7,1 -24,9 2,18 10,6 -8,4 0 3,5 -3,6 4,2. B: 28,7 -7,1 -14,3 ...

В массиве переставить местами первый и второй отрицательные элементы, третий и четвертый отрицательные элементы и т.д.
В массиве переставить местами первый и второй отрицательные элементы, третий и четвертый отрицательные элементы и т.д. Определить, как...

В массиве переставить местами первый и второй отрицательные элементы, третий и четвертый отрицательные элементы и т.д.
В массиве переставить местами первый и второй отрицательные элементы, третий и четвертый отрицательные элементы и т.д. Определить, как...

1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
13.12.2012, 09:12
Sammer, запусти программу и посмотри, соответствует ли результат ожидаемому или поменяй данные в массиве или измени размеры массива. А какой смысл повторять запрос от 7 декабря? Если тогда не ответили, то и сейчас отвечать не будут...

хотя первую задачу я бы сделал так
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
; masm dos exe #
.286
.model small
.code
start:  mov ax,@data
    mov ds,ax
    mov si,offset mass
    mov bx,0
    mov cx,num
a1: lodsb
    shl al,1
    adc bx,0
    loop a1
    mov ax,bx
    aam
    xchg ah,al
    add x,ax
    mov dx,offset string
    mov ah,9
    int 21h
    mov ah,0
    int 16h
    mov ah,4Ch
    int 21h
.data
mass db 25,-13,10,-3,6
num = $ - mass
string db 'в массиве '
x dw '00'
db ' отрицательных элементов$'
end start
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2012, 09:12
Помогаю со студенческими работами здесь

Посчитать количество байт в массиве
Дан массив из 6 байт. Посчитать количество байт, число единиц в которых не превышает 3.

задача в массиве (байт) 10 ячеек заменить все отрицательные числа нулями
помогите пожалуйста с ошибками, не знаю что делать.... data segmet mas db 10,-1,5,6,-7,-8,10,20,-100,-56 data ends code segment ...

Посчитать количество единиц во всех разрядах, кратных пяти в массиве из 6 байт
Помогите написать программу пожалуйста! Дан массив из 6 байт. Посчитать количество единиц во всех разрядах, кратных пяти: 5, 10, …, 45.

Как посчитать отрицательные и положительные значения в массиве?
Нужно вычислить произведение отрицательных элементов и произведение положительных элементов массива и вывести на textBox2 произведение...

В массиве все положительные элементы массива просуммировать, а отрицательные элементы удвоить
Добрый день, постановка задачи такая: Дан массив А(20). Все положительные элементы массива просуммировать, а отрицательные элементы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru