Другие языки программирования и технологии
Дан массив из 8 байт. Рассматривая его, как массив из 64 бит посчитать длину самой длинной последовательности единиц.
Нужна помощь по ассемблеру
OPTION DOTNAME
option casemap :none
include temphls.inc
include win64.inc
include kernel32.inc
include msvcrt.inc
includelib kernel32.lib
includelib msvcrt.lib
OPTION PROLOGUE:rbpFramePrologue
OPTION EPILOGUE:rbpFrameEpilogue
.data
Array db 85, 177, 62, 31, 252, 1, 101, 132
Format db "%u", 0
.code
N184694494 proc <1>
mov ecx, 8
lea rsi, Array
@@:
shl rax, 8
lodsb
loop @B
xor r11, r11
xor r10, r10
DoLoop:
rcl rax, 1
pushf
adc r10, 0
cmp r11, r10
jae @F
mov r11, r10
@@:
popf
jc @F
xor r10, r10
@@:
test rax, rax
jnz DoLoop
invoke printf, addr Format, r11d
@@:
invoke _kbhit
test eax, eax
jz @B
invoke ExitProcess, 0
ret
N184694494 endp
end
option casemap :none
include temphls.inc
include win64.inc
include kernel32.inc
include msvcrt.inc
includelib kernel32.lib
includelib msvcrt.lib
OPTION PROLOGUE:rbpFramePrologue
OPTION EPILOGUE:rbpFrameEpilogue
.data
Array db 85, 177, 62, 31, 252, 1, 101, 132
Format db "%u", 0
.code
N184694494 proc <1>
mov ecx, 8
lea rsi, Array
@@:
shl rax, 8
lodsb
loop @B
xor r11, r11
xor r10, r10
DoLoop:
rcl rax, 1
pushf
adc r10, 0
cmp r11, r10
jae @F
mov r11, r10
@@:
popf
jc @F
xor r10, r10
@@:
test rax, rax
jnz DoLoop
invoke printf, addr Format, r11d
@@:
invoke _kbhit
test eax, eax
jz @B
invoke ExitProcess, 0
ret
N184694494 endp
end
о_О Вы действительно думаете что ассемблер это один язык? Только для x86 модели я знаю 4 ассемблера. И синтаксис в них немного отличается. А если взять arm процессоры, то там свой ассемблер. Для пик микроконтроллеров свой, для атмел микроконтроллеров свой, для 8051 свой! Поканкретнее задавать надо! А потом помагите подразумевает что вы пробовали писать, но у вас где то ошибка и вы просите найти ее или подсказать где она!
cyberforum.ru/asm-beginners/thread1400882.html
там все просто, запихиваем в регистр, сдвигаем в флаг и подсчитываем
Похожие вопросы
- Программирование ассемблер. Дан массив из 8 байт. Посчитать количество байт, в которых число нулей и единиц одинаковое
- Ассемблер. Дан массив из 6 байт. Посчитать кол-во нулей.
- Дан массив размера N. Вывести все двузначные элементы массива и их номера. ПОМОГИТЕ pascal ХЕЛП
- Дан массив а1,...а50. Найти в нем последовательности.. смотрите внутри. Задание на Си. Подскажите с чего начать
- Знающие люди объясните мне пожалуйста разницу между 32 бит и 64 битом!
- Здравствуйте помогите в программирование на ассемблере. Нужно зеркально отобразить массив из 256 байт
- Как в Паскале написать прогу для перевода чисел из двоичной в шестьнадцатиричную.Длина кода 64 бит.(64 цифры в вводимом
- операционные системы 32 бит 64 бит, разряды процессоров итд
- дан двумерный массив С(3,4).Получите новый массив А путём увеличения всех элементов исходного массива на число С.
- pascal одномерные массивы. дан массив А(30).