Сведения о вопросе

Ислам

05:19, 22nd August, 2020

Теги

simulator   assembly    

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

Просмотров: 849   Ответов: 16

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

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



  Сведения об ответе

FAriza

07:43, 6th August, 2020

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

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

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

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


  Сведения об ответе

PAGE

21:06, 1st October, 2020

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


  Сведения об ответе

repe

08:45, 20th August, 2020

MipSim является FREE

http://www.mipsim.com

Основные характеристики MIPSim 2

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


  Сведения об ответе

LAST

03:12, 12th August, 2020

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

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

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


  Сведения об ответе

screen

01:55, 12th August, 2020

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

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


  Сведения об ответе

COOL

17:36, 17th August, 2020

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


  Сведения об ответе

lourence

20:56, 9th August, 2020

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


  Сведения об ответе

ЯЯ__4

17:41, 5th August, 2020

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

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


  Сведения об ответе

FAriza

06:32, 29th August, 2020

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

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

Он немного ограничен и может работать только с .NET 1.1, но вы можете по крайней мере использовать для него "modern" 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, и использовать это. Я уверен, что гаражная распродажа (продажа автомобиля boot? дворовая распродажа?) или в букинистическом магазине была бы копия старой Библии Питера Нортона DOS interrupts. :)

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


  Сведения об ответе

lourence

22:32, 16th August, 2020

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

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


  Сведения об ответе

+-*/

23:33, 1st August, 2020

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

http://www.emu8086.com/


  Сведения об ответе

PROGA

00:53, 11th August, 2020

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


  Сведения об ответе

PROGA

05:18, 21st August, 2020

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


  Сведения об ответе

baggs

21:07, 18th August, 2020

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


  Сведения об ответе

davran

05:42, 4th August, 2020

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

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

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


  Сведения об ответе

pumpa

02:08, 20th August, 2020

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

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться