yasp:yasp是一个基于Web的全功能汇编程序开发环境,包括一个真正的汇编程序,仿真器和调试器

  • X1_945059
    了解作者
  • 689.1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-15 02:54
    上传日期
yasp是一个基于Web的功能齐全的汇编器开发环境,其中包括实际的汇编器,仿真器和调试器。 汇编方言是一个非常简单的习俗,可以使学习曲线保持尽可能的浅。 它还具有一些硬件元素(LED,电位计,按钮等)。 该项目的主要目的是创建一个环境,让学生可以学习汇编语言,以便他们更好地理解计算机。 此外,它使他们能够进行实验而不必担心会破坏某些东西。 yasp的原始项目团队由Robert Fischer和Michael“ luto” Lutonsky组成。 有关更多信息,请查看IDE菜单中的About部分。 在线演示 yasp的托管版本可以在上找到。 执照 yasp已获得GPLv3-License的许可
yasp-master.zip
内容介绍
# Hardware yasp supports arbitrary external hardware components with an arbitrary number of pins. Each hardware consists of two components: the internal logic and the rendering. Currently there is only a DOM mode, but this separation makes it possible to support other frontends in the future. Both component have full access to their super-classes functions. Please consult the class documentation for more information on them. Hardware is connected to the emulator via a [breadboard](./breadboard.md). ## backend ("hardware") ```javascript yasp.Hardware.makeHardware({ name: '', pins: [ /* JSON serialized pins, see /doc/hardware/iobank.md */ ], init: function () { // Called once the hardware has been created. This // can be used to add custom events to the IOBank // or start intervals/timeouts. }, receiveStateChange: function (pin, tick) { // Called if the state of one of the hardware pins // in 'in'-mode has changed. This normally happens // when the pin is changed by the emulator or some // other hardware it is connected to. // Tick is the tick number at which the pin state // was set in the emulator. It must be used for // any time comparisons (e.g. how long since the // last HIGH?), instead of real time. }, uiEvent: function (name, data) { // Called by the frontend to notify the logic of // changes in the userinterface. // This is for example used to set a pin, once a // button as been pressed. }, getState: function () { // Called by the frontend to render this hardware. // The returned object should contain all information // necessary to do this. For example, if a button is // currently pressed or not, or if an LED is on. return { }; } }); ``` ## frontend ("hardware renderer") ```javascript yasp.HardwareRenderer.makeRenderer({ create: function () { // called once to initialize the frontend. // Create the main DOM element here and append it to // `this.container`. You should also store it in // `this.element` for later access in render(). }, render: function (state) { // state parameter: see backend.getState() // Called when the hardware should be (re-)rendered // Access `this.element` here again and modify it to // match to updated state. } }); ``` ## Boilerplate ```javascript if (typeof yasp == 'undefined') yasp = { }; if (yasp.HardwareType === undefined) yasp.HardwareType = { }; (function () { yasp.HardwareType['NAME'] = { 'backend': null, 'frontend': {} }; yasp.HardwareType['NAME']['backend'] = yasp.Hardware.makeHardware({ name: 'NAME', pins: [ { nr: 1, type: 'gpio', mode: 'IN OR OUT' } ], init: function () { }, receiveStateChange: function (pin, tick) { }, uiEvent: function (name, turn) { }, getState: function () { return { }; } }); yasp.HardwareType['NAME']['frontend']['dom'] = yasp.HardwareRenderer.makeRenderer({ create: function () { this.element = $('<div>'); this.element.appendTo(this.container); }, render: function (state) { } }); })(); ```
评论
    相关推荐
    • Elements of Modern Algebra, 8th Edition
      Elements of Modern Algebra By 作者: Linda Gilbert ISBN-10 书号: 1285463234 ISBN-13 书号: 9781285463230 Edition 版本: 8 出版日期: 2014-01-01 pages 页数: (518) ELEMENTS OF MODERN ALGEBRA, Eighth ...
    • Clean Architecture 2017 , Uncle Bob
      Clean Architecture 2017 , Uncle Bob 作者: [美] Robert C·Martin 出版社: Prentice Hall 副标题: A Craftsman's Guide to Software Structure and Design 出版年: 2017-9-20 页数: 432
    • H.264_And_MPEG-4_Video_Compression
      H.264 and MPEG-4 Video Compression Video Coding for Next-generation Multimedia Iain E. G. Richardson The Robert Gordon University, Aberdeen, UK
    • Introduction to Mathematica with Applications
      Starting with an introduction to the numerous features of Mathematica®, this book continues with more complex material. It provides the reader with lots of examples and illustrations of how the ...
    • [Magento] Magento 初学者指南 第2版 (英文版)
      ☆ 资源说明:☆ [Packt Publishing] Magento 初学者指南 第2版 (英文版) [Packt Publishing] Magento Beginner's Guide 2nd Edition (E-Book) ☆ 出版信息:☆ [作者信息] Robbert Ravensbergen , Sander ...
    • CS2102-AY2021S2:CS2102 AY2021第二学期项目
      CS2102-AY2021S2 CS2102 AY20 / 21学期2项目 57队 Amelia Regina Sutikna(功能1-10) Fidella Widjojo(功能16-25) Hubertus Adhy Pratama Setiawan(创建表格,函数26-30) Jusuf Nathanael(创建表,函数11-...
    • A Most Elegant Equation: Euler’s Formula and the Beauty of Mathe
      A Most Elegant Equation: Euler’s Formula and the Beauty of Mathematics By 作者: David Stipp ISBN-10 书号: 0465093779 ISBN-13 书号: 9780465093779 出版日期: 2017-11-07 pages 页数: (203) ...
    • sissa-mhpc-theory-and-practice-of-fem:博士和MHPC课程
      1.有限元方法的理论与实践 这是数学分析,建模的SISSA博士轨道之间当然共享和应用程序(math.sissa.it)和高性能计算的硕士( )。...如何使用现代的C ++ IDE来构建和调试代码 如何使用大型FEM库解决复杂
    • uncased_L-2_H-128_A-2.zip
      We have shown that the standard BERT recipe (including model architecture and training objective) is effective on a wide range of model sizes, beyond BERT-Base and BERT-Large. The smaller BERT models ...
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档