阅读下列程序段,注释指令中计算符LENGTA的取值.  DATA     SEGMENT  A        DW     10 DUP(?), 1234H,  20 DUP(?)  B        DB    ‘ABCDEF’,6 DUP(?)  C        DW     10, 20 DPU(?)  D        DW     5 DUP(3 DUP(2),5)  DATA     ENDS                ┆  ①       MOV     AX, LENGTH  A 

题目

阅读下列程序段,注释指令中计算符LENGTA的取值.  DATA     SEGMENT  A        DW     10 DUP(?), 1234H,  20 DUP(?)  B        DB    ‘ABCDEF’,6 DUP(?)  C        DW     10, 20 DPU(?)  D        DW     5 DUP(3 DUP(2),5)  DATA     ENDS                ┆  ①       MOV     AX, LENGTH  A  ②       MOV     BX ,LENGTH  B  ③       MOV     CX ,LENGTH  C  ④       MOV    DX ,LENGTH  D

参考答案和解析
正确答案: ①10→AX;
②1→BX;
③1→CX;
④5→ DX.
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

执行下面的程序段 SSEG SEGMENT DW 128 DUP(0) TOP LABKL WORD SSEG ENDS ... MOV AX, SSEG MOV SS, AX LEA SP, TOP 堆栈指针SP寄存器的内容应该是

A.80H

B.81H

C.100H

D.102H


正确答案:C
解析:该题考查考生对汇编指令的理解.语句“DW 128DUP(0)”定义了128个双字节的存储空间,每个双字节的存储空间初始化为0,整个存储空间大小为128×2=256字节,语句“TOP  LABEL  WORD”定义单字节变量 TOP,语句“LEA SR TOP”表示取TOP的有效偏移地址,其偏移地址应该是128字节处,十六进制表示为100H,所以应该选择C。

第2题:

下面的程序用来从键盘重复接收一字符送BUFF开始的单元,直到接收到行结束

标志ODH。在程序中填空,保证其正确运行。

1 DATA SEGMENT

2 BUFF DW 128 DUP(0)

3 DATA ENDS

4 CODE SGEMENT

5 ASSUME CS:CODE,DS:DATA

6 BEGIN: MOV AX, DATA

7 MOV DS, AX

8 LEA SI, BUFF

9 GCH: MOV AH, 01H

10 INT 21H

11 MOV [SI], AL

12 INC SI

13 __________

14 JNE GCH

15 MOV AH, 4CH

16 INT 21H

17 CODE ENDS

18 END BEGIN


正确答案:CMP ALODH
CMP AL,ODH 解析:由题意可知,跳出循环的标志为0DH,应在循环段中加一个比较指令,判断结束条件,即在空处用指令CMP AL,0DH。

第3题:

执行下面的程序段后,(AX)=______。

ARRAY DW 10 DUP(2)

XOP AX,AX

MOV CX,LENGTH ARRAY

MOV SI,SCE ARRAY-TYPE ARRAY

NEXT: ADD AX,ARRAY[SI]

SUB SI,TYPE ARRAY

LOOP NEXT


正确答案:20
20

第4题:

执行下列指令后: STR1 DW ‘AB’ STR2 DB 16 DUP(?) CNT EQU $ -STR1 MOV CX,CNT (CL)= ( )

A.10H

B.12H

C.OEH

D.0FH


正确答案:B
解析:由于STR1为2字节,STR2为16字节,故CX=CNT=$-STR1=2+16=180

第5题:

根据下面的程序段,AL寄存器中的数据是( )。 NUM DW ? NAME DW 10DUP(?) CNT EQU 10 LEN EQU $—NUM MOV AL,LEN

A.16H

B.17H

C.11H

D.12H


正确答案:A

第6题:

根据下面的程序段,AL寄存器中的数据是( )。 NUM DW ? NAME DW 10 DUP(?) CNT EQU 10 LEN EQU $-NUM MOV AL,LEN

A.16H

B.17H

C.11H

D.12H


正确答案:A

第7题:

执行下列程序后,(CX)=( )。 DATA SEGMENT A DW 1, 2, 3, 4, 5 B DW 5 DATA SEGMENT CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX LEA BX, A ADD BX, B MOV CX, [BX] MOV AH, 4CH INT 21H CODE ENDS END START

A.400

B.0

C.10

D.100


正确答案:A
解析:当执行指令“LEABX,A”时,将A相对数据段首地址的偏移量0送入BX寄存器,执行指令“ADDBX,B”后,(BX)=5。再执行指令“MOVCX,[BX]”时,由于源操作数是寄存器间接寻址方式且该指令为字传送指令,因此应将相对数据段首地址、偏移地址为0005的内容0400送入CX寄存2S。所以上述程序执行完后,(CX)=400。

第8题:

执行下面的程序后,AX寄存器中的数据是( )。 BUT DW 10DUP(2) XOR AX, AX MOV CX, LENGTH MOV SI,SIZE BUF—TYPEBUF NEXT: ADD AX,BUF [SI] SUB SI,TYPE BUF LOOP

A.20

B.30

C.32

D.40


正确答案:A

第9题:

执行下面的程序段后,AX中的内容是( )。 NUM DW? NAME DB 10 DUP(?) CNT EQU 10 LEN EQU $—NUM MOV AX,LEN

A.16H

B.17H

C.11H

D.12H


正确答案:D
解析:LENEQU$—NUM其实就是当前行到开始处的相对距离。NUM占2个字节,NAME占10个字节。

第10题:

执行下列指令后,(CL)=______。 STR1 DW 'AB' STR2 DB 16DUP(?) CNT EQU $-STR1 MOV CX,CNT MOV AX,STR1 HLT

A.10H

B.0EH

C.12H

D.0FH


正确答案:C

更多相关问题