Форум программистов, компьютерный форум, киберфорум
Asm
Войти
Регистрация
Восстановить пароль
Старый
Рейтинг: 5.00. Голосов: 1.
Как написать Тетрис на Ассемблере
Запись от bytestream размещена 14.01.2025 в 18:58
Показов 2486 Комментарии 0

Нажмите на изображение для увеличения
Название: df24c693-9996-4132-9e6d-09c9c46bb388.png
Просмотров: 65
Размер:	1.87 Мб
ID:	9201
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по всему миру. Успех игры, во многом, обусловлен простотой её концепции и высокой степенью увлекательности, что делает её интересной для игроков разного возраста и опыта.

Популярность Тетриса не ослабевает в наше время, и его можно встретить на различных платформах – от классических игровых...
Аватар для bytestream
Размещено в Без категории
bytestream вне форума
Старый
TASM корректировка кода
Запись от xqwetzi размещена 18.03.2024 в 01:03
Показов 755 Комментарии 1
Метки asm, tasm

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



.386
dseg segment use16
text1 db 129, 130 dup(0)
text2 db 0Ah, 0Dh, 'Enter the route to the file(Up to 128 symbols): $'
text5 db 0Ah, 0Dh, 'Error! Please, try again later $'
buffer db...
Размещено в Без категории
xqwetzi вне форума
Старый
Рейтинг: 5.00. Голосов: 2.
Простое, но недокументирова­­нное определение производителя процессора (Intel / AMD)
Запись от Jin X размещена 14.10.2018 в 20:58. Обновил(-а) Jin X 20.09.2023 в 13:19
Показов 3820 Комментарии 5

Простое, но недокументированное определение производителя процессора (Intel / AMD)


Обычно для определения производителя процессора используется инструкция cpuid (функция eax=0):
Assembler
1
2
3
4
5
6
7
  xor eax,eax
  cpuid  ; get vendor id string in ebx:edx:ecx
  cmp ecx,6C65746Eh  ; 'ntel' (full string is 'GenuineIntel')
  je .Intel
  cmp ecx,444D4163h  ; 'cAMD' (full string is 'AuthenticAMD')
  je .AMD
