#assembler — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #assembler, aggregated by home.social.
-
Деконструкция GO: Низкоуровневые концепции. Atomics. Часть 2.1
Я самую малость обленился и как-то давно не делал новых разборов, поэтому следующим нашим этапом деконструкции будут низкоуровневые операции . Иногда здесь будет в отрыве от аллокаторов/планировщиков и прочего, но опять же, статьи для тех, кто знает и хочет разобраться поглубже, как тут всё устроено. Поэтому, в этой части начнем с самого простого – пакета atomic. Концепции вокруг атомарных операций на уровне CPU я рассматривал здесь , поэтому советую почитать. Там мы даже пишем свой атомарный AND. !Важно! Мы будем разбирать на примере src/internal/runtime/atomics , то есть внутреннего пакета, а не того, который представлен нам как пользователям(потому что в исходниках я не нашел реализации). Но по большей части операции одни и те же.
-
Ghidra-SNES project by JoshLeaves: #Ghidra extension for #SNES #reverseengineering #romhacking (first public release, feedback welcome!) #retrodev #emudev #retrogaming #assembler
Ghidra-SNES: A Ghidra extensio... -
Remoded: разбираем демо-эффекты (часть 1)
Приветствую всех ценителей больших пикселей и выпуклых мониторов. Мы продолжаем разбираться с технологиями демосцены 90-х. В этой статье: недокументированные режимы VGA, аппаратный скролл, fake mode, удивительный алгоритм закраски, и многое другое, о чем бесполезно спрашивать у ChatGPT. BEGIN
https://habr.com/ru/articles/1028782/
#демосцена #олдскул #oldschool #assembler #ассемблер #кодинг #компьютерная_графика
-
Деконструкция GO: CPU, RAM и что там происходит. Syscalls. Часть 1.5
Итак, финал части 1! По крайней мере основного разбора без дополнений. Собственно, сегодня мы разберем то, чем в основном с точки зрения ядра ОС и CPU являются все вот эти ваши бэкенды – системные вызовы и всё, что вокруг них. На самом деле механизм немного замудренный и “в лоб” сразу все эти системные вызовы мы разбирать не будем, потому что вокруг них существует ещё несколько концепций. Итак, начнем! User mode, Kernel mode Процессор исполняет код в разных уровнях привилегий. Это механизм защиты, который не позволяет пользовательским программам напрямую управлять системой. Зачем? Для безопасности. Чтобы чей-нибудь опасный ассемблерный вайбкод случайно всё не поломал! Да и вообще, если бы любая программа могла выполнять любые инструкции CPU, она могла бы: • Читать память других процессов • Управлять устройствами • Изменять таблицы страниц • Выключать систему Чтобы этого не происходило, CPU разделяет код по уровням доступа. Хотя в архитектуре x86 существует 4 уровня привилегий: Ring 0 – kernel mode Ring 1 – драйверы Ring 2 – системные службы и файлы Ring 3 – user mode По факту, Ring 1 и Ring 2 – это легаси, которое американские деды проектировали с научной красотой, но без реальной производственной необходимости. В реальной жизни используются только 2 уровня – Ring 0 и Ring 3 для бОльшей совместимости софта с другими ОС, упрощения поддержки, да и вообще переключение уровней доступа дорогое(100-150 тактов CPU), соответственно, чем больше колец, тем хуже производительность. Получается, что В user mode выполняется обычный код программ.
-
Деконструкция GO: CPU, RAM и что там происходит. Оптимизации на CPU. Часть 1.4
Первые великие оптимизаторы появились уже на таком низком уровне, как железо. По факту, задача выжимки ресурсов в программировании есть на любом уровне. В этой статье мы разберем оптимизации на уровне CPU такие как NUMA, prefetch, TLB и alignment. Статья получится немного неоднородной и больше про “высокие материи”, что в принципе намекает на то, что разбор “железной” составляющей скоро подойдет к концу! Вводная Как мы рассматривали некогда ранее обращение на RAM – это достаточно дорого. CPU пытается это “скрыть”, чтобы работа казалась куда более быстрой. Одним из таких механизмов, естественно, является иерархия кэшей! Но вот не возникало ли у вас вообще вопроса – “А почему память – это в принципе проблема? Почему дорого?”. Все очень просто – доступ к памяти медленный Тактовая частота например моего ноута – 2,70 ГГц, то есть 2,7 миллиарда циклов/операций в секунду Доступ к ОЗУ имеет задержку аж в 150–350 циклов! То есть за это время мы могли бы выполнить 200 операций. Такое положение дел нас в современных реалиях не устраивает, поэтому прибегаем к различным оптимизациями. Prefetch В предыдущей серии мы рассматривали модель исполнения процессорных инструкций. Когда инструкции поступают, CPU, а точнее его механизм hardware prefetcher, загружает данные в кэш из предположения, что они скоро понадобятся. На всякий случай зафиксируем:
-
Cross-compiler/assembler: Calypsi 5.16 for Windows, Linux and Mac OS
Calypsi is a collection of compilers and assemblers for Windows, Linux and Mac OS, that generatescode for various retro computers. New in version 5.16:
https://www.amiga-news.de/en/news/AN-2026-04-00071-EN.html
#compiler #assembler #Windows #Linux #macOS #calypsi #opensource #MOS6502 #WDC65816 #Motorola68000 #HPNut
-
m68k assembler support: m68kplugin 0.2.2 for JetBrains
In addition to Chris 'platon42' Hodges' MC68000 Assembly Language Plugin for Jetbrains' integrated development environments, Yann Cébron also provides one. Now version 0.2.2 has been released:
-
Деконструкция GO: CPU, RAM и что там происходит. Многозадачность, многопоточность, кэши, проблемы. Часть 1.2
В прошлой статье я немного слукавил, сказав, что мы будем разбирать атомики, барьеры и системные вызовы. Я пару дней поразмышлял и осознал – а зачем вообще это объяснять, если мы даже не знаем про причину их возникновения и проблемы, которые они решают В части 1.1 мы рассмотрели базовые инструкции, которые выполняет наш CPU и которыми в конечном счете и являются наши прекрасные строчки на Go. Но возникает закономерный вопрос: “Окей, мы поняли как работает на одном ядре, но Go у нас во многом про многопоточку, соответственно как это будет работать на нескольких потоках?” Если что, то это часть большого цикла по разбору Go! Данная статья – это подводка уже к тому, с чем мы имеем дело в Go достаточно часто(барьеры памяти, атомики, сисколы) В этот раз будет без Go Assembler, но с +- реальными примерами, если что-то непонятно будет, то на Хабре есть классный ИИ-помощник Многозадачность Хоть мы и развенчиваем в этом цикле абстракции, придется немного к ним вернуться. Но ненадолго! Вспоминаем, как у нас выполняются инструкции в процессоре и представляем следующую конфигурацию: Есть какое-то количество ГБ RAM Есть 1 ядро CPU Соответственно в один момент CPU может выполнять ровно 1 набор инструкций Но почему-то всё во времена одноядерных CPU работало непрерывно… На самом деле нет! Работало еще как с прерываниями(не путать с теми, которые interrupt), просто настолько быстро, что мы были неспособны это осознать, а для того, чтобы успевали работать фоновые службы, приложения и что бы то ни было ещё как раз и придумали многозадачность !
https://habr.com/ru/articles/1024868/
#assembler #go #multithreading #multitasking #race_condition #cache_contention #cpu #ram #linux
-
Деконструкция GO: CPU, RAM и что там происходит. Многозадачность, многопоточность, кэши, проблемы. Часть 1.2
В прошлой статье я немного слукавил, сказав, что мы будем разбирать атомики, барьеры и системные вызовы. Я пару дней поразмышлял и осознал – а зачем вообще это объяснять, если мы даже не знаем про причину их возникновения и проблемы, которые они решают В части 1.1 мы рассмотрели базовые инструкции, которые выполняет наш CPU и которыми в конечном счете и являются наши прекрасные строчки на Go. Но возникает закономерный вопрос: “Окей, мы поняли как работает на одном ядре, но Go у нас во многом про многопоточку, соответственно как это будет работать на нескольких потоках?” Если что, то это часть большого цикла по разбору Go! Данная статья – это подводка уже к тому, с чем мы имеем дело в Go достаточно часто(барьеры памяти, атомики, сисколы) В этот раз будет без Go Assembler, но с +- реальными примерами, если что-то непонятно будет, то на Хабре есть классный ИИ-помощник Многозадачность Хоть мы и развенчиваем в этом цикле абстракции, придется немного к ним вернуться. Но ненадолго! Вспоминаем, как у нас выполняются инструкции в процессоре и представляем следующую конфигурацию: Есть какое-то количество ГБ RAM Есть 1 ядро CPU Соответственно в один момент CPU может выполнять ровно 1 набор инструкций Но почему-то всё во времена одноядерных CPU работало непрерывно… На самом деле нет! Работало еще как с прерываниями(не путать с теми, которые interrupt), просто настолько быстро, что мы были неспособны это осознать, а для того, чтобы успевали работать фоновые службы, приложения и что бы то ни было ещё как раз и придумали многозадачность !
https://habr.com/ru/articles/1024868/
#assembler #go #multithreading #multitasking #race_condition #cache_contention #cpu #ram #linux
-
New version of Skoolkit, a suite of tools that can be used to create a disassembly of a Spectrum game (or any other piece of software), in HTML form or as plain assembly language, from a single set of source files:
-
Visual Assembly Editor Brings Drag-and-Drop 6502 Coding to Commodore 64 Projects
#Commodore64 #C64 #VisualAssembler #RetroComputing #Assembler #IndieDev #VICEEmulator #ItchIO
https://theoasisbbs.com/visual-assembly-editor-brings-drag-and-drop-6502-coding-to-commodore-64-projects/?fsp_sid=4172 -
How to add the Spin Dash in Sonic 1 (2026 Rewrite) sonicresearch.org/community/in... #retrodev #romhacking #retrogaming #segagenesis #megadrive #programming #gamedev #assembler
-
Estación Loca, a puzzle game in #machinecode from #microhobby magazine.
Download:
https://spectrumcomputing.co.uk/entry/16430/ZX-Spectrum/Estacion_Loca -
Cheeka's Exploits, a plattform game in #BASIC & #machinecode from #yourcomputer magazine.
Download:
https://spectrumcomputing.co.uk/entry/910/ZX-Spectrum/Cheekahs_Exploits -
Cheeka's Exploits, a plattform game in #BASIC & #machinecode from #yourcomputer magazine.
Download:
https://spectrumcomputing.co.uk/entry/910/ZX-Spectrum/Cheekahs_Exploits -
Cheeka's Exploits, a plattform game in #BASIC & #machinecode from #yourcomputer magazine.
Download:
https://spectrumcomputing.co.uk/entry/910/ZX-Spectrum/Cheekahs_Exploits -
Cheeka's Exploits, a plattform game in #BASIC & #machinecode from #yourcomputer magazine.
Download:
https://spectrumcomputing.co.uk/entry/910/ZX-Spectrum/Cheekahs_Exploits -
Cheeka's Exploits, a plattform game in #BASIC & #machinecode from #yourcomputer magazine.
Download:
https://spectrumcomputing.co.uk/entry/910/ZX-Spectrum/Cheekahs_Exploits -
Kernel programming lore
Orientating myself in the kernel lore
I haven't looked at the linux kernel source in too long a time. I just grabbed a section that was on top and started reading and learning
Source code is nice to read IMHO
https://lore.kernel.org/linux-input/20[email protected]/T/#u
#kernel #lore #Linux #programming #OpenSource #POSIX #technology #modules #configure #make #asm #assembler #test #install
-
Kernel.org kernel dev
Reading a bit up on the Linux kernel doc
https://www.kernel.org/doc/html/latest/process/index.html
#kernel #Linux #programming #OpenSource #POSIX #technology #modules #configure #make #asm #assembler #test #install
-
Linus Torvalds — Talks about AI Hype, GPU Power, and Linux’s Future
Here Linus Torvalds Speaks on a calm and relaxed energy level, on the LLM hype how it affects kernel development and open source. The mothods how recent Linux kernel hardware like GPUs and APUs from different companies like AMD has modified the Linux's kernel role.
https://www.youtube.com/watch?v=NjGHrDnPxwI
#programming #LLM #AI #slop #kernel #configure #make #assembler #linker #makeInstall #Linux #openSource #technology #mathematics #linear #algebra #linearAlgebra
-
On this Linux installation (MX 23.6 the Cairo Dock is very old)
- Cairo-Dock version : 3.4.1
- Compiled date : Jan 2 2021 11:22:34
- Built with GTK : 3.24
- Running with OpenGL: 1
Log:
$ warning : (/build/cairo-dock-91fau9/cairo-dock-3.4.1+git20201103.0836f5d1/src/implementations/cairo-dock-egl.c:gldi_register_egl_backend:232)
Cairo-Dock was not built with EGL support
warning : (/build/cairo-dock-91fau9/cairo-dock-3.4.1+git20201103.0836f5d1/src/implementations/cairo-dock-glx.c:_initialize_opengl_backend:129)
couldn't find an appropriate visual, trying to get one without Stencil buffer
(it may cause some little deterioration in the rendering) ...============================================================================
Cairo-Dock version : 3.4.1
Compiled date : Jan 2 2021 11:22:34
Built with GTK : 3.24
Running with OpenGL: 1
============================================================================g_file_test: assertion 'filename != NULL' failed
g_file_test: assertion 'filename != NULL' failed
sh: 1: /usr/lib/x86_64-linux-gnu/cairo-dock/cairo-dock-launcher-API-daemon: not found
warning : (/build/cairo-dock-91fau9/cairo-dock-3.4.1+git20201103.0836f5d1/src/gldit/cairo-dock-keybinder.c:init_object:358)
Couldn't bind 'F4' (Show Desktop: Expose all the desktops)
This shortkey is probably already used by another applet or another application
warning : (./shortcuts/src/applet-drives.c:cd_shortcuts_list_drives:321)
couldn't detect any drives
warning : (./shortcuts/src/applet-load-icons.c:cd_shortcuts_build_shortcuts_from_data:310)
Shortcuts : can't monitor bookmarks
_get_desktop_bg_surface: assertion 'iRootPixmapID != 0' failed
warning : (./switcher/src/applet-load-icons.c:cd_switcher_load_desktop_bg_map_surface:197)
couldn't get the wallpaper
warning : (/build/cairo-dock-91fau9/cairo-dock-3.4.1+git20201103.0836f5d1/src/gldit/cairo-dock-packages.c:_dl_file_content:435)
Couldn't download file 'http://download.tuxfamily.org/glxdock/themes/ping.txt' (Timeout was reached)Z
I need to get the latest version (features & bugfixes), but first will check the version in MX Linux v25.1
I wonder why such a stale version was included#Cairo #Dock #MX #Linux #MXLinux #V23_6 #old #version #programming #gcc #compiler #assembler #linker #mathematics #science #Physics #Linear #Algebra #LinearAlgebra #networking #weather #music #player #applet #technology #OpenSource #POSIX
-
Эволюция ПО в разработке игр на практике: 1982 — IBM PC
Мир в 1982 году Общие даты , по категориям , наука , спорт , музыка , кино , театр , литература , живопись , игры ( англ. ), авиация , метро , железные дороги . Положение на игровом и компьютерно-железных рынках По моим впечатлениям, этот год не был чем-то примечателен - выходили новые игры и системы (компьютеры, приставки, портативные устройства) и ничто не предвещало бурь в следующем году. Из выпущенных систем стоит отметить: 11.1981 - PC-88. Несмотря на выпуск в прошлом году, игры начали выходить только с 1982 года (во всяком случае достоверной информации о играх за 1981 год нет, на mobygames с высокой долей вероятности может быть ошибка с платформой). 23.04.1982 - ZX Spectrum. Только в Британии, выпуск в США будет только в ноябре 1983 года. 06.1982 - MPC 1600 (Columbia Data Products). Первый IBM PC совместимый клон. 08.1982 - Commodore 64. Легенда и важный гвоздь кризиса игровой индустрии США в 1983 году. 10.1982 - PC-98. Самый известный японский компьютер. В последние годы, за счет основы на процессорах Intel, возможна эмуляция в DosBox-X. 11.1982 - Sharp X1. Самый продвинутый из основной тройки японцев на момент выхода (PC-88, X1, FM-7). 11.1982 - FM-7. Для обычного человека все тоже шло своим чередом - потребности покупать еще один компьютер нет, в отличие от приобретения софта и потенциального расширения памяти. Последнее можно было приобрести у IBM или же купить у Microsoft подобие-аналог RamCard (помимо опции расширения памяти её можно было использовать и как RAM-диск, что могло быть полезным). Другое направление - программирование. BASIC показался привлекательным по своей простоте и интересно посмотреть еще какой-нибудь язык. Таковым становится ассемблер, благо IBM и Microsoft продают компиляторы под него (но с нюансом).
https://habr.com/ru/articles/996664/
#masm #ibm_pc #assembler #assembly #retro #программирование #программы #старое_железо #старое_по
-
Эволюция ПО в разработке игр на практике: 1982 — IBM PC
Мир в 1982 году Общие даты , по категориям , наука , спорт , музыка , кино , театр , литература , живопись , игры ( англ. ), авиация , метро , железные дороги . Положение на игровом и компьютерно-железных рынках По моим впечатлениям, этот год не был чем-то примечателен - выходили новые игры и системы (компьютеры, приставки, портативные устройства) и ничто не предвещало бурь в следующем году. Из выпущенных систем стоит отметить: 11.1981 - PC-88. Несмотря на выпуск в прошлом году, игры начали выходить только с 1982 года (во всяком случае достоверной информации о играх за 1981 год нет, на mobygames с высокой долей вероятности может быть ошибка с платформой). 23.04.1982 - ZX Spectrum. Только в Британии, выпуск в США будет только в ноябре 1983 года. 06.1982 - MPC 1600 (Columbia Data Products). Первый IBM PC совместимый клон. 08.1982 - Commodore 64. Легенда и важный гвоздь кризиса игровой индустрии США в 1983 году. 10.1982 - PC-98. Самый известный японский компьютер. В последние годы, за счет основы на процессорах Intel, возможна эмуляция в DosBox-X. 11.1982 - Sharp X1. Самый продвинутый из основной тройки японцев на момент выхода (PC-88, X1, FM-7). 11.1982 - FM-7. Для обычного человека все тоже шло своим чередом - потребности покупать еще один компьютер нет, в отличие от приобретения софта и потенциального расширения памяти. Последнее можно было приобрести у IBM или же купить у Microsoft подобие-аналог RamCard (помимо опции расширения памяти её можно было использовать и как RAM-диск, что могло быть полезным). Другое направление - программирование. BASIC показался привлекательным по своей простоте и интересно посмотреть еще какой-нибудь язык. Таковым становится ассемблер, благо IBM и Microsoft продают компиляторы под него (но с нюансом).
https://habr.com/ru/articles/996664/
#masm #ibm_pc #assembler #assembly #retro #программирование #программы #старое_железо #старое_по
-
Эволюция ПО в разработке игр на практике: 1982 — IBM PC
Мир в 1982 году Общие даты , по категориям , наука , спорт , музыка , кино , театр , литература , живопись , игры ( англ. ), авиация , метро , железные дороги . Положение на игровом и компьютерно-железных рынках По моим впечатлениям, этот год не был чем-то примечателен - выходили новые игры и системы (компьютеры, приставки, портативные устройства) и ничто не предвещало бурь в следующем году. Из выпущенных систем стоит отметить: 11.1981 - PC-88. Несмотря на выпуск в прошлом году, игры начали выходить только с 1982 года (во всяком случае достоверной информации о играх за 1981 год нет, на mobygames с высокой долей вероятности может быть ошибка с платформой). 23.04.1982 - ZX Spectrum. Только в Британии, выпуск в США будет только в ноябре 1983 года. 06.1982 - MPC 1600 (Columbia Data Products). Первый IBM PC совместимый клон. 08.1982 - Commodore 64. Легенда и важный гвоздь кризиса игровой индустрии США в 1983 году. 10.1982 - PC-98. Самый известный японский компьютер. В последние годы, за счет основы на процессорах Intel, возможна эмуляция в DosBox-X. 11.1982 - Sharp X1. Самый продвинутый из основной тройки японцев на момент выхода (PC-88, X1, FM-7). 11.1982 - FM-7. Для обычного человека все тоже шло своим чередом - потребности покупать еще один компьютер нет, в отличие от приобретения софта и потенциального расширения памяти. Последнее можно было приобрести у IBM или же купить у Microsoft подобие-аналог RamCard (помимо опции расширения памяти её можно было использовать и как RAM-диск, что могло быть полезным). Другое направление - программирование. BASIC показался привлекательным по своей простоте и интересно посмотреть еще какой-нибудь язык. Таковым становится ассемблер, благо IBM и Microsoft продают компиляторы под него (но с нюансом).
https://habr.com/ru/articles/996664/
#masm #ibm_pc #assembler #assembly #retro #программирование #программы #старое_железо #старое_по
-
Эволюция ПО в разработке игр на практике: 1982 — IBM PC
Мир в 1982 году Общие даты , по категориям , наука , спорт , музыка , кино , театр , литература , живопись , игры ( англ. ), авиация , метро , железные дороги . Положение на игровом и компьютерно-железных рынках По моим впечатлениям, этот год не был чем-то примечателен - выходили новые игры и системы (компьютеры, приставки, портативные устройства) и ничто не предвещало бурь в следующем году. Из выпущенных систем стоит отметить: 11.1981 - PC-88. Несмотря на выпуск в прошлом году, игры начали выходить только с 1982 года (во всяком случае достоверной информации о играх за 1981 год нет, на mobygames с высокой долей вероятности может быть ошибка с платформой). 23.04.1982 - ZX Spectrum. Только в Британии, выпуск в США будет только в ноябре 1983 года. 06.1982 - MPC 1600 (Columbia Data Products). Первый IBM PC совместимый клон. 08.1982 - Commodore 64. Легенда и важный гвоздь кризиса игровой индустрии США в 1983 году. 10.1982 - PC-98. Самый известный японский компьютер. В последние годы, за счет основы на процессорах Intel, возможна эмуляция в DosBox-X. 11.1982 - Sharp X1. Самый продвинутый из основной тройки японцев на момент выхода (PC-88, X1, FM-7). 11.1982 - FM-7. Для обычного человека все тоже шло своим чередом - потребности покупать еще один компьютер нет, в отличие от приобретения софта и потенциального расширения памяти. Последнее можно было приобрести у IBM или же купить у Microsoft подобие-аналог RamCard (помимо опции расширения памяти её можно было использовать и как RAM-диск, что могло быть полезным). Другое направление - программирование. BASIC показался привлекательным по своей простоте и интересно посмотреть еще какой-нибудь язык. Таковым становится ассемблер, благо IBM и Microsoft продают компиляторы под него (но с нюансом).
https://habr.com/ru/articles/996664/
#masm #ibm_pc #assembler #assembly #retro #программирование #программы #старое_железо #старое_по
-
#Assembler Language Game Programming for the #Tandy Color Computer 3: Preparing to Port a Game #retrodev #retrogaming #programming #CoCo3 #retrocomputing
Assembly Language Game Program... -
#Atari2600 game, Raiders of the Lost Ark source code completely disassembled and reverse engineered Every line fully commented #retrodev #retrogaming #atari #reverseengineering #assembler #programming #romhacking
From the retrogamedev communit... -
Рвём call-graph или «Как я самому себе реверс усложнял»
Так сложилось, что меня всегда интересовала тема реверса, дизассембла и вообще того, как выглядит бинарь изнутри, особенно с точки зрения всяких кряков. Многие пользовались разным софтом, в который уже встроены обходы лицензий, а кто-то, вполне возможно, даже вспомнит тот качевый музон, который воспроизводили всякого рода KeyGen.exe . Но для того, чтобы крякнуть программу, нужно понять, что и где патчить, и какая функция отвечает за валидацию лицензии. Для этого и существуют программы вроде IDA Pro . Помимо дизассемблирования они умеют генерировать псевдокод на C , строить графы вызовов и много чего еще. И ведь никто не хочет, чтобы крякнули именно его софт? А чтобы этому противостоять, надо понимать как это работает и где можно вставить палки в колеса тем, кто будет анализировать ваш бинарь. Для этого я решил создать что-то типа небольшой лабораторной, в которой посмотрю как строят связи статические анализаторы и что можно сделать, чтобы этому противостоять.
https://habr.com/ru/articles/980816/
#C #C++ #assembler #reverseengineering #reverse_engineering #disassembling #ida
-
Have you written 6502 assembler code?
-
I just started using Dosbox for the first time ever, on Linux. That's because I finally found a copy of the PC (DOS) version of the Texas Instruments asm7 assembler for the TMS7000. Unfortunately I have not found the other tools that would have originally accompanied the assembler, such as the linker. Still, it will be useful as a sanity check on my newly written TMS7000 disassembler.
#tms7000 #assembler #disassembler #retrocomputing -
I just started using Dosbox for the first time ever, on Linux. That's because I finally found a copy of the PC (DOS) version of the Texas Instruments asm7 assembler for the TMS7000. Unfortunately I have not found the other tools that would have originally accompanied the assembler, such as the linker. Still, it will be useful as a sanity check on my newly written TMS7000 disassembler.
#tms7000 #assembler #disassembler #retrocomputing -
I just started using Dosbox for the first time ever, on Linux. That's because I finally found a copy of the PC (DOS) version of the Texas Instruments asm7 assembler for the TMS7000. Unfortunately I have not found the other tools that would have originally accompanied the assembler, such as the linker. Still, it will be useful as a sanity check on my newly written TMS7000 disassembler.
#tms7000 #assembler #disassembler #retrocomputing -
I just started using Dosbox for the first time ever, on Linux. That's because I finally found a copy of the PC (DOS) version of the Texas Instruments asm7 assembler for the TMS7000. Unfortunately I have not found the other tools that would have originally accompanied the assembler, such as the linker. Still, it will be useful as a sanity check on my newly written TMS7000 disassembler.
#tms7000 #assembler #disassembler #retrocomputing -
I just started using Dosbox for the first time ever, on Linux. That's because I finally found a copy of the PC (DOS) version of the Texas Instruments asm7 assembler for the TMS7000. Unfortunately I have not found the other tools that would have originally accompanied the assembler, such as the linker. Still, it will be useful as a sanity check on my newly written TMS7000 disassembler.
#tms7000 #assembler #disassembler #retrocomputing -
Встраиваемые системы для начинающих. Часть 1: Устройство
Привет, Хабр! В этом цикле статей я попытаюсь наглядно и сжато объяснить устройство встраиваемых систем на базе Rockchip. Пройдусь по всем шагам загрузки, начиная с первой инструкции и заканчивая разворачиванием всей системы. Для демонстрации я выбрал плату Orange Pi R1 Plus LTS на базе Rockchip RK3328 SoC, ARM Cortex-A53 64-Bit Processor.
https://habr.com/ru/articles/981432/
#SOC #rockchip #rockchip_rk3328 #memory #assembler #system_programming
-
Ассемблер для гоферов. Стек. Особенности amd64, arm64 и arm. Часть 3
В этой части мы научимся создавать и использовать локальные переменные на стеке в наших ассемблерных функциях, а также поговорим о различиях процессорных архитектур и о том, как их использовать в Go-ассемблере.
https://habr.com/ru/companies/ruvds/articles/979326/
#go #assembler #stack #стек #amd64 #arm64 #arm #ruvds_статьи
-
Ассемблер для гоферов. Структура и макросы. Часть 2
В этой части (первая тут ) мы поговорим о структуре Go-программы с использованием ассемблера, о хитростях макросов. Будем писать дальше нашу ассемблерную функцию.
-
Ассемблер для гоферов. Часть 1
Вообще-то на Хабре уже были статьи про Go-ассемблер, но они перегружены мудрёными терминами, разной низкоуровневой спецификой и не дают ясного понимания когда и зачем нам помогут помочь ассемблерные функции. В этой статье я постараюсь дать больше сути, необходимый минимум, чтобы стало ясно, в каких случаях и зачем нам может помочь ассемблер в Го. Ну и с чем его едят.
-
Coq: The World's Best Macro Assembler? [pdf] [2013]
https://nickbenton.name/coqasm.pdf
#HackerNews #Coq #Macro #Assembler #HackerNews #PDF #2013 #Programming
-
Парсим XML и JSON на ассемблере
Отобрал для вас несколько крайне интересных, но малоизвестных проектов, реализующих работу с XML и JSON. Кроссплатформенных и без зависимостей. На чистом С и ассемблере.
https://habr.com/ru/articles/964522/
#json #xml #nasm #assembler #c_language #simd #simdjson #freebsd
-
go-simd-softmax
Is a Go-oriented SIMD/avx softmax implementation with optimisations in amd64 / x64 assembler.
Up to 3.5x faster than equivalent function written using stdlib only. See benchmarks.
https://github.com/ha1tch/go-simd-softmax?tab=readme-ov-file#simd-accelerated-softmax
#go #foss #softmax #asm #assembler #x86_64 #x64 #amd64 #assembly #golang
-
Fedi let's take a trip down memory lane.
Q: What was your first computing device?
A: Commodore 64 II (C64C)Q: First Programming Language?
A: BASICQ: First Software written for others to use?
A: A Warehouse management software written in Turbo Assembler for GEOS on the C64Q: First released when?
A: 1990Q: Last update for that Software
A: 2005 a year later the company who used it went out of business because the owners retired.Q: Commercial or Free
A: CommercialQ: First UNIX like OS you used:
A: NeXTSTEP, a local company went out of business and I invested the money I made from my software into a barely used NeXTcube because I've seen one at a trade show and fell in love.Q: What was your first PC and when?
A: AMD Am386 SX25 in 1990 for the computer science class in school to code in Turbo Pascal.
I payed half and my parents payed the other half.#commodore64 #geos #NeXT #Nextstep #NeXTCube #pc #AMD #basic #pascal #assembler
-
Как работает система владений и ссылок в Rust на низком уровне
Привет Хабр! В этой статье я хотел поговорить о теме вечных конфликтов разработчиков на C++ и Rust. Стоит ли того система управления памятью в Rust или все-же это бестолковый механизм стремящийся составить конкуренцию родному методу? Систему управления памятью я разберу, а вот выводы остаются уже за вами.
https://habr.com/ru/articles/955628/
#rust #rustc #ownership #memory #lowlevel #assembler #ir #compiler
-
These are parts of code in Brataccas that may have been written originally targeting the 68008 processor of the Sinclair QL before they were ported to the Atari ST
After some cursory scanning of the Brataccas code, some patterns emerged:
Case 1: Bit-reversal lookup table
This seems unusual and suggests graphics conversion between platforms with different pixel bit-ordering. The QL stored pixels in a different bit order than the ST - this table appears to be useful to convert graphics assets that were originally in Sinclair QL format.
; Bit-Reversal Table (L00A0-L00A4)
L00A0:DS.W 128,0
L00A2:LEA L00A0(PC),A0
MOVE.W #$FF,D7
L00A3:MOVE.B D0,D1
MOVEQ #6,D2
ROXR.B #1,D1
ROXL.B #1,D4
L00A4:ROXR.B #1,D1
ROXL.BCase 2 Excessive byte operations
Throughout the code, there's an unusual preference for byte operations:
MOVE.B (A0)+,D0
MOVE.B (A0)+,D1On the 68000 (ST/Amiga/Mac), word operations are typically preferred for performance. But the QL's 68008 CPU had an 8-bit external bus - byte vs word operations had similar performance. This coding style hints at optimisation for the 68008, not the 68000.
The disassembly available at the Brataccas website seems to have been produced from a QL to Atari ST port, not the Amiga as I originally thought.
https://www.brataccas.com/Page28.phpThe first part of the code (first 1000-1500 lines or so) is a music tracker, and it's clearly a separate module from the rest, clearly designed to be reusable. There are hints that the I/O ports are Atari-specific and that the engine allows for developers to perform hot-editing of music notes via the MIDI port, which was something incredibly sophisticated for 1985. Some other parts of the code deal with vibrato, legato, and effects during realtime play.
After that block there's what seems to be a sprite blitting engine, but that's as far as I got.
To be continued...
#brataccas #retrocomputing #retrogaming #m68k #SinclairQL #QL #asm #assembler #m68008
-
These are parts of code in Brataccas that may have been written originally targeting the 68008 processor of the Sinclair QL before they were ported to the Atari ST
After some cursory scanning of the Brataccas code, some patterns emerged:
Case 1: Bit-reversal lookup table
This seems unusual and suggests graphics conversion between platforms with different pixel bit-ordering. The QL stored pixels in a different bit order than the ST - this table appears to be useful to convert graphics assets that were originally in Sinclair QL format.
; Bit-Reversal Table (L00A0-L00A4)
L00A0:DS.W 128,0
L00A2:LEA L00A0(PC),A0
MOVE.W #$FF,D7
L00A3:MOVE.B D0,D1
MOVEQ #6,D2
ROXR.B #1,D1
ROXL.B #1,D4
L00A4:ROXR.B #1,D1
ROXL.BCase 2 Excessive byte operations
Throughout the code, there's an unusual preference for byte operations:
MOVE.B (A0)+,D0
MOVE.B (A0)+,D1On the 68000 (ST/Amiga/Mac), word operations are typically preferred for performance. But the QL's 68008 CPU had an 8-bit external bus - byte vs word operations had similar performance. This coding style hints at optimisation for the 68008, not the 68000.
The disassembly available at the Brataccas website seems to have been produced from a QL to Atari ST port, not the Amiga as I originally thought.
https://www.brataccas.com/Page28.phpThe first part of the code (first 1000-1500 lines or so) is a music tracker, and it's clearly a separate module from the rest, clearly designed to be reusable. There are hints that the I/O ports are Atari-specific and that the engine allows for developers to perform hot-editing of music notes via the MIDI port, which was something incredibly sophisticated for 1985. Some other parts of the code deal with vibrato, legato, and effects during realtime play.
After that block there's what seems to be a sprite blitting engine, but that's as far as I got.
To be continued...
#brataccas #retrocomputing #retrogaming #m68k #SinclairQL #QL #asm #assembler #m68008
-
These are parts of code in Brataccas that may have been written originally targeting the 68008 processor of the Sinclair QL before they were ported to the Atari ST
After some cursory scanning of the Brataccas code, some patterns emerged:
Case 1: Bit-reversal lookup table
This seems unusual and suggests graphics conversion between platforms with different pixel bit-ordering. The QL stored pixels in a different bit order than the ST - this table appears to be useful to convert graphics assets that were originally in Sinclair QL format.
; Bit-Reversal Table (L00A0-L00A4)
L00A0:DS.W 128,0
L00A2:LEA L00A0(PC),A0
MOVE.W #$FF,D7
L00A3:MOVE.B D0,D1
MOVEQ #6,D2
ROXR.B #1,D1
ROXL.B #1,D4
L00A4:ROXR.B #1,D1
ROXL.BCase 2 Excessive byte operations
Throughout the code, there's an unusual preference for byte operations:
MOVE.B (A0)+,D0
MOVE.B (A0)+,D1On the 68000 (ST/Amiga/Mac), word operations are typically preferred for performance. But the QL's 68008 CPU had an 8-bit external bus - byte vs word operations had similar performance. This coding style hints at optimisation for the 68008, not the 68000.
The disassembly available at the Brataccas website seems to have been produced from a QL to Atari ST port, not the Amiga as I originally thought.
https://www.brataccas.com/Page28.phpThe first part of the code (first 1000-1500 lines or so) is a music tracker, and it's clearly a separate module from the rest, clearly designed to be reusable. There are hints that the I/O ports are Atari-specific and that the engine allows for developers to perform hot-editing of music notes via the MIDI port, which was something incredibly sophisticated for 1985. Some other parts of the code deal with vibrato, legato, and effects during realtime play.
After that block there's what seems to be a sprite blitting engine, but that's as far as I got.
To be continued...
#brataccas #retrocomputing #retrogaming #m68k #SinclairQL #QL #asm #assembler #m68008