微型计算机系统与接口

已知下列程序:  D1     DB    10  DUP(?)  D2     DB    30H,31H,32H,33H,34H,35H,36H,37H,38H,39H                    ┇  MOV    CX,LENGTH    D1  MOV    SI,SIZE    D1—TPYE D1  LP:MOV    AL,D2[SI]  MOV    D1[SI],AL  SUB     SI,TYPE D1  DEC     CX  JNZ      LP  HLT  问:

题目

已知下列程序:  D1     DB    10  DUP(?)  D2     DB    30H,31H,32H,33H,34H,35H,36H,37H,38H,39H                    ┇  MOV    CX,LENGTH    D1  MOV    SI,SIZE    D1—TPYE D1  LP:MOV    AL,D2[SI]  MOV    D1[SI],AL  SUB     SI,TYPE D1  DEC     CX  JNZ      LP  HLT  问: (1)该程序执行后,D1单元开始的10个字节内容是什么?  (2)该程序完成的功能是什么?

参考答案和解析
正确答案: (1)该程序执行后,D1开始的10个字节内容为:0~9的ASCII码.即30H,31H,32H,33H,34H,35H,36H,37H,38H,39H.
(2)功能是将从变量D2单元开始存放的10个字节数据传送到从D1单元开始的10个字节单元中.
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序段的作用是【 】。

STR1 DB 300DUP (?)

STR2 DB 100DUP (?)

MOV CX,100

MOV BX,200

MOV S1,0

NEXT: MOV AL,STR1[BX][S1]

MOV STR2[D1],AL

INC SI

INC DI

LOOP NEXT


正确答案:将STR1的后100个数据传送到STR2中
将STR1的后100个数据传送到STR2中

第2题:

执行下面的程序后,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

第3题:

根据下面的汇编语言源程序,其运行结果是在屏幕上显示 。 DSEG SEGMENT DAT DB 0FFH N EQU 3 BUF DB 3 DUP(‘?’) DB ‘$’ DSEG ENDS SSEG SEGMENT STACK DB 256 DUP(0) SSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,SS:SSEG,CS:CSEG START: MOV AX,DSEG MOV DS,AX MOV BX,OFFSET BUF MOV SI,N MOV AL,DAT MOV AH,0 MOV CX,10 NEXT: XOR DX,DX DIV CX ADD DL,30H ;形成ASCII码 DEC SI MOV [BX+SI],DL OR SI,SI JNE NEXT LEA DX,BUF MOV AH,9 INT 21H MOV AH,4CH INT 21H CSEG ENDS END START


正确答案:

 255

第4题:

DSEG SEGMENT

BUF DB 1,5,4,0,7,9,2,6

L EQU O0111001B 用作逻辑尺

RESULT DB 10 DUP(?)

DSEG ENDS

SSEG SEGMENT STACK

DB 256 DUP(0)

SSEG ENDS

CSEG SEGMENT

ASSUME DS:DSEG; SS:SSECG, CS:CSEG

START PROC FAR

PUSH DS

XOR AX, AX

PUSH AX

MOV AX, DSEG

MOV DS, AX

MOV SI, 0

MOV CX, 8

MOV DL, L

GOON: SHR DL, 1

JC FILL

MOV AL, BUF[SI]

JMP NEXT

FILL: MOV AL, OFFH

NEXT: MOV RESULT[SI], AL

INC SI

LOOP GOON

RET

START ENDP

CSEG ENDS

END START

在保持以上程序功能不变的前提下,INCSI指令可以用【 】指令替换。


正确答案:ADDSI1
ADDSI,1 解析:在保持程序功能不变的前题下,INCSI指令的功能为使SI寄存器的值加1,所以可以用ADDSI,1指令替换。

第5题:

下面的程序段 DAT DB 1,2,3,4 MOV AL,0 MOV CX,4 MOV SI,3 LP: ADD AL,DAT [SI] DEC SI LOOPE LP HLT 执行结束后,AL和CX寄存器中的内容分别是

A.4和3

B.7和2

C.9和1

D.10和0


正确答案:A
解析:该题考查考生对汇编指令的理解。LOOPE循环指令只有在ZF=1且CX> 0时,才进行循环,本题中当执行到LOOPE指令时,ZF=0而且CX=3,不满足循环条件,所以退出循环,此时AL和CX的值分别是4和3,所以应该选择A。

第6题:

以下程序段的作用是将STR1的后【 】个数据传送到STR2中。

STR1 DB 300 DUP(?)

STR2 DB 100 DUP(?)

MOV CX,100

MOV BX,200

MOV SL,0

MOV DI,0

NEXT:MOV AL,STRl1[BX][SI]

MOV STR2[DI],AL

INC SI

INC DI

LOOP NEXT


正确答案:100
100

第7题:

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

A.20

B.30

C.32

D.40


正确答案:A

第8题:

以下程序段的作用是将STR1的后______个数据传送到STR2中。

STRl DB 300 DUP(?)

STR2 DB 100 DUP(?)

MOV CX,100

MOV BX,200

MOV SL,0

MOV DI,0

NEXT: MOV AL,STRl[BX][SI]

MOV STR2[DI],AL

INC SI

INC DI

LOOP NEXT


正确答案:100
100

第9题:

完成41H送[2100H]、42H送[2101H]的正确程序是( )。

A.MOV AL,41H MOV [2100H], AL INC AL MOV [2100H],AL

B.MOV SI, 2100H MOV [SI], ‘A’ INC SI MOV [SI], ‘B’

C.MOV AX,4241H MOV AX,AX

D.MOV AX, ‘AB’ MOV [2100H],AX


正确答案:B

第10题:

下面的程序段DAT DB 1, 2, 3, 4 MOV AL, 0 MOV CX, 4 MOV SI, 3LP: ADD AL, DAT [SI] DEC SI LOOPE LP HTL 执行结束后,AL和CX寄存器中的内容分别是

A.4和3

B.7和2

C.9和1

D.10和0


正确答案:A
解析:该题考查考生对汇编指令的理解。LOOPE循环指令只有在ZF=1且CX>0时,才进行循环,本题中当执行到LOOPE指令时,ZF=0而且CX=3,不满足循环条件,所以退出循环,此时AL和CX的值分别是4和3,所以应该选择A。

更多相关问题