当前位置:首页 » 编程软件 » 编译asm无法推导出子系统

编译asm无法推导出子系统

发布时间: 2022-06-22 17:16:02

① masm无法编译asm文件,提示unable to open input file!

不要用中文命名文件,文件名长度不要超过8个英文字符。这是原DOS下很多工具的通病。

② 如何编译ASM文件

1. 在DOS命令中转到要编译文件所在的目录.
2.输入MASM.EXE空格+文件名.三下回车,就生成了OBJ文件,
3.link.exe空格+所生成的OBJ文件,再按三下回车,就生成了exe文件.

③ 学习单片机,Keil无法编译.asm文件和.c文件

你只是打开了源文件,但是没有将源文件导入你的工程,所以提示这个错误
导入文件的选项在右边project框里面,右键点Source Group 1,选Add Files... 添加你的源文件就行了

④ keil在编译asm文件时老是出现这样的问题是怎么回事呢

书写错误,A和01H中间的 . 去掉,换成逗号,
MOV A, 01H

⑤ 汇编在VS2008上的编译老是出错

右键项目-属性-配置属性-链接器-系统-子系统-下拉框选择“窗口 (/SUBSYSTEM:WINDOWS)”

⑥ 汇编 请问调用外部(其它)ASM文件里面的子过程应该怎么调

主程序调用写在其他asm中的子过程的方法
主程序文件名 main.asm
子过程文件名 sub.asm
子过程名 fun1

方法有:
1:
(1)在main.asm 文件中 在call fun1 之前的任意位置,(即使在.data中也可以) include sub.asm
(2)在 sub.asm的子过程之前可以使用 .code和.data 也可以不加
列如:
.data
n1 DWORD 2
.code
fun1 PROC NEAR32
add eax ,n1
ret
fun1 ENDP
或者:
fun1 PROC NEAR32
add eax ,eax
ret
fun1 ENDP
(3)直接编译main.asm,连接main.obj 即可
注: sub.asm 最后一定不能有END

2:(1)在main.asm 文件中 的.data 之前 EXTRN fun1:NEAR32 ,也可以用 fun1 PROTO NEAR32 声明函数
(2)在sub.asm 的fun1 PROC NEAR32之前,或者fun1 ENDP 之后 PUBLIC fun1
sub.asm 末尾需要 END
例如:

.386
.MODEL FLAT
PUBLIC fun1
.data
n1 dword 2
.code
fun1 PROC NEAR32
add eax ,n1
ret
fun1 ENDP
end
(3)分别编译main.asm,sub.asm。连接连接main.obj和sub.obj

总结,若是其他asm文件中的是宏,则在主文件,或者子过程文件中 直接 include 宏name.asm 即可
若是这些工作做得没有差错,编译或者连接时出现差错,则最大可能性是:你的子过程名写错了,解决的办法是
把所有出现子过程名的地方重新复制粘贴一遍。

⑦ asm 文件编译出错error :org_2 can not fit absolute secti

你的错误代码是errorc129:这是一个C语言方面的语法错误,说明你的文件被保存为C文件(文件名为.c后缀)。我用你这段程序放在keil编译器中试验过,当程序保存为c文件并编译时,会出现如你所示的errorc129的错误且指向程序的第一句代码处;若将文件另存为汇编文件(文件名为.asm后缀)再进行编译,则不会出现c129的报错。 现在将这段程序保存为.asm文件,并将程序整理为以下形式: ORG 0000H LJMP START ORG 000BH ; LJMP INTT0; START: MOV R0,#70H MOV R7,#0CH INIT: MOV @R0,#00H INC R0 DJNZ R7,INIT MOV 72H,#10 MOV 75H,#10 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#03CH SETB EA SETB ET0 SETB TR0 START1: LCALL SCAN LCALL KEYSCAN SJMP START1; DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET; DL20MS:对于以上程序段,不知道整理出来之后是否与你的原代码相同,但其中有一点需要说明,汇编文件中的分号“;”的作用与C文件中的“ //”作用类似,它后面紧跟的是注释内容。 你这段程序,若按以上整理,那么所有命令后面的分号“ ;”都可以不要的。不过,也有可能你确实使用了分号的作用,将后面一些命令作了屏蔽处理,则此处不另作说明。下面将整理后的程序进行编译,会出现以下报错情况:错误、警告的解释: 第4行的错误原因是:标志符号“INTT0”没有定义; 第18行的错误原因是:标志符号“SCAN”没有定义; 第19行的错误原因是:标志符号“KEYSCAN”没有定义; 第27行的警告原因是:代码结束处没有“END”命令;(注:所有汇编文件结尾处都应有一句“END”命令表示结束) 可以看得出,你这段程序应该不是完整的,另有一部份你没有复制出来。你可以根据以上说明,再结合你的实际情况处理你的程序。祝你成功!

⑧ keil怎么编译不起asm文件 错误:不能执行以c:keil\c51\bin\c51.exe

你的ASM文件的扩展名是.asm吗?从提示信息看,你的程序扩展名是.c,所以调用了C51.EXE。

⑨ proteus isis编译asm程序总有问题。但是在c程序在keil可以编译这是为什么啊

就是一个正确的ASM程序,用keil编译是对的。但用proteus编译就不能通过,大概是它要求的语法不同吧。其实,你根本就不需要用proteus编译汇编程序,既然c程序用keil可以编译,说明你电脑上有keil,那就用keil来编译ASM程序吗,keil是可以编译C程序和ASM程序的,方法是一样的,新建一个工程,在工程中将ASM程序加载进来,然后就可以编译了。proteus就是用来画仿真图,然后仿真的,不要什么都让它来做。

热点内容
安卓手机如何录屏怎么去掉触摸显示 发布:2025-02-14 05:36:23 浏览:995
安卓系统新品推荐怎么关 发布:2025-02-14 05:35:44 浏览:887
虚拟存储器的基础是 发布:2025-02-14 05:32:24 浏览:515
androidstudio出错 发布:2025-02-14 05:32:14 浏览:304
面容id存储多张脸 发布:2025-02-14 05:31:30 浏览:655
网站源码百度云 发布:2025-02-14 05:30:53 浏览:213
我得世界星际方块服务器ip 发布:2025-02-14 05:23:03 浏览:939
动态库什么时候不需要重新编译 发布:2025-02-14 05:18:56 浏览:13
android网络存储数据 发布:2025-02-14 05:03:19 浏览:130
为什么安卓手机放电时才能触屏啊 发布:2025-02-14 05:00:16 浏览:497