×

汇编语言的描述中错误的是 错误

汇编语言的描述中错误的是(以下关于程序设计语言叙述中,错误是( ))

admin admin 发表于2024-04-26 02:58:21 浏览15 评论0

抢沙发发表评论

其实汇编语言的描述中错误的是的问题并不复杂,但是又很多的朋友都不太了解以下关于程序设计语言叙述中,错误是( ),因此呢,今天小编就来为大家分享汇编语言的描述中错误的是的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

以下关于程序设计语言叙述中,错误是( )

【答案】:C本题考查程序语言基础知识。选项A涉及程序语言一般概念,程序设计语言基本成分包括数据、运算、控制和传输等。选项B考查高级语言和低级语言概念。关于程序设计语言,高级语言和低级语言是指其相对于运行程序机器抽象程度。低级语言在形式上越接近机器指令,汇编语言就是与机器指令一一对应。高级语言对底层操作进行了抽象和封装,其一条语句对应多条机器指令,使编写程序过程更符合人类思维习惯,并且极大了简化了人力劳动。高级语言并不依赖于具体机器硬件。选项C考查局部变量概念,凡是在函数内部定义变量都是局部变量(也称作内部变量),包括在函数内部复合语句中定义变量和函数形参表中说明形式参数。局部变量只能在函数内部使用,其作用域是从定义位置起至函数体或复合语句体结束为止。局部变量值通常在其生存期内是变化。选项D考查常量概念,程序中常量值在运行时是不能改变。

汇编程序,错误在哪