.another:
(я записал цифрами, т.к. компиляторы...
Вложения
Тип файла: zip CPUVendorTest.zip (2.3 Кб, 152 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 5.00. Голосов: 4.
За что я люблю Assembler?
Запись от Jin X размещена 27.07.2018 в 17:58. Обновил(-а) Jin X 04.09.2018 в 23:35
Показов 8051 Комментарии 12

За что я люблю Assembler?

Оговорочки

Хочу сразу оговориться, что правильно говорить не "ассемблер" (assembler), а "язык ассемблера" (assembly language), потому как ассемблер – это транслятор кода на языке ассемблера (т.е. по сути, программа MASM, TASM, fasm, NASM, UASM, GAS и пр., которая компилирует исходный текст на языке ассемблера в объектный или исполняемый файл). Тем не менее, из соображения краткости многие, говоря "ассемблер" (асм, asm), подразумевают именно "язык ассемблера". Синтаксис различных диалектов...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 3.25. Голосов: 4.
Системные вызовы в Linux
Запись от Jin X размещена 18.07.2018 в 12:14. Обновил(-а) Jin X 21.06.2019 в 00:19
Показов 8326 Комментарии 1

Системные вызовы в Linux

В Linux, в отличие от Windows, прямые системные вызовы используются довольно часто. По меньшей мере, консольные приложения, написанные на ассемблере, порой содержат лишь системные вызовы, без обращений к функциям библиотек. Причём, этот механизм (как и номера функций(!)) различается для кода 32- и 64-битной разрядности (кстати, в Linux существует ещё и x32 ABI – это, попросту говоря, 64-битный код с 32-битными указателями).

Давайте разберёмся...

...
Вложения
Тип файла: zip Linux_syscall.NASM.zip (39.7 Кб, 533 просмотров)
Тип файла: pdf LINUX System Call Quick Reference.pdf (55.5 Кб, 521 просмотров)
Тип файла: pdf syscalls.pdf (420.0 Кб, 941 просмотров)
Тип файла: zip linux_sys_prog.zip (9.24 Мб, 3300 просмотров)
Тип файла: zip adv_linux_prog.zip (3.37 Мб, 23647 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 4.25. Голосов: 8.
Инструменты для низкоуровневого программирования
Запись от Jin X размещена 12.03.2018 в 20:55. Обновил(-а) Jin X 29.03.2022 в 12:47
Показов 45769 Комментарии 1


Компиляторы и компоновщики
  • MASM32 (Macro Assembler) – наверное, самый популярный пакет самого популярного ассемблера от Стива Хатчессона aka Hutch (содержит в себе также PoAsm), рекомендую сразу скачать ml.exe 8.0
...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 3.83. Голосов: 6.
Подборка литературы по низкоуровневому программированию
Запись от Jin X размещена 11.03.2018 в 00:54. Обновил(-а) Jin X 29.03.2022 в 12:47
Показов 12008 Комментарии 2

Подборка литературы по низкоуровневому программированию
(книги, статьи, техническая документация)


Смотрите также:
Инструменты для низкоуровневого программирования
Полезные темы по низкоуровневому программированию
Обсуждение полезных ссылок, книг, инструментов...


Обучение программированию на ассемблере...
Вложения
Тип файла: rar TechHelp60.rar (738.2 Кб, 383 просмотров)
Тип файла: rar IntrList102.rar (793.3 Кб, 731 просмотров)
Тип файла: rar ASML.rar (58.3 Кб, 573 просмотров)
Тип файла: zip emu8086_rus_help.zip (249.9 Кб, 398 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 2.25. Голосов: 4.
Оптимизация кода: обходимся без ветвлений
Запись от Jin X размещена 05.02.2018 в 15:43. Обновил(-а) Jin X 04.05.2019 в 14:12
Показов 6476 Комментарии 4

Оптимизация кода: обходимся без ветвлений

Думаю, ни для кого не секрет, что использование условных переходов (инструкций jcc в ассемблере; конструкций if, while, case, for в языках высокого уровня), т.е. ветвлений, могут значительно снизить скорость работы функций. Несмотря на наличие "умной" системы предсказания переходов в современных процессорах, эта система нередко ошибается. Доказательством...
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 2.00. Голосов: 2.
Реально быстрый алгоритм вычисления НОД
Запись от Jin X размещена 03.02.2018 в 02:24. Обновил(-а) Jin X 26.03.2019 в 16:34
Показов 4317 Комментарии 0

Реально быстрый алгоритм вычисления НОД

Основными популярными алгоритмами вычисления наибольшего общего делителя (НОД) являются алгоритм Евклида и бинарный алгоритм. Первый очень простой и компактный, второй – якобы быстрый, поскольку в нём отсутствуют "долгие" операции деления, а присутствуют лишь операции сдвига. Однако на практике бинарный алгоритм зачастую работает раза в 2(!) медленнее алгоритма Евклида, поскольку в нём присутствует довольно много операций ветвления. Описанные в различных источниках бинарные алгоритмы вычисления НОД (в т.ч. в Википедии) подразумевают...
Вложения
Тип файла: zip GCDX.zip (2.7 Кб, 360 просмотров)
Тип файла: zip GCD386.zip (1.6 Кб, 400 просмотров)
Тип файла: zip GCD.zip (14.3 Кб, 348 просмотров)
Аватар для Jin X
Asm/C++/Delphi/Py/PHP/VBA
Jin X вне форума
Старый
Рейтинг: 5.00. Голосов: 3.
"Hello world" в машинных кодах.
Запись от The trick размещена 09.12.2016 в 04:47
Показов 23034 Комментарии 5

Всем привет. Как известно большинство из нас создают программы используя языки высокого уровня, некоторые также используют ассемблер. Сегодня мы с вами напишем программу используя только HEX редактор. Подразумевается что читатель знает строение исполняемых файлов хотя бы поверхностно, поэтому я не буду углубляться в детали, к...
Изображения
 
Вложения
Тип файла: zip HEX_exe_by_The_trick.zip (350 байт, 568 просмотров)
Модератор
Размещено в Без категории
The trick вне форума
Старый
Задачка с универа под ASM
Запись от dima koz размещена 11.10.2013 в 21:01
Показов 3450 Комментарии 0
Метки asm

Задание: Дан текст, состоящий из 8 слов по 5 символов. Определить количество гласных букв в каждом слове.

Код:
Кликните здесь для просмотра всего текста


Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
; Template for console application
         .586
         .MODEL  flat, stdcall
         OPTION CASEMAP:NONE
            
Include kernel32.inc
Include masm32.inc
 
IncludeLib kernel32.lib
IncludeLib masm32.lib
 
 
         .CONST
MsgExit             DB "Press Enter to Exit",0AH,0DH,0
MsgInput            DB "Enter 8 words of 5 characters each",0AH,0DH,0
...
Аватар для dima koz
Размещено в Без категории
dima koz вне форума
Старый
Рейтинг: 3.56. Голосов: 9.
Влияние конвейера на скорость исполнения кода
Запись от Evg размещена 02.05.2012 в 17:53. Обновил(-а) Evg 27.07.2014 в 15:51
Показов 201846 Комментарии 38
Метки asm, c, c++

1. Предисловие

Одно из стандартных заблуждений начинающих программистов заключается в том, что многие думают, что чем короче исходник программы, тем быстрее программа будет работать. На самом деле для больших проектов первоочередным показателем является грамотное проектирование программы, а не количество строк кода. Но это...
Аватар для Evg
Evg
Evg вне форума
Новые блоги и статьи
Ключевые слова Python
hw_wired 15.02.2025
Ключевые слова в Python - это специальные зарезервированные слова, которые имеют особое значение и функции в языке. В настоящее время Python включает 35 ключевых слов и 4 мягких ключевых слова. Эти. . .
Отличия изменяемых и неизменяемых типов в Python
hw_wired 15.02.2025
В Python существует принципиальное различие между изменяемыми (mutable) и неизменяемыми (immutable) типами данных, которое оказывает существенное влияние на работу программ. Это различие часто. . .
Python: сравнение списков и кортежей
hw_wired 15.02.2025
В Python последовательности являются одними из самых важных и часто используемых типов данных. Они позволяют хранить упорядоченные наборы элементов, к которым можно обращаться по индексу. Среди всех. . .
Как скачивать файлы с URL с помощью Python
hw_wired 15.02.2025
Для скачивания файлов Python предлагает как встроенные средства, так и сторонние библиотеки. Встроенный модуль urllib из стандартной библиотеки обеспечивает базовую функциональность для работы с URL. . .
Использование SQLAlchemy в Python
hw_wired 15.02.2025
SQLAlchemy - мощная библиотека для работы с базами данных в Python, которая предоставляет полноценный набор средств для объектно-реляционного отображения (ORM) и обширные возможности для работы с. . .
Взаимодействие с REST API в Python
hw_wired 15.02.2025
В современном мире разработки программного обеспечения REST API стал неотъемлемой частью архитектуры веб-приложений. API (Application Programming Interface) - это набор правил и протоколов,. . .
Разделение строк в Python
hw_wired 15.02.2025
Python предлагает богатый набор возможностей для работы со строками, и среди них разделение строк занимает особое место. Этот процесс позволяет разбивать текст на отдельные компоненты, что критично. . .
Объединение строк в Python
hw_wired 15.02.2025
При работе с текстовыми данными в Python нередко возникает необходимость объединять несколько строк в одну. Это может потребоваться при форматировании вывода, обработке текстовых файлов или создании. . .
Лучшие игровые движки на Python
hw_wired 15.02.2025
В последнее время разработка игр стала одним из самых популярных направлений программирования, и Python не остался в стороне от этого тренда. Несмотря на то, что Python обычно не ассоциируется с. . .
Декоратор jit в Python
hw_wired 15.02.2025
Если вы достаточно долго изучаете программы и пакеты на Python для машинного обучения, то наверняка замечали, что паттерн "JIT-декоратор" довольно популярен. Этот подход позволяет превратить обычные. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru