汇编文件名|汇编 语言实现在命令行参数中输入文件名打开文件感谢各位大神

汇编文件名|汇编 语言实现在命令行参数中输入文件名打开文件感谢各位大神的第1张示图

❶ 汇编文件命名

masm5.0是在DOS下执行的汇编程序,而DOS下文件的主名不能超过8个字符,所以在masm5.0汇编时文件命名为MyFirstASM.asm时会提示出错信息,原因就是MyFirstASM超过8个字符的长度,而MyFirst则不超过8个字符因而是正确的文件名。

❷ 请问汇编工具有无在代码里个改文件名的功能

你的信息给的实在是太少。天草的教程中有一课,某软件名字改变后程序无法正常运行,DUMP出来的程序改成原文件名才能运行。这是软件问题,跟调试无关。若如你所说,软件运行给用户名有关,那么当前用户名能够正常运行软件,那么一定可以调试。否则该软件应是加了反调试,跟软件名没多大关系吧。我觉得你若是怀疑正确,应该给出更多的信息,大家一起来分析下。

❸ 汇编:文件名前后有双引号要么保存不了,保存得了后双引号却不见了,怎么回事

双引号是文件名中禁用的字符,原因是搜索中搜索某个字符串用到双引号。

❹ 多个文件汇编到一个word中,将文件名称作为文件汇编的目录,文件名称换行情况下,如何制作和修改目录

要显示出所有标记,看你原文中的标题每一行文字结束的地方,应该有一个段落标记,说明分行了,需要把段落标记换成软回车,即灰色的向下的箭头,就不会被识别成多行了。

❺ 汇编语言是什么扩展名

汇编语言源文件是保存为扩展名为.asm的文件,需要经过编译器编译成.exe 或者.com文件,才能在命令行中运行。.ASM扩展名:汇编语言源文件,Pro/E装配文件。汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。对于广泛使用的个人计算机来说,可以自由选择的汇编语言编译器有MASM、NASM、TASM、GAS、FASM、RADASM等。

❻ 汇编语言程序文件名

我没遇到这样的问题,你看看你的编辑环境是不是有对文件名长度的限制,或者是你保存的位置不对。 如果解决不了就在windows下用记事本编辑,记得保存为.asm格式就可以啦,然后就把他们放在你用来存放汇编源文件的地方就可以啦,别忘了编辑玩啦保存一下啦。

❼ 汇编 语言实现在命令行参数中输入文件名打开文件感谢各位大神

以下是汇编编译的com文件执行外部程序的示例。供参考:;***********************************************************;*本程序由程序ASMPAS.EXE自动生成*;*版权所有:lifangqing1997年2月7日*;***********************************************************codesegmentorg100hassumecs:codestart:jmpBEGINnopstackareadw100p(?)stacktopdw0oldssdw?oldspdw?loadpdw0COM_OFSdw0080hCOM_SEGdw?dw005chdw?dw006chdw0dw20p(?)SHELLDB'C:COMMAND.COM',0shell_PARAdb12,'/cshell.exe',13UP_PARADB9,'/CUP.BAT',13Q_U_PARADB7,'/CQUIT',13L62_PARADB9,'/Cqbasic',13L61_PARADB13,'/Cbasica.exe',13L42_PARADB9,'/Cqbasic',13L41_PARADB13,'/Cbasica.exe',13L22_PARADB9,'/Cqbasic',13L21_PARADB13,'/Cbasica.exe',13CHARDB?ERR1MSGDB'CHANGEMEMERROR',10,13,'$'ERR2MSGDB'EXECERROR',10,13,'$'MENUADDDB'C:PAS_IDEmenu.EXE',0;*****************CTRL_BREAK中断处理代码************CTRL_BREAK:IRET;*****************正常及出错退出代码****************;******************************************************************ERROR:MOVSS,OLDSSMOVSP,OLDSPint20h;***************************************************************;修改STACK和重新设置CTRL-BREAK向量;****************************************************************BEGIN:PUSHCSPOPDSMOVOLDSS,SSMOVOLDSP,SPMOVAX,CSMOVSS,AXMOVSP,OFFSETSTACKTOPCALLCHANGEMEMMOVAH,33HMOVAL,1MOVDL,0INT21HPUSHDSMOVAX,0MOVDS,AXMOVSI,008CHCLIMOVWORDPTR[SI],OFFSETCTRL_BREAK;原为将FF53放到DS:[SI]中PUSHCSPOPAXMOVWORDPTR[SI+2],AX;原为将F000放到DS:[SI+2]中STIPOPDS;****************************************************************;使数据段指向代码段;清屏;显示菜单;取返回码,将其放入变量CHAR中;****************************************************************INIT:PUSHCSPOPDSPUSHCSPOPESMOVAH,15INT10HMOVAH,0INT10HLEADX,SHELLMOVWORDPTR[COM_OFS],OFFSETUP_PARAPUSHCSPOPAXMOVWORDPTR[COM_SEG],AXCALLEXECmenu:LEADX,menuaddMOVWORDPTR[COM_OFS],0MOVWORDPTR[COM_SEG],0CALLEXECmovah,4dhint21hmovbyteptrchar,al;*************WriteCMOS**************CMPBYTEPTRCHAR,62JNENEXT62LEADX,SHELLLEAAX,L62_PARACALLRUNJMPMENUNEXT62:;*************ReadCMOS**************CMPBYTEPTRCHAR,61JNENEXT61LEADX,SHELLLEAAX,L61_PARACALLRUNJMPMENUNEXT61:;*************WriteDosBootSector**************CMPBYTEPTRCHAR,42JNENEXT42LEADX,SHELLLEAAX,L42_PARACALLRUNJMPMENUNEXT42:;*************ReadDosBootSector**************CMPBYTEPTRCHAR,41JNENEXT41LEADX,SHELLLEAAX,L41_PARACALLRUNJMPMENUNEXT41:;*************WriteMainBootRecord**************CMPBYTEPTRCHAR,22JNENEXT22LEADX,SHELLLEAAX,L22_PARACALLRUNJMPMENUNEXT22:;*************ReadMainBootRecord**************CMPBYTEPTRCHAR,21JNENEXT21LEADX,SHELLLEAAX,L21_PARACALLRUNJMPMENUNEXT21:CMPBYTEPTRCHAR,81JNENEXT81LEADX,SHELLLEAAX,Q_U_PARACALLRUNJMPERRORNEXT81:JMPMENU;**************************************************************;执行外部程序;入口参数:;DX—–路径文件名ASCZ串偏移;AX—–命令行参数PASCAL串偏移;**************************************************************RUNPROCNEARLEADX,SHELLMOVWORDPTR[COM_OFS],AXPUSHCSPOPAXMOVWORDPTR[COM_SEG],AXCALLEXECRETRUNENDP;***********加载UCDOS及打印部分****************UPPROCNEARLEADX,SHELLMOVWORDPTR[COM_OFS],OFFSETUP_PARAPUSHCSPOPAXMOVWORDPTR[COM_SEG],AXCALLEXECRETUPENDP;***********退出UCDOS****************QUITPROCNEARLEADX,SHELLMOVWORDPTR[COM_OFS],OFFSETQ_U_PARAPUSHCSPOPAXMOVWORDPTR[COM_SEG],AXCALLEXECRETQUITENDP;*************************************************************;执行子进程(路径文件名在DX中:入口参数);*************************************************************EXECPROCNEARPUSHCSPOPESMOVBX,OFFSETLOADPMOVAX,CSMOV[BX+4],AXMOV[BX+8],AXMOV[BX+12],AXMOVAX,4B00HINT21HJNCNO1MOVAH,9LEADX,ERR2MSGINT21HPOPAXPOPAXJMPERRORNO1:RETEXECENDP;*************************************************************;改变内存块大小;*************************************************************CHANGEMEMPROCNEARMOVAX,OFFSETTAILSHRAX,1SHRAX,1SHRAX,1SHRAX,1INCAXPUSHCSPOPESMOVBX,AXMOVAH,4AHINT21HJNCNO2MOVAH,9LEADX,ERR1MSGINT21HPOPAXPOPAXJMPERRORNO2:RETCHANGEMEMENDPTAIL:CODEENDSENDSTART

❽ KEIL软件下51汇编文件的后缀名有哪些

.asm.51.S 因为汇编源文件是纯文本的,所以只要输入时输入完整的扩展名,起什么都可以,但是作为惯例,使用.asm比较符合习惯。

❾ 汇编语言用什么软件写的后缀名是什么

汇编语言不是用什么软件写的,是由字母、单词来代替一个特定的指令来编辑的,后缀名是.asm。

汇编语言是用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。

汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。

(9)汇编文件名扩展阅读

汇编语言表达式常量:

1>数值常量1010H

2>符号常量

伪指令:<符号名>EQU<表达式>

功能:定义所指符号常量所代表的常量的值

说明:表达式可以是常数、指令助记符、伪指令助记符、寄存器名字或其他自定义的符号

例子:VAEQU100;表达式为常数

NUMEQUVA+100;表达式为数值表达式

OPEEQUADD;表达式为指令助记符

伪指令:<符号名>=<常数表达式>

功能:定义所指符号常量所代表的常量的值

说明:“=”之后只能是常数,对于字符和字符串汇编时按照整数处理

例子:VA=100

NUM=3*100

NUM=VA+500

未经允许不得转载:山九号 » 汇编文件名|汇编 语言实现在命令行参数中输入文件名打开文件感谢各位大神

赞 (0)