用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

相关文章

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件