Ассемблер IDE/Simulator для начинающих

Я хотел бы узнать, как программировать в Assembler. Я сделал немного сборки раньше (во время моего курса A-Level Computing), но это был очень определенно упрощенный "псевдоассемблер". Я одолжил свое справочное руководство для моего папы Z80 Assembler, и это кажется довольно интересным, поэтому, если возможно, мне бы хотелось поработать с ассемблером Z80.

Однако у меня нет процессора Z80, и я хотел бы сделать это на моем ПК (у меня есть окна или linux, так что это хорошо). Я нашел разных ассемблеров в Интернете, но мне не очень интересно собирать файлы в шестнадцатеричном формате, я хочу просто собрать его для чего-то, что может запускать какой-то симулятор на ПК. Предпочтительно, чтобы этот симулятор отображал мне содержимое всех регистров, мест памяти и т.д. И позволял мне выполнять инструкции. Я нашел несколько бит программного обеспечения, которые предполагают, что они могут это сделать, но они либо отказываются компилировать, либо не работают должным образом. У кого-нибудь есть предложения? Если есть хорошие возможности для симулятора /IDE для другого типа ассемблера, тогда я мог бы попробовать это вместо этого (при условии, что имеется хорошее онлайн-справочное руководство).

Ответы

Ответ 1

Я нашел несколько бит программного обеспечения, которые предполагают, что они могут это сделать, но они либо отказываются компилировать или не работают должным образом. Кто-нибудь получил какие-либо предложения?

Напишите один. Лучше всего выбирать хороший, простой набор инструкций (Z80 должен быть идеальным). Я помню, как это делалось в качестве учебного курса первого курса - я думаю, что мы написали симулятор на С++ и смоделировали сборку 6800, но на самом деле будет работать любой набор языков/команд.

Идея "изучения языка ассемблера" в наши дни состоит в том, чтобы получить представление о том, как компьютеры работают на самом низком уровне, только некоторые из немногих (составители компиляторов и т.д.) имеют реальную причину фактического написания кода сборки в эти дни, Современные процессоры наполнены множеством функций, предназначенных для использования компиляторами, чтобы помочь оптимизировать код для скорости/одновременного выполнения/потребления энергии и т.д., И попытка написать сборку вручную для современного процессора была бы кошмаром.

Не волнуйтесь о том, чтобы подготовить ваше приложение к готовому продукту, если вы не захотите - по всей вероятности, биты программного обеспечения, которые вы нашли до сих пор, были написаны людьми точно так же, как вы, которые хотели выяснить, как работает сборка, и написали свои собственный симулятор, а затем понял, сколько работы будет задействовано в получении "готовой продукции", чтобы широкая публика могла его использовать.

Ответ 2

Возможно, вы захотите проверить симулятор open source 8085 " GnuSim8085", он специально предназначен для использования в образовательных целях и на самом деле он был написан учеником во время подготовки к экзаменам. Он работает как на Linux, так и на Windows.

Ответ 3

MipSim БЕСПЛАТНО

http://www.mipsim.com

Основные возможности MIPSim 2

  • Встроенный редактор кода с такими функциями, как подсветка синтаксиса и фальцовка
  • Отобразить регистр и значения памяти в разных представлениях (целое число со знаком, целое число без знака, шестнадцатеричное и ASCII)
  • Задайте размер блока (полное слово, пол-слова, байт) ячеек памяти для более легкого изучения значений памяти
  • Изменение значений регистров и ячеек памяти одним щелчком мыши даже во время моделирования и отладки
  • Обновление пользовательского интерфейса в реальном времени позволяет увидеть, как меняются значения регистров и ячеек памяти во время выполнения.
  • Встроенный отладчик с пошаговым выполнением команд, пропуском команд и функциями точки останова.
  • Инструменты для вставки строк ASCII, UNICODE и целочисленных значений в память для тестирования вашего кода.
  • Инструменты для проверки дубликатов или отсутствующих меток и параметров команды
  • Сохраните состояние компьютера (значения всех регистров и ячеек памяти), чтобы в следующий раз, когда вы запустите симулятор, вы можете продолжить работу с того места, где вы ушли!
  • Установите скорость моделирования - низкие скорости отлично отслеживают ваш код и видят, как он себя ведет.
  • Кодировать инструкции - производить машинный код в двоичном или шестнадцатеричном представлении
  • Время сбоя сборки и ошибки времени выполнения
  • Простая отладка с описательными сообщениями об ошибках
  • Многопоточный дизайн - MIPSim не застревает (надеюсь); даже если выполняемый код сборки ошибочен или содержит бесконечные циклы
  • MIPSim API - создайте собственные программы, которые могут читать и записывать в регистры и память MIPSim, отличную гибкость для мощного тестирования!

Ответ 4

