文档库 最新最全的文档下载
当前位置:文档库 › 中超各队的后台是谁以及财力分析

中超各队的后台是谁以及财力分析

中超各队的后台是谁以及财力分析
中超各队的后台是谁以及财力分析

转载:

山东鲁能泰山足球俱乐部隶属于国家电网公司

鲁能泰山足球俱乐部和鲁能集团没有一点关系,鲁能集团和山东电力集团是平级关系,都隶属于国家电网公司)

广州恒大足球俱乐部隶属于恒大地产集团有限公司

北京国安足球俱乐部隶属于中信国安集团公司

江苏舜天足球俱乐部隶属于江苏国信资产管理集团

天津泰达足球俱乐部,由天津泰达投资控股有限公司、天津泰达集团有限公司、天津开发区建设集团、北方国际信托投资公司、开发区国有资产经营公司共同投资,控股方为泰达投资控股有限公司。

广州富力足球俱乐部隶属于广州富力地产有限公司

杭州绿城俱乐部隶属于浙江绿城集团

长春亚泰俱乐部隶属于吉林亚泰集团

至于剩下的几家俱乐部诸如贵州人和大连阿尔滨实德河南建业青岛中能上海申鑫申花等,要么他们的后台控股公司没有进入中国企业500强,要么没有雄厚的国企背景,所以实力肯定不如上述列举的八家实力雄厚,所以我们只讨论上述列举的八家排名。

山东鲁能北京国安广州恒大江苏舜天天津泰达杭州绿城广州富力长春亚泰,这八家俱乐部(4国企背景4私企背景)到底谁最有钱呢,也就是谁的后台投资公司实力最雄厚?

先说4家私企背景(数据来源2012中国企业500强)

广州恒大的后台恒大地产,2012中国企业500强,排名第75位,总收入为623个亿,净收入113个亿。

广州富力的后台富力地产,2012中国企业500强,排名162位,总收入为273个亿,净收入是48个亿,

浙江绿城的后台绿城集团旗下的绿城控股有限公司,2012中国企业500强排名190名,总收入220个亿,净收入25个亿

长春亚泰的后台亚泰集团,2012中国企业500强排名308位,总收入117个亿,净收入7.4亿

再说4家国企背景的俱乐部(这有点复杂了,希望大家补充)

北京国安俱乐部的隶属脉络为:

北京国安足球俱乐部是中信国安集团的子公司,而中信国安集团是中信集团的几十家子公司之一。中信集团大概有44家子公司,进入2012年中国企业500强的有排名54位的中信泰富有限公司,总收入817亿,净收入74亿,还有排名59位中信银行股份有限公司,总收入769亿,净收入308亿,此外排名144位的中信资源控股有限公司,总收入312个亿,净收入17亿,169位的中信证

券股份有限公司,总收入250个亿,净收入125个亿。看看这些数据,中信集团落下恒大地产集团不下5000条街了吧?

当然我不清楚中信集团是不是直接给国安俱乐部注入资金,看看国安足球俱乐部的直接上家中信国安集团的实力吧,根据其2011年度财务报告称,2011年度营业收入17.7亿,营业利润9900万,看来国安足球俱乐部还是由总公司直接注资的?

江苏舜天足球俱乐部的隶属脉络:

江苏舜天足球俱乐部现隶属于江苏国信资产管理集团。江苏国信资产管理集团是江苏省属大型企业集团,先后与省国资公司和江苏舜天国际集团合并重组。

截至2011年底江苏国信集团总资产达1069亿元,净资产485亿元,实现营业收入416亿元(据其官网),和北京国安俱乐部的总公司中信集团相比,国信集团还是差一大截的。

天津泰达足球俱乐部的隶属脉络:

天津泰达足球俱乐部由天津泰达投资控股有限公司、天津泰达集团有限公司、天津开发区建设集团、北方国际信托投资公司、开发区国有资产经营公司共同投资,控股方为泰达投资控股有限公司。

天津泰达控股有限公司2011年,销售收入583亿元,总资产1807亿元(据其官网),和江苏舜天的后台差不多。

山东鲁能泰山足球俱乐部的隶属脉络:

山东鲁能体育文化发展有限公司(包含足球俱乐部和乒乓球俱乐部)隶属于山东电力集团公司,山东鲁能足球俱乐部是由山东电力集团公司直接注资的,而山东电力集团公司隶属于国家电网,我在国家电网公司网站查了下,其组织机构包含山东电力集团公司和山东鲁能集团有限公司(二者平级),鲁能足球俱乐部和鲁能集团没有一点关系!

山东电力集团公司的实力简介:2011年,实现营业收入1664.4亿元(只查到这个数据)位列全省企业百强榜首。

也许仅仅这一个数据还不足以说明什么,但是对比泰达的583亿和江苏的416亿,已经远远超越他们了,(至于净收入肯定不用说了)再提供几个数据,2011年山东省企业百强第二名是海尔集团,其下属的青岛海尔股份有限公司位列2012中国企业500强62位,这一个子公司就高于恒大地产的75位,另一个下属海尔电器集团有限公司排名第101位,这样比较大家有个大概的判断了吧!

这样粗略一统计,中超俱乐部后台实力对比从总收入这个数据上看,前三名非山东鲁能北京国安和恒大莫属了,而前两名非山东鲁能和北京国安莫属,至于谁排第一,我也不好判断(主要是不清楚中信集团是否给国安俱乐部直接注资),只能再提供一个数据,2012年财富世界500强公司,中国国家电网公司排名世界第七位!总营业收入是2591亿美金!中国中信集团排名世界第194位!总营业收入是493亿美金!

汇编错误总结

1、test.asm(54):error A2000:Block nesting error、 说明:此错误信息通常见于一个段定义起始段名和末尾段名不一 致。说明:此错误信息通常见于一个段定义起始段名和末尾段 名不一致。修改:检查段定义,使段名前后保持一致。修改: 检查段定义,使段名前后保持一致。 2、test.asm(5):error A2005:Symbol is multidefined:DATA 说明:符号重复定义了。说明:此错误信息提示DATA符号 重复定义了。修改:重新设置。修改:将其中一个符号DATA 重新设置。 3、test.asm(7):error A2009:Symbol not defined:B9H、 说明:行指令出错,查看该指令,说明:此错误信息为 test.asm中第7行指令出错,查看该指令,源操作数为十六 进制数B9H。按规定以字母开始的十六进制数,应在其。按规 定以字母开始的十六进制数,以便汇编程序区分常数和符号。 前面加上数字0以便汇编程序区分常数和符号。另一种出错的 可能原因是程序中使用的符号变量没有定义。能原因是程序中 使用的符号变量没有定义。修改:修改:以0B9H取代B9H; 使用伪指令定义变量。;使用伪指令定义变量。 4、test.asm(11):error A2009:Symbol not defined:NO、 说明:说明:test.asm中第11行指令JLE no-count,符号 中使用了中折线,中,符号中使用了中折线,折线在汇编中是 作为减号,因此,没有定义。折线在汇编中是作为减号,因此,汇编提示标号NO没有定义。注意,汇编语言规定符号中可以 使用下划线。注意,汇编语言规定符号中可以使用下划线。修 改:修改:将no-count改为no_count。。 5、test.asm(28):error A2010:Syntax error、

汇编语言出错信息说明

汇编程序出错信息说明 汇编程序出错信息 编 码 提示说明 0Block nesting error 嵌套过程、段、结构、宏指令、IRC、IRP或REPT不是正确结束,如嵌套的外层已终止,而内层还是打开状态。 1Extra characters on line 当一行上已接受了定义指令说明的足够信息,而又出现多余的字符。 2Register already defined汇编内部出现逻辑错误。 3Unknown symbol type 符号语句的类型字段中有些不能识别的东西。 4Redefinition of symbol在第二遍扫视时,连续地定义了一个符号。5Symbol is multi-defined重复定义一个符号。 6Phase error between passes 程序中有模棱两可的指令,以至于在汇编程序的两次扫视中,程序标号的位置在数值上改变了。 7Already had ELSE clause在ELSE从句中试图再定义ELSE语句。 8Not in conditional block 在没有提供条件汇编指令的情况下,指定了ENDIF或ELSE。 9Symbol not defined符号没有定义 10Syntax error语句的语法与任何可识别的语法不匹配11Type illegal in context指定的类型在长度上不可接收 12Should have been group name给出的组名不符合要求 13Must be declared in pass1得到的不是汇编程序所要求的常数值,例如:向前引用的长度 14Symbol type usage illegal PUBLIC符号的使用不合法 15Symbol already different kind 企图定义与以前定义不同的符号 16Symbol is reserved word企图非法使用一个汇编程序的保留字 17Forward reference is illegal向前引用必须是在第一遍扫视中定义过的 18Must be register 希望寄存器作为操作数,但用户提供的是符号而不是寄存器 19Wrong type of register 指定的寄存器类型并不是指令或伪操作所要求的,例如:ASSUME AX 20Must be segment or group希望给出段或组,而不是其它

汇编语言上机操作

汇编语言上机操作 一、建立子文件夹 如:D:\hb\masm 二、复制相关文件 把masm.exe、link.exe、ml.exe三个文件复制到上述文件夹中。 三、进入DOS方式 开始/运行/cmd 当前提示符可能是: C:\documents and settings\administrator> 四、常用DOS操作命令 1、改变当前盘 输入d: 并回车,屏幕显示: D:\> 2、改变当前目录 1)进入下一级目录 D:\>cd hb 回车后,屏幕显示: D:\hb>cd masm 回车后,屏幕显示: E:\hb\masm> 问题:可以一次进入下面二级或多级目录吗? 2)返回上一级目录 D:\hb\masm>cd.. 回车后,屏幕显示: D:\hb\>cd.. 回车后,屏幕显示: D:\> 问题:可以直接返回根目录吗? D:\hb\masm>cd\ 回车后,屏幕显示: D:\> 3、显示当前目录容 D:\>dir /p 分页显示当前目录容 问题:如何显示d:\text中的容? D:\>dir d:\text↙ 4、DOS方式下如何运行程序? DOS方式下的可执行文件(即程序文件)扩展名为.exe或.,运行时只需要在系统提示符下输入文件主名即可。例如,有一个文件名为test.exe,存入在D:\hb\masm 中,运行时,可以这样做: D:\hb\masm>test↙ 五、汇编语言上机过程 1、编辑源程序 运行:edit 回车后,进入EDIT环境,输入完后存盘(file/save)并退出(file/exit)。

2、汇编 D:\hb\masm>masm add5.asm↙ 生成目标程序文件add5.obj。(如果有语法错误,会提示错误所在行号和错误类型)3、连接 D:\hb\masm>link add5↙ 生成可执行文件add5.exe。 六、DEBUG程序调用及汇编语言程序调试方法 调试程序DEBUG是DOS支持的又一种系统软件,主要用于汇编语言程序的调试。汇编和连接过程只能查出源程序的语法错误,不能查出功能上的错误和程序不完善的地方。DEBUG程序为用户提供多种命令,大致有:显示和修改寄存器和存贮单元的容;执行程序中任意一段或一条指令;汇编单条源语句和反汇编机器码指令;查找字符代码;端口的输入和输出;文件装入存和写入磁盘等。用户利用这些命令可以查出任何程序功能上的错误。下面说明DEBUG程序的启动方法和主要命令意义。 (一)DEBUG程序的启动 DEBUG程序有两种启动方法。DEBUG程序是在DOS盘上的一个独立的可执行程序(扩展名为.COM),所以,DEBUG程序的第一种启动方法就是把它看作和一般的可执行程序一样,只要打入DEBUG和回车键,就可以把它装入存。但是这样启动只把DEBUG 程序本身装入存并进入等待DEBUG命令状态,还没有把要调试的程序装入存。第二种启动DEBUG的程序的方法是一次相继装入DEBUG程序和要调试的程序。打入的命令格式如下: DEBUG[d:][path]filename[.ext][parml][parm2] 其中的Filename是要调试程序的文件名,可选项[d:][path]和[.ext]分别是要调试程序的所在盘符、路径和扩展名。可选项[parml]和[parm2]是DEBUG程序为要调试程序准备的参数(一般不用)。 例进入DEBUG程序并装入要调试程序。其操作如下: D:\hb\masm>DEBUG add5.exe (进入DEBUG,并装配add5.exe) 此时屏幕上出现一个短线,这表示可以使用DEBUG命令了。 如果启动DEBUG时没有指定要调试的文件名,则需要用N命令指定要调试的文件,再用L命令将其装入存。操作如下: D:\hb\masm>debug↙ - n add5.exe↙ - l↙ (二)DEBUG命令 在说明每个命令之前,先说明一些共同信息: ■DEBUG命令都是以一个英文字母开头,后面跟一个或多个参数。 ■命令字母和参数可用大写或小写或混合形式。 ■命令字母和参数中,相邻两个十六进制之间必须用逗号或空格分开.其它各部分之间有无空格或逗号都可以。 ■执行任何命令期间都可用Ctrl+Break键方法结束命令的执行。

MASM汇编错误信息说明 ASM问题汇总

MASM汇编错误信息说明 test.asm(54):error A2000:Block nesting error 1.1.test.asm(54): 说明:此错误信息通常见于一个段定义起始段名和末尾段名不一致。 修改:检查段定义,使段名前后保持一致。 test.asm(5):error A2005:Symbol is multidefined:DATA 2.2.test.asm(5): 说明:此错误信息提示DATA符号重复定义了。 修改:将其中一个符号DATA重新设置。 test.asm(7):error A2009:Symbol not defined:B9H 3.3.test.asm(7): 说明:此错误信息为test.asm中第7行指令出错,查看该指令,源操作数为十六进制数B9H。按规定以字母开始的十六进制数,应在其前面加上数字0以便汇编程序区分常数和符号。另一种出错的可能原因是程序中使用的符号变量没有定义。 修改:以0B9H取代B9H;使用伪指令定义变量。 test.asm(11):error A2009:Symbol not defined:NO 4.4.test.asm(11): 说明:test.asm中第11行指令JLE no-count,符号中使用了中折线,中折线在汇编中是作减号,因此,汇编提示标号NO没有定义。注意,汇编语言规定符号中可以使用下划线。 修改:将no-count改为no_count。 test.asm(28):error A2010:Syntax error 5.5.test.asm(28): 说明:此错误信息提示源程序中第28行的指令语句的语法与任何可识别的语法不匹配,出错。 修改:按照汇编指令的规定格式重新编写。 6.6.test.asm(2): test.asm(2):error A2018:Operand must be register:DX 说明:指定的寄存器不是指令或伪指令所要求的。如:ASSUME DX:DATA 修改:查看汇编指令的规定格式。

汇编错误总结

1、test.asm(54): error A2000: Block nesting error 、 说明:此错误信息通常见于一个段定义起始段名和末尾段名不一 致。说明:此错误信息通常见于一个段定义起始段名和末尾段 名不一致。修改:检查段定义,使段名前后保持一致。修改: 检查段定义,使段名前后保持一致。 2、test.asm(5): error A2005: Symbol is multidefined: DATA 说明:符号重复定义了。说明:此错误信息提示 DATA 符号重 复定义了。修改:重新设置。修改:将其中一个符号 DATA 重 新设置。 3、test.asm(7): error A2009: Symbol not defined: B9H 、 说明:行指令出错,查看该指令,说明:此错误信息为 test.asm 中第 7 行指令出错,查看该指令,源操作数为十六进制 数 B9H。按规定以字母开始的十六进制数,应在其。按规定以 字母开始的十六进制数,以便汇编程序区分常数和符号。前面 加上数字 0 以便汇编程序区分常数和符号。另一种出错的可能 原因是程序中使用的符号变量没有定义。能原因是程序中使用 的符号变量没有定义。修改:修改:以 0B9H 取代 B9H;使用 伪指令定义变量。;使用伪指令定义变量。 4、test.asm(11): error A2009: Symbol not defined: NO 、 说明:说明:test.asm 中第 11 行指令 JLE no-count,符号中使 用了中折线,中,符号中使用了中折线,折线在汇编中是作为 减号,因此,没有定义。折线在汇编中是作为减号,因此,汇 编提示标号 NO 没有定义。注意,汇编语言规定符号中可以使 用下划线。注意,汇编语言规定符号中可以使用下划线。修改:修改:将 no-count 改为 no_count。。 5、test.asm(28): error A2010: Syntax error 、

汇编伪指令和编译出错说明

