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

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

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

Author24 — интернет-сервис помощи студентам
помогите с задачкой! Дан массив из 10 байт. Посчитать количество байт с числом единиц в
байте равным три.Вот код,но что тут не правильно записано:

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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2010, 17:17
Ответы с готовыми решениями:

Посчитать количество байт с числом единиц в байте, равным 3
Добрый вечер) Такая задача: Дан массив из 10 байт.Посчитать кол-во байт с числом единиц в байте...

Дан массив из 11 байт. Подсчитать количество байт с нечетным числом 1 в байте
Дан массив из 11 байт. Подсчитать количество байт с нечетным числом 1 в байте.-Assembler помогите...

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

Дан массив из 11 байт. Посчитать количество байт, в которых нет единиц, стоящих рядом
Дан массив из 11 байт. Посчитать количество байт, в которых нет единиц, стоящих рядом.

4
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
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
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 10
18.12.2010, 08:55  [ТС] 3
большое спасибо Mikl__
0
240 / 218 / 46
Регистрация: 17.04.2010
Сообщений: 526
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
4165 / 1817 / 216
Регистрация: 06.10.2010
Сообщений: 4,074
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2010, 14:38
Помогаю со студенческими работами здесь

Дан массив из 10 байт. Посчитать количество байт содержащих ровно три единицы
Здравствуйте, возникла проблема с решением задачи: &quot;Дан массив из 10 байт. Посчитать количество...

Дан массив из 10 байт. Посчитать количество байт, в которых сброшены 6 и 4 биты
Дан массив из 10 байт. Посчитать количество байт,в которых сброшены 6 и 4 биты. Массив байтов...

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru