工学

单选题指出下列错误的指令()A symsab;B symsa,b;C syms(‘a’,’b’);D syms(‘a’,’b’,’positive’);

题目
单选题
指出下列错误的指令()
A

symsab;

B

symsa,b;

C

syms(‘a’,’b’);

D

syms(‘a’,’b’,’positive’);

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

指出下列指令的错误(1)MOV.AH,BX(2)ADD.15H,BX(3)MOV.CS,AX(4)MOV.AX,[SI][DI](5)MOV.BYTEPTR[BX],1000


正确答案: (1)MOV . AH,BX (1)类型不匹配
(2)ADD . 15H,BX ( 2)立即数不能作目的操作数
(3)MOV . CS,AX (3)CS不能作目的操作数
(4)MOV . AX,[SI][DI] (4)SI和DI不能一起使用
(5)MOV . BYTE PTR[BX],1000 (5)类型不匹配

第2题:

指出下列指令是否正确,若不正确说明原因:CMP [BX], [SI]


正确答案:错,比较指令的两个操作数不能同时为存储器操作数

第3题:

下列MOV指令都是错误的,请指出错误原因。

(1)MOV ES, 1234H

(2)MOV AL, 300

(3)MOV [SP], AX

(4)MOV AX, BX+DI

(5)MOV 20H, AH


正确答案:(1)立即数不能直接赋给段寄存器。 (2)立即数300超过8位不能赋给8位寄存器AL。 (3)SP不能作为间接寻址寄存器寻址。 (4)两个寄存器不能相加。 (5)立即数不能作为目标操作数。
(1)立即数不能直接赋给段寄存器。 (2)立即数300超过8位,不能赋给8位寄存器AL。 (3)SP不能作为间接寻址寄存器寻址。 (4)两个寄存器不能相加。 (5)立即数不能作为目标操作数。 解析:本问题主要考查汇编语言的基础知识。在8086的指令系统中,应用通用传送指令时,需要注意以下几点:
传送指令可传送8位数据,也可传送16位数据,具体取决于指令中涉及的寄存器是8位还是16位,也取决于立即数的形式。
传送指令中总是即含源操作数,又含目的操作数,两者之中至少有一个是用寄存器来指出的,这可减少指令长度。因此,一个立即数不能直接送直接寻址的内存单元。交换指令(XCHG)两个操作数都不能是立即数。
传送指令不能在两个内存单元之间直接传送数据。
在传送指令中,寄存器即可以作为源操作数,也可以作为目的操作数,但CS寄存器不能作为目的操作数,换句话说,这个寄存器的值不能随意修改。而IP寄存器即不能作源操作数,也不能作为目的操作数。
用BX、SI、DI来间接寻址时,默认的段寄存器位DS,而用BP来间接寻址时,默认的段寄存器为SS。
8086系统规定,凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行后,又自动恢复对SS寄存器赋值前的中断开放状态。这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。了解这点后,就应注意在修改SS和SP的指令之间不要插入其他指令。
除了一些直接影响FLAGS的指令外,一般传送指令不改变标志寄存器的内容。
立即数不能直接送段寄存器DS、ES以及SS,要用通用寄存器或存储单元作桥梁。
因此,指令“MOVES,1234H”的错误在于立即数直接赋给了段寄存器;指令“MOV AL,300”的错误在于立即数300超过8位,不能赋给8位寄存器AL;指令“MOV[SP],AX”的错误在于SP不能作为间接寻址寄存器寻址:指令“MOV AX,BX+DI”的错误在于两个寄存器不能相加;指令“MOV 20H,AH”的错误在于立即数不能作为目标操作数。

第4题:

指出下列指令是否正确,若不正确说明原因:MOV DS, 2010H


正确答案: 错,立即数不能传送到DS

第5题:

指出下列指令是否正确,若不正确说明原因:ADD [BP+DI]


正确答案: 错,加法指令ADD,缺少源操作数

第6题:

指出下列指令的错误:MOV MYDAT[BX][SI],ES:AX


正确答案:ES后应为一个变址寄存器,表示偏移量

第7题:

试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。 NOT CX,AX


正确答案: NOT指令只有一个操作数

第8题:

试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。 SHR [BX][DI],3


正确答案: 移位数大于1时,应用CL

第9题:

试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。 PUSH 45[DI]


正确答案: 45改为45H

第10题:

指出下列指令的错误: MOV BX,OFFSETMYDAT[SI]


正确答案: OFFSET为取某个地址的偏移量,故后面不应用[SI],而应是一个符号地址。