ASM-51 宏汇编使用手册 A51与ASM51基本相同 ASM-51 宏汇编主要用来开发Inter8051系列单片机,它具有宏处理,数据处理,列表处理和条件处理等多种功能。源程序的编写完全采用 Inter标准助记符和行格式。在编写程序过程中,可借助于文本编辑(Windows的记事本)或文字处理软件Word等编辑,经ASM-51汇编后生成列表输出文件(.LST)和目标代码文件(.HEX)。此目标代码文件(.HEX)可直接用CZS-51或MedWin、Keil、Debug8051进行模拟/调试,或直接用于硬件仿真器上运行。当然,这也是要烧写到单片机ROM中的代码。 1、宏汇编语言的基本语法 1、1 宏汇编的特点 ASM-51宏汇编完全支持Inter助记符的汇编语言,它含有宏语句,英文大小写字母,变量名,标号等不受限制,有二,十,十六进制和串参数类型,有汇编控制指令和多层条件语句,程序逻辑分段,还有模块化程序设计的连接功能,汇编速度快等特点。 1、2 汇编处理过程 (1) 用行编辑EDLIN或文字处理软件WS或全屏幕编辑软件PE等,编辑宏汇编 语言源程序,它的文件扩展名为。ASM。 (2) 用ASM-51宏汇编程序对上述源程序文件进行汇编,产生扩展名为.LST的列表输出文件和扩展名为.HEX的目标代码文件(.HEX)。列表输出文件包含源程序语句所汇编成的代码,以及有关的地址,语句和符号表等。目标代码文件包含源程序语句所汇编成的代码,不包含任何符号信息或助记符。进行模拟/调试,或直接用于硬件仿真器上运行。 1、3 语句 汇编语言可分为两类语句:指令性语句和指示性语句。 (1)指令性语句 这一类语句是指在汇编过程中能生成指令代码的语句(如 MOV ,DEC等)。其格式为: [标号:] [指令助记符] [操作数] [;注释] 其中方括号[ ]中为选择项。下同。 (2)指示性语句

汇编程序MASM5.0编译出错信息表中文说明

汇编程序MASM 5.0编译出错信息表-中文说明 用MASM 5.0对汇编程序进行汇编的时候,如果检查出某行语句有错误,就会在屏幕上给出出错信息,若指定了列表文件(.LST),MASM 5.0也会在列表文件中给出错误信息。 MASM5.0出错信息格式: WARNING/ERROR错误信息码:错误描述信息 错误描述信息码由五个字符组成,第一个是字母A,表示汇编语言程序出错;接着有一个数字指明出错类别:2为致命错误,4为严肃警告,5为建议性警告,最后三位为错误编号。 下面的手册中给出了错误编号、错误描述以及中文解释说明,方便大家查阅,包括MASM 5.0常见编译错误。 000 Block nesting error 嵌套出错.嵌套的过程,段,结构,宏指令或重复块等非正常结束.例如在嵌套语句中有外层的结束语句,而无内层的结束语局 001 Extra characters on line 一语句行有多余字符,可能是语句中给出的参数太多 002 Internal error-Register already defined 这是一个内部错误.如出现该错误,请记下发生错误的条件,并使用Product Assistance Request 表与Microsoft公司联系 003 Unkown type specifer 未知的类型说明符.例如类型字符拼错,把BYTE写成BIT,NEAR写成NAER等 004 Redefinition of symbol 符号重定义.同一标识符在两个位置上定义.在汇编第一遍扫描时,在这个标识符的第二个定义位置上给出这个错误 005 Symbol is multidefined 符号多重定义.同一标识符在两个位置上定义.在汇编第二遍扫描时,每当遇到这个标识符都给出这个错误006 Phase error between passes 两次扫描间的遍错.一个标号在二次扫描时得到不同的地址值,就会给出这种错误.若在启动MASM时使用/D 任选项,产生第一遍扫描的列表文件,它可帮助你查找这种错误 007 Already had ELSE clause 已有ELSE语句.在一个条件块里使用多于一个的ELSE语句 008 Must be in conditional block 没有在条件块里.通常是有ENDIF或ELSE语句,而无IF 语句 009 Symbol not defined 符号未定义,在程序中引用了未定义的标识符 010 Syntax error

汇编语言常见错误指令解决办法

(1) MOV DS, 2010H ;立即数不能传送到DS (2) PUSH AL ;栈操作,操作数类型必须为WORD类型 (3) MOV DX,[SP] ;SP寄存器不能做间址寄存器 (4) IN AL,0A00H ;I/O指令的直接寻址,地址只能为8位 (5) XCHG CL,CH ;正确 (6) SHR AX,3 ;移位超过一位时,应采用CL寄存器间址 (7) AAA CX ;非组合的BCD码加法调整AAA指令应为隐含操作数 (8) ADD [BP+DI] ;加法指令ADD,缺少源操作数 (9) OUT DX,CL ;I/O指令操作数只能用AX、AL提供,端口地址可以是8位的直接地址或用DX间址(10)CBW BH ;符号扩展指令为隐含操作数 (11)ADD 03ECH ;加法指令应为双操作数指令,立即数不能做目的操作数 (12)MOV BX, [SI+DI] ;源操作数形式错误,SI和DI不能同时做为间址寄存器 (13)MOV DI, [AX] ;AX不能做为间址寄存器 (14)OUT 258H, BX ;I/O指令格式错误,见(9)题的解释 (15)SHL AX, 3 ;移位指令,位移位数大于1时,应用CL来指明 (16)MOV 64H,AL ;立即数不能做为目的操作数 (17)ADD AL,6600H ;源、目的操作数的类型不一致 (18)MOV[BX],[SI];传送指令中,两个操作数不能同时为存储器操作数 (19)XCHG AX,8800H ;交换指令的操作数不能使用立即数 (20)MOV AX,[BX+DX];传送指令的源操作数,不能使用立即数 (21)LEA BX,1000H;有效地址传送指令的源操作数不能为立即数,必须是存储器操作数 (22)DIV 0010H ;正确 (23)LEA DX,DI ;同(21)题,源操作数不能为寄存器操作数 (24)MUL AX,200H ;乘法指令的目的操作数是隐含的,不能出现在指令中 (25)MOV AX, [BX+BP];传送指令中源操作数格式错,BX和BP不能同时为间址寄存器 (26)CMP [BX], [SI] ;比较指令的两个操作数不能同时为存储器操作数 (27)OUT DX, BX ;I/O指令中,源操作数只能使用AL或AX寄存器 (28)AND OFH,AL ;“与”指令中,目的操作数不能使用立即数 (29)SAL [BX],CX ;移位指令,移位位移不能用CX寄存器指明 (30)JMP FAR [BX+SI] ;转移指令中转移的目标地址表达方式错误 ;如果是段内间接转移,应为:JMP WORD PTR[BX+SI] ;如果是段间间接转移,应为:JMP DWORD PTR[BX+SI] (31)JNZ AAA;不相等转移指令中,符号地址(标识符)不能使用系统中的保留字 (32)JMP NEXT ;正确 (33)SBC AX, [DX] ;指令助记符错,源操作数表示方式错 (34)MOV CS,DS;段寄存器之间不能传送数据,CS寄存器也不能做为目的操作数 (35)ADD DS, AX ;加法指令中段寄存器不能做为操作数 (36)MOV AL,CX ;源、目的操作数的类型不一致,见(17)题 (37)INC [BX];没有指定存储器操作数类型 (38)MOV CL,A8H;源操作数为16进制的立即数,16进制数以字母开头时应在前面加“0”

汇编错误说明

MASM汇编错误信息说明 1、test.asm(54): error A2000: Block nesting error 说明:此错误信息通常见于一个段定义起始段名和末尾段名不一致。 修改:检查段定义,使段名前后保持一致。 2、test.asm(5): error A2005: Symbol is multidefined: DATA 说明:此错误信息提示DATA符号重复定义了。 修改:将其中一个符号DATA重新设置。 3、test.asm(7): error A2009: Symbol not defined: B9H 说明:此错误信息为test.asm中第7行指令出错,查看该指令,源操作数为十六进制数B9H。 按规定以字母开始的十六进制数,应在其前面加上数字0以便汇编程序区分常数和符 号。另一种出错的可能原因是程序中使用的符号变量没有定义。 修改:以0B9H取代B9H;使用伪指令定义变量。 4、test.asm(11): error A2009: Symbol not defined: NO 说明:test.asm中第11行指令JLE no-count,符号中使用了中折线,中折线在汇编中是作为减号,因此,汇编提示标号NO没有定义。注意,汇编语言规定符号中可以使用下划 线。 修改:将no-count改为no_count。 5、test.asm(28): error A2010: Syntax error 说明:此错误信息提示源程序中第28行的指令语句的语法与任何可识别的语法不匹配,出错。 修改:按照汇编指令的规定格式重新编写。 6、test.asm(2): error A2018: Operand must be register: DX 说明:指定的寄存器不是指令或伪指令所要求的。如:ASSUME DX:DATA 修改:查看汇编指令的规定格式。 7、test.asm(16): error A2028: Operator expected 说明:汇编程序需要的是操作符,得到的却是其它内容。test.asm中第16行MOV DX OFFSET BUF2,显然是两操作数中间缺少“,”符号导致出错。 修改:两操作数之间用“,”号分隔。 8、test.asm(47): error A2029: Division by 0 or overflow 说明:给出一个用零作除数的表达式或溢出。test.asm中第47行指令AND AL, 0010 0000数据溢出,这是因为,汇编程序默认数制为十进制,因而该指令中的源操作数超出范 围。 修改:若欲输入的是二进制数,在该数后加b,说明为二进制数。 9、test.asm(8): error A2048: Must be index or base register

编写汇编语言常见错误分析

