Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.59
liiy
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 10
#1

Дан массив из 10 байт. Посчитать количество байт с числом единиц в байте равным три. - Assembler

15.12.2010, 17:17. Просмотров 2512. Ответов 4
Метки нет (Все метки)

помогите с задачкой! Дан массив из 10 байт. Посчитать количество байт с числом единиц в
байте равным три.Вот код,но что тут не правильно записано:
http://www.cyberforum.ru/assembler/thread434144.html

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
35
36
37
38
39
40
41
42
data segment
mas db 2,3,1011011b,255,34,82,234,1,51,0
kol db 0
otvet db ?
data ends
 
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
 
mov cx,10
lea bx,mas
xor dx,dx
 
 
deg:
push cx
mov al,[bx]
mov cl,8
 beg: 
 test al,1b
 jz nol
 inc kol
 nol: sar al,1
 loop beg
cmp kol,3
jnz bolshe
inc dx
bolshe: 
mov kol,0
inc bx
pop cx
loop deg
 
mov otvet,dl
 
QUIT: mov ax,4c00h
int 21h
code ends
end start
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2010, 17:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Дан массив из 10 байт. Посчитать количество байт с числом единиц в байте равным три. (Assembler):

Дан массив из 10 байт. Посчитать количество единиц во всех разрядах, кратных трём: 3, 6, 9, …, 75, 78
Всем здрасьте. Знаю были посты на эту тему,но я сам писал задачу. У меня...

дан массив из 10 байт. Подсчитать количество единиц во всех разрядах кратным 3: 3,6,9...75,78
прикольный ник)) плииз задачку Добавлено через 3 часа 10 минут последнюю...

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

Дан массив из 9 байт. Рассматривая его как массив из 72 бит, посчитать число нулей в этом массиве
Код для задания -Дан массив из 9 байт. Рассматривая его как массив из 72 бит,...

Дан массив из 9 байт. Рассматривая его как массив из 72 бит, посчитать число переходов между нулями и единицами.
Ребят, помогите пожалуйста! осталось одну прогу сделать для зачета, не...

4
Mikl___
Автор FAQ
11365 / 5908 / 534
Регистрация: 11.11.2010
Сообщений: 10,932
16.12.2010, 11:45 #2
liiy, и чем помогать? Всё (практически) правильно
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
35
36
37
38
39
.286
.model tiny
.code
ORG 100h
start:  mov ax,3
    int 10h; чищу экран
    mov cx,10
    mov si, offset mas
    xor dx,dx
deg:    push cx
    lodsb;mov al,[bx]
    mov cx,8
beg:    test al,1
    jz nol
    inc kol
nol:    shr al,1; <-- вот здесь исправил!
    loop beg
    cmp kol,3
    jnz netri
    inc dx
netri:  mov kol,0
    pop cx
    loop deg
    mov ax,dx; и вывод на экран добавил
    aam
    xchg al,ah
    add word ptr x,ax
    mov dx,offset otvet
    mov ah,9
    int 21h; вывожу результат на экран
    mov ah,0; жду нажатия на любую клавишу
    int 16h
    retn; выхожу из программы
mas db 2,3,1011011b,255,34,82,234,1,51,0
;      1,2,5       ,7  ,2 ,3 ,5  ,1,4 ,0 число единичных бит в байте
kol db 0
otvet db 'в массиве '
x db '00 байт с числом единиц в байте равным три$'
END start
Важно! Компилируй как COM- файл или переделай в EXE сам
1
liiy
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 10
18.12.2010, 08:55  [ТС] #3
большое спасибо Mikl__
0
x128
175 / 164 / 34
Регистрация: 17.04.2010
Сообщений: 307
18.12.2010, 13:45 #4
немного упрощенный вариант:
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
35
36
    .model tiny
    .code
 
    org 100h
start:
    mov si, offset mas
    mov cx, 10
    xor dl, dl
mainloop:
    lodsb
    xor ah, ah
calc:
    shr al, 1
    adc ah, 0
    or  al, al
    jnz calc
    xor ah, 3
    sub ah, 1
    adc dl, 0
    loop    mainloop
    xor ah, ah
    mov al, dl
    aaa
    rol ax, 8
    or  ax, 3030h
    mov word ptr x, ax
    mov dx, offset otvet
    mov ah, 9
    int 21h
    ret
;----------------------------------
mas db  2,3,1011011b,255,34,82,234,1,51,0
otvet   db  'в массиве '
x   db  '00 байт с числом единиц в байте равным три$'
;----------------------------------
    end start
0
murderer
3314 / 1461 / 133
Регистрация: 06.10.2010
Сообщений: 3,215
18.12.2010, 14:38 #5
Ещё немного упростил
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
.model tiny
.code
.486
org 100h
start:
mov si,offset mas
xor ax,ax
cwd
mov cx,10
calc:lodsb
     bt  word ptr [set],ax
     adc dl,ah
loop calc
add dl,'0'
mov ah,2
int 21h
xor ax,ax
int 16h
ret
mas db 2,3,1011011b,255,34,82,234,1,51,0
;      1,2,5       ,7  ,2 ,3 ,5  ,1,4 ,0 ÷èñëî åäèГ*ГЁГ·Г*ûõ ГЎГЁГІ Гў ГЎГ*éòå
set dq 0000000100010110000101100110100000010110011010000110100010000000b,\
       0000000000000001000000010001011000000001000101100001011001101000b,\
       0000000000000001000000010001011000000001000101100001011001101000b,\
       0000000000000000000000000000000100000000000000010000000100010110b
end start
0
18.12.2010, 14:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2010, 14:38
Привет! Вот еще темы с решениями:

Порахувати кількість байт із числом одиниць у байті рівним три
Дано масив з 10 байт. Порахувати кількість байт із числом одиниць у байті...

В строке 15 символов.Подсчитать количество байт содержащих нечётное число нулевых битов.Умножить значение в каждом таком байте на 12.
В строке 15 символов.Подсчитать количество байт содержащих нечётное число...

Рассматривая массив из восьми пятибитных слов, посчитать количество слов с чётным числом единиц в слове
пожалуйста помогите с решением, плаваю в этих битах немного...(( программа на...

Дано масив из 6 байт. Рассматривая его, как масив с 48 бит, посчитать число 2х единиц, что расположены между нулями.
Ребят, помогите пожалуйста! не получается... Дано массив из 6 байт....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru