用C为8086写程序(我实际运行了一下, 靠谱! 确实可以用C语言给8086喂指令)

2024-02-06 11:48

本文主要是介绍用C为8086写程序(我实际运行了一下, 靠谱! 确实可以用C语言给8086喂指令),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

         转载地址:http://blog.csdn.net/phodal/article/details/7425925


在Google了几天之后,终于得到自己想要的答案,也就是用C给8086写程序,一开始的目标是比较简单的就是用Proteus仿真86,然后写程序。

Proteus提供了8086的示例程序,因为是装在D盘上,所以位置大概如下。

[plain]  view plain copy
print ?
  1. D:\Program Files\Labcenter Electronics\Proteus 7 Professional\SAMPLES\VSM for 8086\8086 Demo Board  

文件如下:

[plain]  view plain copy
print ?
  1. 7seg.h  
  2. DemoBoard.PWI  
  3. DemoBoard.dsn  
  4. RTL.obj  
  5. board.c  
  6. board.h  
  7. board.obj  
  8. calc.c  
  9. calc.exe  
  10. calc.h  
  11. calc.obj  
  12. cleanup.bat  
  13. compile.bat  
  14. math.lib  
  15. rtl.asm  

核心文件就是DSN了,也程序相关的就是compile.bat(修改完后)。

[plain]  view plain copy
print ?
  1. @echo on  
  2. del *.obj  
  3. del *.exe  
  4. del *.map  
  5. ml /Zm /Zd /Zi /Zf -c RTL.ASM  
  6. dmc -0 -g -ms -0 -c -Ic:\compile\dm\INCLUDE  -oboard.obj board.c  
  7. dmc -0 -g -ms -0 -c -Ic:\compile\dm\INCLUDE  -ocalc.obj calc.c  
  8. c:\compile\dm\bin\link.exe /CO /NOD /DEB /DEBUGB  /STACK:1024 calc.obj+board.obj+rtl.obj+math.lib  

ml的命令是来自于masm32: www. masm32 .com

dmc命令是来自于Digital Mars C,C++:http://www.digitalmars.com/


安装这两个程序,然后增加到PATH(路径)上。

对于有多个link.exe可能会报错的,所以添加linkx.exe的绝对路径。

[plain]  view plain copy
print ?
  1. c:\compile\dm\bin\link.exe   

然后编译:


生成了cacl.exe,达到目标了~。


这篇关于用C为8086写程序(我实际运行了一下, 靠谱! 确实可以用C语言给8086喂指令)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/684212

相关文章

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

PostgreSQL如何用psql运行SQL文件

《PostgreSQL如何用psql运行SQL文件》文章介绍了两种运行预写好的SQL文件的方式:首先连接数据库后执行,或者直接通过psql命令执行,需要注意的是,文件路径在Linux系统中应使用斜杠/... 目录PostgreSQ编程L用psql运行SQL文件方式一方式二总结PostgreSQL用psql运