汇编程序在对源程序的汇编过程中,若检查出某语句有语法错误,随时在屏幕上给出出错信息.如操作人员指定的列表文件名(即.LST),汇编程序亦将在列表文件中出错的下面给出出错信息,以便操作人员即时查找错误,给予更正.MASM5.0出错信息格式如下:源程序文件行:WARNING/ERROR错误信息码:错误描述信息其中,错误描述信息码由五个字符组成,第一个是字母A,表示汇编语言程序出错;接着有一个数字指明出错类别:’2’为严重错误,’4’为严肃警告,’5’为建议性警告,最后三位为错误编号.错误编号错误描述0Block nesting error嵌套出错.嵌套的过程,段,结构,宏指令或重复块等非正常结束.例如在嵌套语句中有外层的结束语句,而无内层的结束语局1Extra characters on line一语句行有多余字符,可能是语句中给出的参数太多2Internal error-Register already defined这是一个内部错误.如出现该错误,请记下发生错误的条件,并使用Product Assistance Request 表与Microsoft公司联系3Unkown type specifer未知的类型说明符.例如类型字符拼错,把BYTE写成BIT,NEAR写成NAER等4Redefinition of symbol符号重定义.同一标识符在两个位置上定义.在汇编第一遍扫描时,在这个标识符的第二个定义位置上给出这个错误5Symbol is multidefined符号多重定义.同一标识符在两个位置上定义.在汇编第二遍扫描时,每当遇到这个标识符都给出这个错误6Phase error between passes两次扫描间的遍错.一个标号在二次扫描时得到不同的地址值,就会给出这种错误.若在启动MASM时使用/D任选项,产生第一遍扫描的列表文件,它可帮助你查找这种错误7Already had ELSE clause已有ELSE语句.在一个条件块里使用多于一个的ELSE语句8Must be in conditional block没有在条件块里.通常是有ENDIF或ELSE语句,而无IF 语句9Symbol not defined符号未定义,在程序中引用了未定义的标识符10Syntax error语法错误.不是汇编程序所能识别的一个语句11Type illegal in context指定非法类型.例如对一个过程指定BYTE类型,而不是NEAR或FAR12Group name must be unique组名应是唯一的.作为组名的符号作为其他符号使用13Must be declared during pass 1必须在第一遍扫描期间定义.在第一遍扫描期间,如一个符号在未定义前就引用,就会出现这种错误.14Illegal public declaration一个标识符被非法的指定为PUBLIC类型15Symbol already defferent kind重新定义一个符号为不同种类符号.例如一个段名重新被当作变量名定义使用16Reserved word used as symbol把汇编语言规定的保留字作标识符使用17Forward reference illegal非法的向前引用.在第一遍扫描期间,引用一个未定义符号.18Operand must be register操作数位置上应是寄存器,但出现了标识符19Wrong type of register使用寄存器出错20Operand must be segment or group应该给出一个段名或组名.例如ASSUME语句中应为某段寄存器和指定一个段名或组名,而不应是别的标号或变量名等21Symbol has no segment不知道标识符的段属性22Operand must be type specifier操作数应给出类型说明,如NEAR,FAR,BYTE等23Symbol alread defined locally以被指定为内部的标识符,企图在EXTRN语句中又定义外部标识24Segment paraneters are changed段参数被改变.如同一标识符定义在不同段内25Improper align/combin type段定义时的定位类型/组合类型使用出错26Reference to multidefined symbol指令引用了多重定义的标识符27Operand expected需要一个操作数,只有操作符28Operator expected需要一个操作符,但只有操作数29Divdsion by 0 or overflow除以0或溢出30Negative shift count运算符SHL或SHR的移位表达式值为负数31Operand type must match操作数类型不匹配.双操作数指令的两个操作数长度不一致,一个是字节,一个是字32Illegal use of external外部符号使用出错33Must be record field name应为记录字段名.在记录字段名位置上出现另外的符号34Must be record name or field name应为记录名或记录字段名.在记录名或记录字段名位置上出现另外的符号35Operand must be size应指明操作数的长度(如BYTE,WORD等).通常使用PTR运算即可改正36Must be variable,label,or constant应该是变量名,标号,或常数的位置上出现了其他信息37Must be stucture field name应该为结构字段名.在结构字段名位置上出现了另外的符号38Lefe operand must segment操作数的左边应该是段的信息.如设DA1,DA2均是变量名,下列语句就是错误的:"MOV AX,DA1:DA2".DA1位置上应使用某段寄存器名39One operand must constant操作数必须是常数.40Operand must be in same segment or one constant"—"运算符用错.例如"MOV AL,—VAR",其中VAR是变量名,应有一常数参加运算.又如两个不同段的变量名相减出错41Normal type operand expected要求给出一个正常的操作数.42Constant expected要求给出一个常数.43Operand must have segment运算符SEG用错.44Must be associated with data在必须与数据段有关的位置上出现了代码段有关的项45Must be associated with code在必须与代码段有关的位置上出现了数据段有关的项46Multiple base registers同时使用了多个基址寄存器.如"MOV AX ,"47Multiple index registers同时使用了多个变址寄存器.如"MOV AX ,"48Must be index or base register指令仅要求使用基址寄存器或变址寄存器,而不能使用其他寄存器.49Illegal use of register非法使用寄存器出错50Value is out of range数值太大,超过允许值.例如:"MOV AL ,100H"51Operand not in current CS ASSUME segment操作数不在当前代码段内.通常指转移指令的目标地址不在当前CS段内52Improper operand type操作数类型使用不当.例如:"MOV VAR1,VAR2".两个操作数均为存储器操作数,不能汇编出目标代码53Jump out of range by %ld byte条件转移指令跳转范围超过-128~ 127个字节.出错厂,信息同时给出超过的字节数54Index displacement must be constant变址寻址的位移量必须是常数55Illegal register value非法的寄存器值.目标代码中表达寄存器的值超过756Immediate mode illegal不允许使用立即数寻址.例如"MOV DS,CODE"其中CODE是段名,不能把段名作为立即数传送给段寄存器DS57Illegal size for operand使用操作数大小(字节数)出错.例如:使用双字的存储器操作数58Byte register illegal要求用字寄存器的指令使用了字节寄存器.如PUSH,POP指令的操作数寄存器必须是字寄存器59Illegal uer of CS register指令中错误使用了段寄存器CS.如:"MOV CS,AX"CS不能做目的操作数60Must be accumulator register要求用AX或AL的位置上使用可其他寄存器.如IN,OUT指令必须使用累加器AX或AL61Improper uer of segment register不允许使用段寄存器的位置上使用了段寄存器.如"SHLDS,1"62Missing or unreachable CS试图跳转去执行一个CS达不到的标号.通常是指缺少ASSUME语句中CS与代码段相关联63Operand combination illegal双操作数指令中两个操作数组合出错64Near JMP/CALL to different CS试图用NEAR属性的转移指令跳转到不在当前段的一个地址65Label cannot have segment override段前缀使用出错66Must have instuction agter prefix在重复前缀REP,REPE,REPNE后面必须有指令67Cannot override ES for destination串操作指令中目的操作数不能用其他段寄存器替代ES68Cannot address with srgment register指令中寻找一个操作数,但ASSUME语句中未指明哪个段寄存器与该操作数所在段有关联69Must be in segment block指令语句没有在段内70Cannot use EVEN or ALIGN with byte alignment在段定义伪指令的定位类型中选用BYTE,这时不能使用EVEN或ALIGN伪指令71Forward needs override or FAR转移指令的目标没有在源程序中说明为FAR属性,可用PTR指定72Illegal value for DUP count操作符DUP前的重复次数是非法的或未定义73Symbol id already external在模块内试图定义的符号,它已在外部符号伪指令中说明74DUP nesting too deep操作数DUP的嵌套太深75Illegak use of undefinde operand( )不定操作符" "使用不当.例如"DB 10H DUP( 2)"76Too many valer for struc or record initialization在定义结构变量或记录变量时,初始值太多77Angle brackets requored around initialized list定义结构体变量时,初始值未用尖括号()括起来78Directive illegal structure在结构体定义中的伪指令使用不当.结构定义中的伪指令语句仅二种:分号(;)开始的注释语句和用DB,DW等数据定义伪指令语句79Override with DUP illegal在结构变量初始值表中使用DUP操作符出错80Field cannot be overridden在定义结构变量语句中试图对一个不允许修改的字段设置初值81Override id of wrong type在定义结构变量语句中设置初值时类型出错82Circular chain of EQU aliases用等值语句定义的符号名,最后又返回指向它自己.如:A EQU BB EQU A83Cannot emulate cooprocessor opcode 仿真器不能支持的8087协处理器操作码84End of file,not END directive 源程序文件无END文件85Data emitted with no segment 语句数据没有在段内