编写汇编语言常见错误分析: 一、MAS51汇编软件汇编失败原因分析: 单片机的汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误汇会造成汇编失败,常见的汇编错误如下: 1.标号重复常见于复制、粘贴程序时忘记修改标号,造成出现多个相同的标号,标号是不允许重复的。2.标点符号以全角方式输入MAS51程序要求标点符号为半角方式,否则汇编失败。可以在输入:,;时切换到半角方式,或者在大写状态输入标点符号,这也是很容易犯而且不容易发觉的错误。3.注释太长有时为了以后读懂程序,写了很长的注释,站长发现超过20个汉子时也会造成汇编失败,解决办法可以将太长的注释分成多个注释。4.数值#FFH 前遗漏0,根据要求应该在a~f前加0,写成#0FFH 5.字母O和数字0搞混有时候这两个字看上去完全相同,要注意哦~~6.标号后边遗漏":"7.标号使用了特殊字符,比如:T1、T2、A、B这些字符有特定的含义,不允许用于标号。8.AJMP跳转超过2K地址,AJMP属于短跳转命令,有2K地址范围的限制。9.JB P3.2,EXIT跳转超过-128~127个地址范围。这个是最容易出现的错误!你有可能程序刚才还能汇编编译成功,你加了一段程序后程序就提示出错了,你可以把JB P3.2,EXIT 转换成JNB P3.2,UUU AJMP EXIT UUU: 10.字母I和数字1混淆,冒失鬼的常见问题。11.创造发明不存在的汇编语言指令,在编写程序程序的过程中可不欢迎这种创新,这种指令汇编程序不支持,芯片也不认可。 12.符号“:”“;”最好用半角书写。 二、程序出错: 1.寄存器重复调用比如主程序中设定了R4=5,表示主程序循环执行5次,而其中的一个延时子程序又用到R4,使R4的值发生紊乱,造成程序无法正常执行。2.硬件不熟悉单片机一般采用下拉输出,往往端口输出0驱动外设工作,和常见的正逻辑相反,容易搞错。想想我自己,还不只一次犯这样的错误. 要养成良好的程序书写习惯,比如标号对齐、参数对齐、注释对齐,这样看起来赏心悦目,也不容易出错。标号最好采用有意义的英文,这样比较直观,注释尽量详细准确,便于以后读懂,而且有利于其它程序中作为子程序模块的调用。还有要注意典型程序模块的积累,再复杂的程序也是由一个个小程序模块组成的,在初学阶段可以对典型程序比如:延时子程序、查表子程序、按键消抖子程序等编写实践一次,这样印象深刻,便于以后引用。 常见汇编语言指令解释: 1.Rn 表示R0~R7中的一个 2.#data 表示8位的数值00H~FFH 3.direct 表示8位的地址00H~FFH 4.@Ri 表示寄存器间接寻址只能是R0或者R1 5.@DPTR 表示数据指针间接寻址 6.bit 表示位地址 7.$ 表示当前地址 寄存器寻址MOV A,R1 将R1中的数值赋予A

汇编语言常见错误信息解释_2

汇编程序在对源程序的汇编过程中,若检查出某语句有语法错误,随时在屏幕上给出出错信息.如操作人员指定的列表文件名(即.LST),汇编程序亦将在列表文件中出错的下面给出出错信息,以便操作人员即时查找错误,给予更正.MASM5.0出错信息格式如下: 源程序文件行:WARNING/ERROR错误信息码:错误描述信息 其中,错误描述信息码由五个字符组成,第一个是字母A,表示汇编语言程序出错;接着有一个数字指明出错类别:'2'为严重错误,'4'为严肃警告,'5'为建议性警告,最后三位为错误编号. 错误编号 错误描述 Block nesting error 嵌套出错.嵌套的过程,段,结构,宏指令或重复块等非正常结束.例如在嵌套语句中有外层的结束语句,而无内层的结束语局 1 Extra characters on line 一语句行有多余字符,可能是语句中给出的参数太多 2 Internal error-Register already defined 这是一个内部错误.如出现该错误,请记下发生错误的条件,并使用Product Assistance Request表与Microsoft公司联系 3 Unkown type specifer 未知的类型说明符.例如类型字符拼错,把BYTE写成BIT,NEAR写成NAER等 4 Redefinition of symbol 符号重定义.同一标识符在两个位置上定义.在汇编第一遍扫描时,在这个标识符的第二个定义位置上给出这个错误 5 Symbol is multidefined 符号多重定义.同一标识符在两个位置上定义.在汇编第二遍扫描时,每当遇到这个标识符都给出这个错误6 Phase error between passes 两次扫描间的遍错.一个标号在二次扫描时得到不同的地址值,就会给出这种错误.若在启动MASM时使用/D 任选项,产生第一遍扫描的列表文件,它可帮助你查找这种错误 7 Already had ELSE clause 已有ELSE语句.在一个条件块里使用多于一个的ELSE语句 8

汇编语言上机操作及程序调试的方法

汇编语言上机操作及程序调试的方法第一节在IBM-PC机上运行汇编源程序所必备的软件 为了在IBM-PC机上运行汇编源程序,机器上必须有DOS操作系统环境,DOS系统盘上应有下列文件: EDIT 文件编辑程序 MASM 宏汇编程序 LINK 链接程序 DEBUG 调试程序 第二节在IBM-PC机上运行汇编源程序的步骤 当用户编制好汇编语言源程序之后,要在机器上运行,必须经过以下几个步骤: 1.用EDIT命令建立与修改汇编源程序文件(ASM文件) 源程序就是用汇编语言的语句编写的程序,必须以ASM为附加文件名。2.用MASM命令汇编源文件以产生相应的目标文件(OBJ文件) 3.用LINK命令连接目标文件以产生可执行文件(EXE文件) 4.调试、运行可执行文件

上机过程示意图如下: 汇编语言程序 编辑程序 汇编程序 连接程序 调试程序 有错吗? 运行程序 Y N 图2-1 汇编语言程序上机过程流程 第三节 DEBUG 程序调用及汇编语言程序调试方法 调试程序DEBUG 是DOS 支持的又一种系统软件,主要用于汇编语言程序的调试。汇编和连接过程只能查出源程序的语法错误,不能查出功能上的错误和程序不完善的地方。 一、DEBUG 程序的启动 DEBUG 程序有两种启动方法。 第一种启动方法:只要打入DEBUG 和回车键,就可以把它装入内存。但是这样启动只把DEBUG 程序本身装入内存并进入等待DEBUG 命令状态,还没有把要调试的程序装入内存。 第二种启动DEBUG 的程序的方法是一次相继装入DEBUG 程序和要调试的程序。打入的命令格式如下: DEBUG[d :][path]filename[.ext][parml]Lparm2] 其中的Filename 是要调试程序的文件名,可选项[d:][path]和[.ext]分别是要调试程序的所在盘符、路径和扩展名。可选项[parml]和[parm2]是DEBUG 程序为要调试程序准备的参数(一般不用)。 例 进入DEBUG 程序并装入要调试程序,要调试程序在A 驱动器中。其操

汇编程序出错提示

汇编程序出错信息 编码说明 0 Block nesting error 嵌套过程、段、结构、宏指令等不是正确结束。 1 Extra character on line 当一行上已接受了定义指令的足够信息,而又出现了多余的字符。 2 Register already defined 汇编内部出现逻辑错误。 3 Unknown symbol type 在符号语句的类型字段中,有些不能识别的东西。 4 Redefinition of symbol 在第二遍扫视时,接着又定义一个符号。 5 Symbol is multi-defined 重复定义一个符号。 6 Phase error between passes 程序中有模棱两可的指令,以至于在汇编程序的两次扫视中, 程序标号的位置在数值上改变了。 7 Already had ELSE clause 在ELSE从句子试图再定义ELSE从句。 8 Not in conditional block 在没有提供条件汇编指令的情况下,指定了ENDIF或ELSE。 9 Symbol not defined 符号没有定义。 10 Syntax error 语句的语法与任何可识别的语法不匹配。 11 Type illegal in context 指定的类型在长度上不可接收。 12 Should have been group name 给出的组合不符合要求。 13 Must be declared in pass 1 得到的不是汇编程序所要求的常数值。例如,向前引用的向量长度。 14 Symbol type usage illegal PUBLIC符号的使用不合法。 15 Symbol already different kind 企图定义与以前定义不同的符号。 16 Symbol is reserved word 企图非法使用一个汇编程序的保留定(例如,宣布MOV为一个变量)。 17 Forward reference is illegal 向前引用必须是在第一遍扫视中定义过的。 18 Must be register 希望寄存器作为操作数,但用户提供的是符号而不是寄存器。 19 Wrong type of register

汇编语言常见错误信息解释

附录5汇编语言常见错误信息解释 错误描述 Block nesting error 嵌套出错.嵌套的过程,段,结构,宏指令或重复块等非正常结束.例如在嵌套语句中有外层的结束语句,而无内层的结束语局 1 Extra characters on line 一语句行有多余字符,可能是语句中给出的参数太多 2 Internal error-Register already defined 这是一个内部错误.如出现该错误,请记下发生错误的条件,并使用Product Assistance Request表与Microsoft公司联系 3 Unkown type specifer 未知的类型说明符.例如类型字符拼错,把BYTE写成BIT,NEAR写成NAER等 4 Redefinition of symbol 符号重定义.同一标识符在两个位置上定义.在汇编第一遍扫描时,在这个标识符的第二个定义位置上给出这个错误 5 Symbol is multidefined 符号多重定义.同一标识符在两个位置上定义.在汇编第二遍扫描时,每当遇到这个标识符都给出这个错误6 Phase error between passes 两次扫描间的遍错.一个标号在二次扫描时得到不同的地址值,就会给出这种错误.若在启动MASM时使用/D 任选项,产生第一遍扫描的列表文件,它可帮助你查找这种错误 7 Already had ELSE clause 已有ELSE语句.在一个条件块里使用多于一个的ELSE语句 8 Must be in conditional block 没有在条件块里.通常是有ENDIF或ELSE语句,而无IF语句 9 Symbol not defined 符号未定义,在程序中引用了未定义的标识符 10 Syntax error 语法错误.不是汇编程序所能识别的一个语句 11 Type illegal in context 指定非法类型.例如对一个过程指定BYTE类型,而不是NEAR或FAR 12 Group name must be unique

汇编语言中常见的错误

汇编语言中常见的错误 (1)Block nesting error 块嵌套错误 嵌套的过程、段、结构、宏定义、重复块定义等不恰当地结束。 (2)Extra characters on line 语句行上有额外字符 当在语句行上接收到定义指令、命令语句的足够信息时,还有其它多余字符。 (3)Unknow symbol type.不认识的符号类型 符号语句,在类型字段内有不能识别的符号。 (4)Symbol is multi-defined.重复定义符号 符号在标号域中出现两次以上。 (5)bymbol not defined.符号未定义 操作数域或操作码域引用了未在标号域中出现过的标号。 (6)Phase error between passes.两次扫描中间的步骤错 程序中有二义性的指令语句。 (7)Symbol type usage illegal.符号类型用法错 使用PUBLIC语句中的符号用法错。 (8)Symbol is reserved word.符号是保留字 非法地使用了汇编程序的保留字。 (9)Division by 0 or overflow.除法被0除或溢出 在除法指令语句中,除数为0或商超出允许范围。 (10)Operand type must match.操作数类型必须匹配 在要求操作数必须匹配的情况下.汇编程序得到了参量不同的类型和大小。 (11)Value is out of range. 值超出范围 所使用的数值超出了使用范围。 (12)Relative jump out range. 相对转移超出范围 相对转移超出了当前指令的范围(一128一127个字节)。 (13)No or unreachable CS. 没有或不能达到CS

8086汇编语言常见出错信息一览表

