阅读下面的程序,回答问题 DATA SEGMENT BUF DB '1234' N=$-BUF BCD DB N DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,N LEA DI,BCD+N-1 LOOP1:MOV AL,[SI] SUB AL,30H MOV [DI],AL INC SI DEC DI DEC CX J

题目

阅读下面的程序,回答问题 DATA SEGMENT BUF DB '1234' N=$-BUF BCD DB N DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,N LEA DI,BCD+N-1 LOOP1:MOV AL,[SI] SUB AL,30H MOV [DI],AL INC SI DEC DI DEC CX JNE LOOP1 MOV AH,4CH INT 21H CODE ENDS END START 说明程序功能,程序执行后,从BCD开始的N个字节单元中的内容是什么?

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

第1题:

下面程序的功能是利用逻辑尺对BUF变量中的数据进行变换,执行该程序后,以RESULT为首地址的前两个字节单元中的数据依次为【 】。

DSEG SEGMENT

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

L EQU 00111001B ;用做逻辑尺

RESULT DB 10 DUP(?)

DSEG ENDS

SSEG SEGMENT STACK

DB 256 DUP(0)

SSEG ENDS

CSEG SEGMENT

ASSUME DS:DSEG,SS:SSEG,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


正确答案:FFH05H或OFFH05H
FFH,05H或OFFH,05H 解析:这段程序的功能是利用逻辑尺来处理BUF为首地址的存储单元中存放的数据,并把结果按照顺序放在RESULT的存储单元中,则RESULT中存放的数据依次应该是FFH, 05H,04H,FFH,FFH,02H,06H。所以前两个字节单元中的数据依次为FFH,05H。

第2题:

下列指令中,正确的是()

A.MOV [DI], [SI]

B.MOV DS, SS

C.MOV AL, [EAX+EBX*2]

D.OUT BX, AX


正确答案:C

第3题:

下面的汇编语言源程序经汇编后,发现TEST [BX], 01H指令有语法错误,试问该指令的正确形式应该是 。 DSEG SEGMENT DAT DB 5,13,4,-2,6,23,44,-1,29,-3 CNT DW $-DAT DSEG ENDS SSEG SEGMENT STACK DB 256 DUP(0) SSEG ENDS CSEG SEGMENT ASSUME DS:DSEG,SS:SSEG,CS:CSEG START PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DSEG MOV DS,AX XOR AX,AX MOV BX,OFFSET DAT MOV CX,CNT LP: TEST [BX],01H JZ NEXT INC AH ADD AL,[BX] NEXT: INC BX LOOP LP SET START ENDP CSEG ENDS END START


正确答案:

 TEST BYTE PTR [BX],01H 或 TEST DAT[BX],01H 

第4题:

执行下列程序后,(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。

第5题:

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

第6题:

完成下面的程序段,使程序显示中的字符串。

DATA SEGMENT

BUE DB ‘HOW DO YOU DO?’,ODH,OAH,’$‘

DATA ENDS

CODE SEGMENT

MOV AX,DATA

MOV DS,AX

MOV DX【 】

MOV AH, 9

INT 21H

CODE ENDS


正确答案:OFFSET BUF
OFFSET BUF 解析:把BUF的偏移地址放到中,准备显示。

第7题:

阅读下述程序,指出宏指令ABC的功能是______。

1 ABC MACRO X1,X2,X3

2 LOCAL CONT

3 PUSH AX

4 MOV AX, X1

5 SUB AX, X2

6 CMP AX, 0

7 JGE CONT

8 NEG AX

9 CONT: MOV X3, AX

10 POP AX

11 ENDM

12 DATA SEGMENT

13 X DW 32

14 Y DW 98

15 Z DW ?

16 DATA ENDS

17 CODE SEGMENT

18 ASSUME CS:CODE,DS:DTAT

19 BEGIN: MOV AX, DATA

20 MOV DS,AX

21 ABC X,Y,Z

22 MOV AH, 4CH

23 INT 21H

24 CODE ENDS

25 END BEGIN


正确答案:第一个参数减第二个参数差的绝对值送第三个参数
第一个参数减第二个参数,差的绝对值送第三个参数

第8题:

根据下面的汇编语言源程序,其运行结果是在屏幕上显示 。 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

第9题:

下面的程序用来从键盘重复接收一字符送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。

第10题:

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指令替换。

更多相关问题