用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

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据