Sim8085:探索在线8085微处理器模拟器的使用

下载需积分: 10 | ZIP格式 | 669KB | 更新于2025-01-06 | 118 浏览量 | 2 下载量 举报
1 收藏
资源摘要信息:"Sim8085是一个在线模拟器,专为Intel 8085微处理器设计,为用户提供了一个交互式的开发环境。它允许用户编写、测试、调试和执行8085汇编语言程序。作为一个在线工具,Sim8085无需本地安装即可运行,用户仅需通过网络连接即可访问。该模拟器的主要特点包括具有语法高亮显示的代码编辑器,这有助于用户更容易地编写和识别代码中的错误。用户还可以实时查看和编辑CPU的寄存器、标志以及内存状态,这对理解程序在执行过程中的状态变化非常有帮助。此外,Sim8085提供了带断点的调试功能,使用户能够逐行跟踪程序执行,观察变量的变化,调试程序中的错误。操作码列表视图则是提供给用户快速参考8085指令集的机会。 在Sim8085的使用过程中,开发者需要先下载并安装emscripten,这是一个将C/C++代码编译到Web平台的工具链。接着,开发者通过执行yarn install命令来安装项目依赖,以及使用yarn start命令启动开发服务器。项目使用了Yarn这个JavaScript包管理工具进行依赖管理和构建过程。 Sim8085的源代码结构中包含了构建汇编器和模拟器的相关脚本,执行yarn build-assembler命令可以构建汇编代码,而执行yarn build-emulator命令则构建模拟器本身。当开发者对代码进行修改并希望将这些更改加入到版本控制系统时,需要执行提交更改的文件这一操作。最后,通过执行yarn build命令,开发者可以构建整个项目,包括汇编器、模拟器以及用户界面(UI)。 Sim8085的标签包括emulator、students、engineering、simulator、electronics、assembler、8080和8085 EmulatorC。这些标签明确地指出了该工具的定位和适用范围。标签'emulator'表示它是一个模拟器;'students'可能表明它适用于学生学习和实验;'engineering'和'simulator'表明它适用于工程实践和模拟测试;'electronics'揭示了其与电子工程的紧密联系;'assembler'指出了其作为汇编器的特性;'8080'和'8085'指出了模拟的微处理器类型;而'EmulatorC'可能指出了该模拟器是用C语言编写的,或者是适用于C语言环境的一个模拟器。 文件名称列表中的'sim8085-master'表明这是一个包含Sim8085模拟器源代码的主版本,'master'在版本控制中通常代表主要分支,用于存放最新和最稳定的代码版本。"

相关推荐

filetype
古老的8085汇编器 看看先贤们在古老的年代(作于1988年)所写的古老的8085汇编器(BTW:8085是intel的8位的微处理器,比8086/8088还要古老),明显的2遍扫描的处理方式,将汇编语言转换为机器语言,输出文件为.lst和.hex文件。 代码结构简洁,有效文件仅有6个,容易研读和分析,研读时候需要找到8085的datasheet,以便分析每条指令的意义和程序的汇编过程。 asm80 |-- [Apr 21 1988] Makefile |-- [Apr 21 1988] README |-- [Apr 21 1988] as81.c |-- [Apr 21 1988] as82.c |-- [Apr 21 1988] as83.c |-- [Apr 21 1988] as85.c |-- [Apr 21 1988] asm.c |-- [Apr 21 1988] asm.h |-- [Apr 21 1988] asm80.1 `-- [Apr 21 1988] asm80.doc 0 directories, 10 files 代码包含有3个压缩文件 -rw-r--r-- 1 root root 25362 Dec 4 2001 asm80.tar.Z -rw-r--r-- 1 root root 16795 Oct 7 23:57 asm80.tar.gz -rw-r--r-- 1 root root 21523 Oct 18 12:56 asm80-121018.tar.gz 其中的asm80.tar.Z是原封不动的原始的代码用Linux环境下的编译器稍微做改动放可编译通过 解压方式: tar zxvf asm80.tar.Z 其中的asm80.tar.gz是稍微做改动可在Linux环境下的编译器编译通过的代码包,改动点只有一处, 位于asm.h文件的15行,改动如下(原有的代码注释保留,改动后的放在其下面。): //#define putback(c) ((c) != '\0' && --sptr < sbuf && abort()) #define putback(c) ((c) != '\0' && --sptr < sbuf && ({abort();0;})) //snallie@tom.com, Sun Oct 7 22:38:47 CST 2012 编译过程如下 [root@localhost dd]# tar zxf asm80.tar.gz [root@localhost dd]# cd asm80 [root@localhost asm80]# make cc -O -c -o asm.o asm.c cc -O -c -o as81.o as81.c cc -O -c -o as82.o as82.c cc -O -c -o as83.o as83.c cc -O -c -o as85.o as85.c cc -O asm.o as81.o as82.o as83.o as85.o -o asm80 使用asm80 汇编a.asm,生成a.lst以及a.hex [root@localhost asm80]# ./asm80 -l a.asm Total bytes assembled = A20D [root@localhost asm80]# more a.lst a.asm KSE cross assembler for the 8080 page 1 1 ; 2 ; a.asm , a 8080 asm source file 3 ; snallie@tom.com 4 ; Sun Oct 7 22:38:47 CST 2012 5 ; 0100 6 org 100H 0100 7 start: 0100 160A 8 mvi d, 0AH 0102 0E0B 9 mvi c, 0bH 0104 3E00 10 mvi a, 0 0106 CD00A2 11 call subRoutine 0109 00 12 nop 010A C30E01 13 jmp exit 010D 00 14 nop 010E 15 exit: 010E 76 16 hlt 17 A200 18 org 0a200H A200 19 subRoutine: A200 80 20 add b A201 81 21 add c A202 00 22 nop A203 C9 23 Ret 24 A204 25 bufByte: A204 01 26 db 1 A205 27 bufWord: A205 01000200 28 dw 1,2,3,4 A209 03000400 A20D 29 End start ^L a.asm Symbol table dump Page 1 bufbyte = A204 bufword = A205 start = 0100 exit = 010E subroutine = A200 ^L [root@localhost asm80]# more a.hex :0F010000160A0E0B3E00CD00A200C30E010076C2 :0DA20000808100C90101000200030004007C :00000000 [root@localhost asm80]# 其中的asm80-121018.tar.gz对代码做了加大改动,并加入的测试的用例及研读的注释,增加的若干的伪指令。 这个编译器的指令表为对指令名按字典序排序的,需要增加新的伪指令是要注意,加入新指令后仍然要保持按字典序排序。 === 古老的经典代码,让你温故而知新。
297 浏览量