Результаты поиска по запросу "assembly"
@BeeOnRope: добавлена версия SSE2. Отдельный movd / punpckldq, но все же лучше, чем 2 скалярных операции на некоторых процессорах.
тавьте себе цикл хранения-загрузки, подобный следующему, который загружаетDWORDs из несмежных местоположений и хранит их непрерывно: top: mov eax, DWORD [rsi] mov DWORD [rdi], eax mov eax, DWORD [rdx] mov DWORD [rdi + 4], eax ; unroll the above ...
@PeterCordes интересно, никогда не думал об этом таким образом, что коды операций на самом деле иногда содержат различный размер данных, и процессор делает ноль / знак, расширяет их до правильного пути, но, конечно, вы абсолютно правы.
е всего, это домашнее задание. У меня есть цикл, чтобы получить значения из двух цифр индивидуально, и соединяя их, делая умножение первой цифры на 10 и добавление со второй цифрой, чтобы получить целое число. Я делаю все это и сохраняю в ...
командные строки, чтобы программы использовали имена файлов по умолчанию для подсказок.
отаю с эмулятором DosBox в моем университете. Мы создаем файлы .asm с помощью MASM. Я очень устал от необходимости каждый раз создавать свой файл .asm с помощью masm, затем нажимать клавишу ввода 4 раза, затем вводить ссылку .obj, а затем вводить ...
чтобы увидеть, как новые или старые версии лягушки магистрали так.
я есть кусок кода, который я пытаюсь превратить в битовый код LLVM: int main() { volatile double n = 0.45; for (int j = 0; j < 32; j++) { n *= j; } return 0; }Я запускаю следующую команду: clang -O0 -S -emit-llvm TrainingCode/trainingCode.cpp ...
Я подробно прокомментировал источник, поэтому надеюсь, что механизм печати данных битовой маски понятен ... если нет, то сначала попробуйте отладчик (чтобы посмотреть, как изменяются значения в регистрах внутри цикла печати), если он все еще сбивает с толку, не стесняйтесь спросить здесь.
ли указание сделать текст CSC 112.1 центрированным. Я использовал инструкцию БД и смещение. Это мой код .model small .stack .data c db 10,13,10,13," лллл ",10,13 db " лллллл ",10,13 db "лл лл",10,13 db "лл ",10,13 db "лл ",10,13 db "лл ",10,13 ...
, обзор кода вклада.
в следующей программе работает нормально, но когда я прошу отобразить вывод, DOS вообще ничего не отображает! Как это возможно? ORG 256 mov dx, msg1 mov ah, 09h ;DOS.WriteString int 21h mov dx, buf mov ah, 0Ah ;DOS.BufferedInput int 21h mov dx, ...
Это, кажется, не добавляет ничего к предыдущим ответам, в которых упоминалось то же самое более подробно.
ираюсь в сборку и продолжаю работать в xor, например: xor ax, axЭто просто очищает значение регистра?
четко обозначает место, где мы находимся.
message db "Enter a digit ", 0xA,0xD Length equ $- messageьзуется ли для получения длины строки? Как это работает внутри?
инструкция.
исал следующую простую программу, но nasm отказывается ее компилировать. section .text global _start _start: mov rax, 0x01 mov rdi, 0x01 mov rsi, str mov rdx, 0x03 syscall mov rax, 60 syscall segment .data str db 'Some string' nasm -f elf64 ...
ABI просто не поддерживается, даже для 32-битных исполняемых файлов. Так что это как ядро Linux, построенное без
ал учебник по сборке, и я пытаюсь заставить программу hello world работать. Я использую Bash на Ubuntu в Windows. Вот сборка: section .text global _start ;must be declared for linker (ld) _start: ;tells linker entry point mov edx,len ;message ...