Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
dimkar10
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 22
1

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

19.02.2012, 17:42. Просмотров 1125. Ответов 2
Метки нет (Все метки)

Код для задания -Дан массив из 9 байт. Рассматривая его как массив из 72 бит, посчитать число переходов между нулями и единицами. Нужно подсчитать число нулей в этом массиве, а не число переходов между нулями и единицами. Исправте пожалуйста)))
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
code segment
 .386
 assume cs:code,ds:data
 begin:
     mov ax, data
     mov ds, ax
     ;mov cx,4
     xor ax,ax
     xor si,si
     xor bh,bh
     xor bl,bl
     mov cx, 9
     P:
     mov fff, cx
         mov al, mass[si] ;take 8 bit
         mov cx,8
         mov dl,8
         O:
         push ax
             push cx         
                     dec dl
                     mov cl, dl
                     shr al, cl
                     and al, 00000001B
                     xor bl, al
                     add bh,bl
                     mov bl, al
             pop cx
         pop ax
         loop O
         inc si      
     mov cx, word ptr fff
     loop P
 
     ; перевод в 16 систему - можете не обращать внимания,работает 100%, это проверено
 
     mov cx,4
     mov bl,12
     mov si,0
     xor ax,ax
     mov ax,bh
     k1:
         push ax
         push cx
             mov cl,bl
             shr ax,cl
         pop cx 
         and ax,000fh
     
         cmp al,9
         ja m4
             add al,30h
         jmp a3
         m4: add al,37h
         a3:mov byte ptr digit+[si],al   
         sub bl,4
         inc si
         pop ax
     loop k1
     
     mov ax, data
     mov ds, ax
     mov dx, offset digit
     mov ah, 09h
     int 21h 
     
     mov ah, 4ch
     mov al,0
     int 21h
 code ends
 data segment use16
     mass db 1h,2h,3h,4h,5h,6h,7h,8h,9h
     digit  db 0,0,0,0,'h$'
     ggg db '1$'
         fff db 0
 data ends
 stk segment stack
 db 256 dup(0)
 stk ends
 end begin
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2012, 17:42
Ответы с готовыми решениями:

Дан массив из 9 байт расматривая его как массив 72 бит подсчитать число нулей в этом массиве.
Уважаемые форумчане мне очень нужна ваша помощь я обращаюсь к вам в первые по...

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

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

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

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

2
murderer
3321 / 1467 / 134
Регистрация: 06.10.2010
Сообщений: 3,230
19.02.2012, 21:00 2
Цикл подсчёта можно реализовать так
Assembler
1
2
3
4
5
6
mov cx,71
mov ax,72
@@:bt  word[mas],cx
   sbb ax,0
   dec cx
jns @b
Добавлено через 1 минуту
результат в ax
1
dimkar10
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 22
26.02.2012, 18:26  [ТС] 3
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.286
model small
stack 100h
.data
 a db ?
 x db 1,0,2,3
   db 2,1,0,0
   db 0,2,3,0
   db 2,5,2,0
.code
 start:
  mov AX,@data
  mov DS,AX
 
  mov si,0
  mov di,0
................................
  mov AH,04CH
  int 21h
end
Вместо ................................ нужно организовать подсчёт нулей - только каким образом?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2012, 18:26

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

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

Дан массив из 5 байт. Рассматривая его как массив из 40 бит посчитать количество нулей
Дан массив из 5 байт. Рассматривая его как массив из 40 бит посчитать...


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

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

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