在Google了几天之后,终于得到自己想要的答案,也就是用C给8086写程序,一开始的目标是比较简单的就是用Proteus仿真86,然后写程序。
Proteus提供了8086的示例程序,因为是装在D盘上,所以位置大概如下。
D:\Program Files\Labcenter Electronics\Proteus 7 Professional\SAMPLES\VSM for 8086\8086 Demo Board
文件如下:
7seg.h
DemoBoard.PWI
DemoBoard.dsn
RTL.obj
board.c
board.h
board.obj
calc.c
calc.exe
calc.h
calc.obj
cleanup.bat
compile.bat
math.lib
rtl.asm
核心文件就是DSN了,也程序相关的就是compile.bat(修改完后)。
@echo on
del *.obj
del *.exe
del *.map
ml /Zm /Zd /Zi /Zf -c RTL.ASM
dmc -0 -g -ms -0 -c -Ic:\compile\dm\INCLUDE -oboard.obj board.c
dmc -0 -g -ms -0 -c -Ic:\compile\dm\INCLUDE -ocalc.obj calc.c
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的绝对路径。
c:\compile\dm\bin\link.exe
然后编译:
生成了cacl.exe,达到目标了~。
分享到:
相关推荐
本软件是为了使Proteus软件能直接编译汇编语言和C语言而设计的。 使用方法:当选择源文件后...如果编译出错的话,那很有可能你的程序有语法错误,请用Keil C或Medwin仔细调试程序。 作者声明:版权所有,原创权所有
这段程序的意义是,如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error on open c:\ hzk16file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的...
C51原程序,原理图,支持SD卡及U盘操作
这是我们在1985年为Windows 1.0写程序的方法,它今天仍是写作Windows程序的有效方法。 API和内存模式 对于程序写作者来说,操作系统是由本身的API定义的。API包含了所有应用程序能够使用的操作系统函数呼叫,同时...
5.1试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 5.2 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序输出 5.3 将AX寄存器中的16位数分成4组,每组4位,...
Delphi数字大小写转换程序实例,并附有语音报号程序,实例在Delphi7.0下可顺利编译。主要是针对人民币的数字大小写转换,将阿拉伯数字转换成大写,具体定义:const mnUnit:WideString ='分角元'; const ...
" "2 设计方案论证 " "2.1一秒定时方案的选择 " "运用8253产生周期为2秒的方波,通过8255芯片的A、B、C口读取电平高低,判断电" "平变化,进而判断1秒延时是否已经到达,这种方法可以写成子程序,执行返回就 " ...
正因为Win32汇编看上去不再那样低级,于是有读者曾经提出:Win32汇编讲的都是用API来写程序,和高级语言差不多,以前在DOS下使用的中断什么的都不能用,所以没有什么新奇的了。还有读者认为本书只不过是MSDN的汇编...
在编写程序时可使用 指令来实现。 19.若执行“DIV BX”,其被除数的高16位必须放在 ,低16位必须放在 。 20.DAA指令只对 寄存器中的内容进行调整。 21.若AL=84H,在执行CBW后,AL= 。 22.十进制数1234的压缩型...
CH452IF.ZIP CH452单片机C接口程序和MCS51汇编接口 1.2 12KB USB_SER.PDF USB转串口Serial及USB转RS232模块说明 1.3 244KB CH374EVT.ZIP 评估板说明及单片机使用U盘存储应用参考 1.3 734KB FDD_UDD.TXT 仿软驱...
40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。 9. 8086与8088的主要区别是什么? 答:8086有...
2.使用高速缓冲存储器是为了解决 问题,在执行程序时,必须把 映射到主存储器的 空间上,这个过程称为 。 3.某计算机的存储容量是64 KB,若按字节寻址,则寻址的范围为 ,需要地址线 根,数据线 根,若字长为32位...
计算机操作系统的作用是( ) A、统一管理计算机系统的全部资源,合理组织计算机的工作流程,以达到充分发挥计算机资源的效率,为用户提供使用计算机的友好界面 B、对用户文件进行管理,方便用户存取 C、执行用户的...
5.3 在Debug中跟踪用loop指令实现的循环程序 5.4 Debug和汇编编译器Masm对指令的不同处理 5.5 loop和[bx]的联合应用 5.6 段前缀 5.7 一段安全的空间 5.8 段前缀的使用 实验4 [bx]和loop的使用 第6章包含多...
单片机设计与KeilC编程总结 1基本原则 质量是关键。没有人会对很差的工作感到满足。当完成高质量的工作时,你会为此 而感到骄傲。不管你是否知道,你都会因为你的高质量工作而得到信誉。因此,要想为 自己所做的事...
C 存储程序;D 进程 单选:目前,大家公认的第一台电子计算机是在1946年2月由宾夕法尼亚大学研制的( )。 A ALPHA;B BETA;C ENIAC;D FAST 单选:第三代电子计算机是( )计算机。 A 电子管;B 晶体管;C 逻辑管...
AX 选项D:任意指定 正确选项:B 23、在三种集中式总线裁决中,( )方式对电路故障最敏感 选项A:链式查询 选项B:计数器定时查询 选项C:独立请求 选项D:都一样 正确选项:A 若用存贮芯片(32K×1)构成8086的存贮器...
请填充下面程序中的空白项(注意:控制字中可0可1位选0,8255未用端口设成输入方式),(微处理器8086的A1、A2接各芯片的A0、A1)。 MOV AL,________ ; 8255初始化 OUT ________, AL MOV AL, ________ ; 8253初始化 ...
A:AL B:AH C:AX D:任意指定 答案:B 23、在三种集中式总线裁决中,()方式对电路故障最敏感 A:链式查询 B:计数器定时查询 C:独立请求 D:都一样 答案:A 若用存贮芯片(32K×1)构成8086的存贮器系统至少要用()。...