Ассемблер IDE / симулятор для начинающих [закрыто]


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

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

16 16

16 ответов:

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

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

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

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

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

Если вы находитесь на windows 8085 симулятор является лучшим выбором. 8085 симулятор от J-tech Software

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

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

MipSim свободен

Http://www.mipsim.com

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

  • встроенный редактор кода с такими функциями, как подсветка синтаксиса и сворачивание
  • отображение значений регистров и памяти в различных представлениях (целое число со знаком, целое без знака, шестнадцатеричное и ASCII)
  • установите размер блока (полное слово, полслова, байт) ячеек памяти для облегчения проверки значений памяти
  • изменение значений регистров и памяти ячейки с одним щелчком мыши даже во время моделирования и отладки
  • обновление пользовательского интерфейса в реальном времени позволяет увидеть, как изменяются значения регистров и ячеек памяти во время выполнения
  • встроенный отладчик с пошаговым выполнением команд, пропуском команд и функциями точки останова
  • инструменты для вставки строк ASCII, UNICODE и целых чисел в память для тестирования вашего кода
  • инструменты для проверки дубликатов или отсутствующих меток и инструкций параметры
  • сохраните состояние компьютера (значения всех регистров и ячеек памяти), чтобы в следующий раз, когда вы запустите симулятор, вы могли продолжить с того места, где вы оставили!
  • установите скорость моделирования-низкие скорости отлично подходят для отслеживания кода и просмотра его поведения
  • кодировать инструкции-производить машинный код в двоичном или шестнадцатеричном представлении
  • ловить ошибки времени сборки и времени выполнения
  • Более простая отладка с описательной ошибкой сообщения
  • многопоточный дизайн-MIPSim не застревает (надеюсь ;), даже если ассемблерный код выполнен ошибочно или содержит бесконечные циклы
  • MIPSIM API-сделайте свои собственные программы, которые могут читать и записывать в регистры и память MIPSim, большая гибкость для мощного тестирования!

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

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

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

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

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

Если вы уже знаете .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 %>

Еще один вариант, если вы хотите пойти "hard core", это получить что-то вроде FreeDOS и VMWare, и использовать это. Я уверен, что гаражная распродажа (продажа багажника автомобиля? дворовая распродажа?) или букинистический магазин будет иметь копия старой книги Питера Нортона "Дос прерывает Библию". :)

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

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

  • отображение основной памяти и регистра
  • встроенный редактор с подсветкой синтаксиса
  • функции Run, step и break

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

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

Http://www.emu8086.com/

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

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

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

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

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

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

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

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