Если вы находитесь на окнах 8085 Simulator - лучший выбор. 8085 Simulator by J-tech Softwares

Пользовательский интерфейс отлично, чем любой другой симулятор. Также этот симулятор обеспечивает живое представление карты памяти очень долго (также во время выполнения).

Но этот не поддерживает Windows 98 или ниже для того, что вам нужно проверить другие симуляторы, такие как "GnuSim8085".

Ответ 5

Вам может быть интересно this для симулятора Z80, и у меня были хорошие впечатления от WinAsm.

Ответ 6

Вы также можете рассмотреть возможность изучения языка ассемблера x86, который вы могли бы использовать с помощью встроенного ассемблера в Visual Studio - хотя это большая инструкция, отличная от Z80, у вас будет преимущество в использовании гораздо лучших инструментов, чем было бы доступный для Z80.

Я также только что вспомнил, что инструменты Keil 8051 и Arm имеют симулятор в среде IDE - существуют версии с ограниченным размером, доступные для бесплатной загрузки с сайта www.keil.com

Ответ 7

Если вы уже знаете .NET, то это может быть полезно:

http://www.viksoe.dk/code/asmil.htm

Он немного ограничен и может работать только с .NET 1.1, но вы могли бы использовать для него "современную" IDE, и для него есть много документов.

<%@ page language="Asm80386" %>
<%
Str:  DB "Testing...", 0

  mov eax, -2
  cmp eax, 2
  jle Label1
  xor eax, eax
Label1:
  lea esi, Str
  push esi
  call "Response.Write(string)"
  pop esi
%>
<br>EAX: <%= eax %>

Другой вариант, если вы хотите перейти на "жесткий ядро", это получить что-то вроде FreeDOS и VMWare и использовать его. Я уверен, что продажа гаража (продажа курьерской распродажи?) Или подержанного книжного магазина будет иметь копию старой версии DOS PORT Norton.:)

Лично я узнал x86 asm, используя Turbo Pascal (который, я думаю, теперь свободен от Borland?), который имел возможность встроить инструкции сборки внутри функции. Это упростило настройку приложения, и я мог сосредоточиться на том, что хотел сделать. Позднее я использовал MacVAX в Auckland Uni, и все было в порядке, но VAX очень мертв - вы можете также изучить x86:)

Ответ 8

SimpSim определенно стоит посмотреть. Это только Windows, но набор функций довольно приличный:

  • Дисплей главной памяти и регистров
  • Встроенный редактор с подсветкой синтаксиса
  • Функции запуска, шага и прерывания

Ответ 9

WinApe является хорошим эмулятором Amstrad CPC. Цена за клик Amstrad была домашним компьютером, выпущенным в 80-х годах. Он использовал Z80 в качестве своего процессора. Используя эмулятор, вы можете отображать множество внутренних компонентов во время программирования. Он включает отладчик и дизассемблер для кода Z80.

Ответ 10

Цель выше! Попробуйте и получите симулятор для более мощного языка ассемблера. Помните, что Z80 и 808x были низкопроизводительными процессорами с низкоуровневыми и неудобными наборами команд.

Что-то вроде VAX от DEC рассматривалось как набор команд Rolls-Royce. И тогда есть сумасшедшие наборы инструкций Risc, которые делают некоторые действительно странные вещи. Возможно, вы можете найти определения для них, чтобы у вас была трещина при их реализации.

Ответ 11

Теперь это не имело бы значения для вас, а просто для людей, останавливающихся. Это лучший симулятор кода сборки, с которым я столкнулся. Действительно стоит!

http://www.emu8086.com/

Ответ 12

Я пишу z80 asm для ZX Spectrum (все же, я знаю:)) и использую SJasmPlus для связи с файлом эмулятора спектра. Многие из лучших эмуляторов Spectrum, таких как Fuse и ZXSpin, встроены в редакторы, а также для "отладки" и исправления "на лету".

Ответ 13

Посмотрите Thomas Scherrer Z80 Emulators для списка потенциальных эмуляторов, которые вы могли бы использовать.

Ответ 14

Когда я учился в колледже, мы использовали микропроцессоры PIC. Они изготовлены компанией Microchip. У них также есть отличная среда разработки с эмулятором/симулятором чипов, который позволяет вам делать что-то, даже не имея чипов.

Ответ 15

Зачем использовать эмулятор?

Загрузите MASM или NASM и написать хорошую старую архитектуру 80386. Множество онлайн-образцов и обучающих инструментов.

Множество реальных причин использовать ассемблер!

Ответ 16

существует симулятор, который является Visual6502 для обучения фундаментальной архитектуры микропроцессора. Он имеет редактор, ассемблер, операцию ввода-вывода и анимацию работы микропроцессора. Я доступен по следующей ссылке.

http://www.pcsistem.net/visual/index.htm