下面四条常用术语的叙述中,有错误的一条是(  )

【答案】:B汇编语言是一种面向机器的低级程序设计语言,但是用汇编语言编写的源程序计算机不能直接执行,要编译成机器语言。故选B。

对于程序语言的叙述,下列哪一个选项错误

"不需透过编译程序翻译的语言为汇编语言" 这句是错的。汇编语言要通过编译程序翻译成机器码才能执行。另3个论述是正确的。高级语言贴近人类,低级语言贴近机器,机器语言最贴近机器,运行效率最高,最快。最早先有机器语言,再有汇编,最后才发明高级语言fortran, c, java 。。。

汇编语言相关问题

编程语言汇编语言3、在8086/8088CPU寄存器组中,数据寄存器主要是指( AX )、( BX )、( CX )、( DX )。4、假设(DS)=3000H,(SI)=0040H,(30054H)=4336H,则指令 SUB ,0136H 执行后,(30054H)=( 4200H )。5、结构化程序设计时,采用的基本结构有(顺序)、(分支)、(循环)。7、设机器的字长是16,-3的补码和-129的补码分别为(FFFDH、FF7FH)。8、8086/8088CPU对存储器地址采用分段管理方法,每段大小可达(64K)字节。9、下面(     )指令是错误的。A、CMP 15,BX10、DATA DW ‘1234’占用了(   )个字节。--这是非法指令11、汇编过程会把asm的汇编源程序汇编成( OBJ )格式的文件。12、已知SP=2110H,执行POP AX后,SP寄存器的值是( 2112H )。13、汇编程序的主要功能是什么?把用助记符写的汇编语言指令,转换成 CPU 能够识别的机器码。14、8086/8088CPU有哪些基本寻址方式?立即、直接、寄存器、寄存器间接、寄存器相对 基址加变址、基址加变址相对。15、8086/8088CPU主要有哪几类指令?不同教材有不同的说法。一般是:传送、算术运算、位操作(即逻辑运算)、串操作、控制转移、处理器控制。16、简述伪指令的作用。伪指令用于控制汇编程序,指示它如何进行汇编。17、汇编语言程序设计的一般步骤是什么?根据要求,确定算法;根据算法,编写程序;编译、连接、运行;排错,修改;最后,完成。18、简述循环程序的组成部分。已知循环次数:初始化次数计数器;循环体;次数减一,次数判断,不为零就跳转去再次执行循环体。--------已知结束条件:循环体;判断退出循环的条件,不满足就跳转去再次执行循环体。19、编写一个程序段实现通过端口21H采集一个8位数据,并且把该数据传送给端口1200H。IN    AL, 21HMOV   DX, 1200HOUT   DX, ALEND20、如(AX)=0012H,(BX)=0034H,试编写程序段把它们装配在一起形成(AX)=1234H。MOV  AH, ALMOV  AL, BLEND21、试编制一个程序把BX寄存器内的二进制数用十六进制数的形式在屏幕上显示出来。OUT_HEX  PROC    MOV   CX, 0404HB1: ROL   BX, CL    MOV   DL, BL    AND   DL, 0FH    CMP   DL, 0AH    JB    B2    ADD   DL, 07HB2: ADD   DL, 30H    MOV   AH, 2    INT   21H       ;显示到屏幕    DEC   CH    JNZ   B1        ;处理4次    RETOUT_HEX  ENDP

关于程序设计语言,以下描述中不正确的是()

关于程序设计语言,以下描述中不正确的是()。 A.高级语言并不是特指的某一种具体的语言,而是包括很多编程语言。 B.高级语言与计算机的硬件结构及指令系统密切相关。 C.汇编语言具体机器的指令系统密切相关。 D.汇编语言的实质和机器语言是相同的,只不过指令采用了英文缩写的标识符,更容易识别和记忆。 正确答案:C

关于汇编语言的描述中错误的是和以下关于程序设计语言叙述中,错误是( )的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。