汇编程序常见出错信息编码提示说明 0Block nesting error 嵌套过程、段、结构、宏指令、IRC、IRP或REPT 不是正确结束,如嵌套的外层已终止,而内层还是打开状态。 1Extra characters on line当一行上已接受了定义指令说明的足够信息,而又 出现多余的字符。 2Register already defined汇编内部出现逻辑错误。 3Unknown symbol type符号语句的类型字段中有些不能识别的东西。 4Redefinition of symbol在第二遍扫视时,连续地定义了一个符号。 5Symbol is multi-defined重复定义一个符号。 6Phase error between passes程序中有模棱两可的指令,以至于在汇编程序的两 次扫视中,程序标号的位置在数值上改变了。 7Already had ELSE clause在ELSE从句中试图再定义ELSE语句。 8Not in conditional block在没有提供条件汇编指令的情况下,指定了ENDIF 或ELSE。 9Symbol not defined符号没有定义 10Syntax error语句的语法与任何可识别的语法不匹配 11Type illegal in context指定的类型在长度上不可接收 12Should have been group name给出的组名不符合要求 13Must be declared in pass1得到的不是汇编程序所要求的常数值,例如:向前 引用的长度 14Symbol type usage illegal PUBLIC符号的使用不合法 15Symbol already different kind企图定义与以前定义不同的符号 16Symbol is reserved word企图非法使用一个汇编程序的保留字 17Forward reference is illegal向前引用必须是在第一遍扫视中定义过的 18Must be register希望寄存器作为操作数,但用户提供的是符号而不 是寄存器 19Wrong type of register指定的寄存器类型并不是指令或伪操作所要求的, 例如:ASSUME AX 20Must be segment or group希望给出段或组,而不是其它 21Symbol has no segment想使用具有SEG的变量,而这个变量不能识别段 22Must be symbol type必须是WORD,DW,QW,BYTE或TB,但接收的 是其它内容 23Already defined locally试图定义一个符号作为EXTERNAL,但这个符号已 经在局部定义过了 24Segment parameters are changed对于SEGMENT的变量表与第一次使用该段的情况 不一样 25Not proper align/combine type SEGMENT参数不正确 26Reference to mult defined指令引用的内容已是多次定义过的

汇编语言常见错误信息解释.

汇编语言常见错误信息解释 2010-05-18 22:53 汇编程序在对源程序的汇编过程中,若检查出某语句有语法错误,随时在屏幕上给出出错信息.如操作人员指定的列表文件名(即.LST),汇编程序亦将在列表文件中出错的下面给出出错信息,以便操作人员即时查找错误,给予更正.MASM5.0出错信息格式如下: 源程序文件行:WARNING/ERROR错误信息码:错误描述信息 其中,错误描述信息码由五个字符组成,第一个是字母A,表示汇编语言程序出错;接着有一个数字指明出错类别:'2'为严重错误,'4'为严肃警告,'5'为建议性警告,最后三位为错误编号. 错误编号 错误描述 Block nesting error 嵌套出错.嵌套的过程,段,结构,宏指令或重复块等非正常结束.例如在嵌套语句中有外层的结束语句,而无内层的结束语局 1 Extra characters on line 一语句行有多余字符,可能是语句中给出的参数太多 2 Internal error-Register already defined 这是一个内部错误.如出现该错误,请记下发生错误的条件,并使用Product Assistance Request 表与Microsoft 公司联系 3 Unkown type specifer 未知的类型说明符.例如类型字符拼错,把BYTE写成BIT,NEAR写成NAER等 4 Redefinition of symbol 符号重定义.同一标识符在两个位置上定义.在汇编第一遍扫描时,在这个标识符的第二个定义位置上给出这个错误 5 Symbol is multidefined 符号多重定义.同一标识符在两个位置上定义.在汇编第二遍扫描时,每当遇到这个标识符都给出这个错误 6 Phase error between passes 两次扫描间的遍错.一个标号在二次扫描时得到不同的地址值,就会给出这种错误.若在启动MASM时使用/D 任选项,产生第一遍扫描的列表文件,它可帮助你查找这种错误 7 Already had ELSE clause

汇编语言上机过程

汇编语言上机过程 一、用汇编语言编写的源程序,使之运行必须经过以下几个步骤: 1.用编辑程序建立一个扩展名为.ASM的汇编语言源程序文件。 2.调汇编程序(MASM),对源程序汇编,生成机器码目标文件,扩展名为.OBJ。 3.连接(LINK)目标文件,生成可执行文件,扩展名为.EXE。 4.运行可执行文件。 5.如果程序运行有错,可调用DEBUG 程序对.EXE文件进行调试。 二、编辑汇编语言源程序 可用各种编辑软件来建立汇编语言源程序,例如记事本。先保存为.TXT文件,然后改为.ASM文件,方法是在windows界面:工具——文件夹选项——查看——将“隐藏已知文件的扩展名”选项去掉。然后将扩展名.TXT直接改为.ASM,汇编程序文件名称由用户自定(只能用英文字母、数字下划线)。 三、编译汇编语言源程序 用MASM程序汇编源程序,生成浮动目标程序(即扩展名为.OBJ的文件),这里产生的是浮动的目标模块,是不可执行程序。 “开始”菜单->运行->键入“cmd”->确定,打开DOS命令行窗口。 汇编前,在DOS状态下用下列命令可以打开源程序,例如打开z1.asm的方法是:>type z1.asm <CR> 则屏幕上显示出z1.asm的源程序。 汇编z1.asm文件过程的屏幕操作与显示如下: >masm z1.asm<CR> 屏幕显示以下各行(一次一行),提示用户所应键入的信息: OBJECT FILENAME [ Z1.OBJ ] <CR> SOURCE LISTING [ NUL.LST ]:<CR> CROSS REFERENCE [ NUL.CRF]:<CR> 产生目标文件(.OBJ)是汇编的主要目的,通常用户可以直接回车,表示采用默认文件名。(.LST)文件为列表文件,提供全部汇编后的信息。若用户不需要这些信息,可直接回车。(.CRF)文件为交义引用文件,要建立交叉引用文件,则键入文件名。MASM将为用户建立扩展名为(.CRF)的交叉引用文件,这里所得到的交叉引用文件,必须调用CREF程

相关文档