Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 13.11.2018
Сообщений: 13
1

Ассемблерная Вставка

05.05.2019, 20:33. Показов 1056. Ответов 1
Метки нет (Все метки)

Помогите, пожалуйста!
Задано массив из 4 байт. Рассматривая его, как массив из 32 бит
посчитать длину самой длинной последовательности нулей.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2019, 20:33
Ответы с готовыми решениями:

Ассемблерная вставка
Нужно заменить в русской строке похожие буквы латиницей. Ввод и вывод - на С++, всё остальное - на...

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

Ассемблерная вставка c++
Добрый вечер! Как в c++ сделать ассемблерную вставку вида: if (b >= 0) { Некий код } else ...

Ассемблерная вставка в с++
С помощью логических операций реализуйте запись битов в данной ячейки памяти, размером в 2 байта, в...

1
1668 / 828 / 251
Регистрация: 26.05.2012
Сообщений: 3,060
06.05.2019, 11:17 2
Лучший ответ Сообщение было отмечено KateKuzmina как решение

Решение

KateKuzmina, сделал на чистом ассемблере.. возможно, немного каряво получилось со стеком, но все правильно работает..
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
.model small
 
.data
;arr db 0F0h,70h,10h,2Fh
;arr db 0F0h,70h,1Fh,00h
arr db 0F0h,70h,07h,0Fh
len equ $-arr
 
.stack 100h
 
.code
start:
    mov ax,@data
    mov ds,ax
 
    call zeroseq
 
    mov ah,4Ch
    mov al,0
    int 21h
 
zeroseq proc
    push bp
    mov bp,sp
 
    mov si,offset arr
    xor bx,bx
    mov cx,len
    getbyte:
    push cx
 
    mov al,byte ptr [si]
 
    mov cx,8
    getbit:
        shl al,1
        jc one
 
        zero:
        inc bl
 
        cmp word ptr [bp-2],1
        jnz next
 
        cmp cx,1
        jnz next        
 
        one:
        cmp bl,bh
        jg change
 
        notchange:
        xor bl,bl
 
        jmp next
 
        change:
        mov bh,bl
        xor bl,bl
 
        next:
    loop getbit
 
    inc si
 
    pop cx
    loop getbyte
 
    pop bp
 
    mov ah,2
    mov dl,bh
    add dl,'0'
    int 21h
 
    ret
zeroseq endp
end start
думаю, асм вставку попробуешь сделать сама.. т.к. я не знаю каким компилятором ты пользуешься, а вставка может немного отличаться на разных компиляторах..
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2019, 11:17

Ассемблерная вставка на С++
Написал сегодня код. int x, y; //Исходные числа float res = 0; //Результат расчетов cin >> x...

Ассемблерная вставка
Всем доброй ночи!!! Я хочу попросить помощи в решении вот такой функции: Найти целое значение...

Ассемблерная вставка
Доброго времени суток, пытаюсь пытаюсь узнать поддерживает ли мой процессор тепловые сенсоры код не...

Ассемблерная вставка
#include <iostream> #include <cstdlib> using namespace std; int main() { int x, y; cout <<...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru