22、数据段: BUF DB 15,?,15 DUP() 代码段: MOV AH,0AH MOV DX,OFFSET BUF INT 21H 若用户执行该程序段,从键盘输入字符串‘ABCDE’并回车后,BUF+1字节单元的内容是______H;BUF+2字节单元的内容是______H;BUF+7字节单元的内容是__________H。(注答案和答案之间用一个半角空格分开,英文字符全部大写,并且为半角字符。)

题目

22、数据段: BUF DB 15,?,15 DUP() 代码段: MOV AH,0AH MOV DX,OFFSET BUF INT 21H 若用户执行该程序段,从键盘输入字符串‘ABCDE’并回车后,BUF+1字节单元的内容是______H;BUF+2字节单元的内容是______H;BUF+7字节单元的内容是__________H。(注答案和答案之间用一个半角空格分开,英文字符全部大写,并且为半角字符。)


相似考题
更多“22、数据段: BUF DB 15,?,15 DUP() 代码段: MOV AH,0AH MOV DX,OFFSET BUF INT 21H 若用户执行该程序段,从键盘输入字符串‘ABCDE’并回车后,BUF+1字节单元的内容是______H;BUF+2字节单元的内容是______H;BUF+7字节单元的内容是__________H。(注答案和答案之间用一个半角空格分开,英文字符全部大写,并且为半角字符。)”相关问题
  • 第1题:

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

    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的偏移地址放到中,准备显示。

  • 第2题:

    根据下面的程序段,AL寄存器中的数据是( )。 BUF DW 2152H,3416H,5731H,4684H MOV BX,OFFSET BUF MOV AL,3 XLAT

    A.46H

    B.57H

    C.16H

    D.34H


    正确答案:D

  • 第3题:

    执行下面的程序段后,AL中的内容是( )。 BUF 0W 1234H, 5678H, 0001H MOV BX, OFFSET BUF MOV AL,2 XLAT

    A.12H

    B.34H

    C.56H

    D.78H


    正确答案:C

  • 第4题:

    现有汇编语言目标程序A和B,它们的数据段类别名相同,组合类型皆为COMMON。若A程序数据段中有字符串‘ABC’,B程序数据段中有字符串‘DEF’,则执行LINK A+B操作后,产生的目标程序数据段中0000H单元的内容是( )。

    A.A

    B.D

    C.41H

    D.44H


    正确答案:D

  • 第5题:

    执行下面的程序段后,102H单元中的数据是( )。 ORG 100H DAT DB 12H,13H,14H MOV BX,OFFSET DAT INC BYTE PTR[BX] INC BX DEC BYTE PTR [BX] HLT

    A.15H

    B.12H

    C.13H

    D.14H


    正确答案:D

  • 第6题:

    执行下面的程序段后,AL中的内容是______。 BUF DW 1234H,5678H,0001H MOV BX,OFFSETBUF MOV AL,2 XLAT

    A.12H

    B.34H

    C.56H

    D.78H


    正确答案:C

  • 第7题:

    有程序如下: BUF DB. 12H,23H,34H,45H,56H,67H,78H,89H,91H MOV SI,O MOV AL,[ BUF +SI] LP: INC SI CMP SI,9 JAE EXIT CMP AL,[BUF +SI] JLE NEXT()MOV AL,[BUF +SI] A22:JMP LP EXIT:INT 3 程序执行后AL=?该程序的功能是什么?


    正确答案: AL= 91H,该程序的功能是查找数据块中有符号数的最小值存入AL中。

  • 第8题:

    若NUM单元中的内容为23H,程序段如下:MOV AL, NUMOR AL, ALJZ ZERO:JS NUBYS;PLUS: MOV DL,‘+’;JMP EXITNUBYS: MOV DL.‘一’JMP EXITZERO: MOV DL.‘0’EXIT: MOV AH,2INT 21H......;说明程序执行后,屏幕上显示什么?


    正确答案: 显示‘+’

  • 第9题:

    已知下列程序:  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个字节单元中.

  • 第10题:

    单选题
    数据定义如下:BUF1 DB 10 BUF2 DW 20DUP(?) 实现将BUF1单元的内容与BUF2开始的条三个字节单元内容相比较的指令是()。
    A

    CMP BUF1,BYTE PTR BUF2+3

    B

    MOV AL,BUF1 CMP AL,BUF2+2

    C

    MOV AL,BUF1 CMP AL,BYTE PTR BUF2+2

    D

    MOV AL,BUF1 CMP AL,BUF2+3


    正确答案: A
    解析: 暂无解析

  • 第11题:

    单选题
    以BUF为起始地址的字节单元中建立一个输入缓冲区,在DOS功能子程序的调用中,执行0AH号功能后,用户从键盘输入的字符是从()个字节开始存放。
    A

    第一

    B

    第二

    C

    第三

    D

    第四


    正确答案: C
    解析: 暂无解析

  • 第12题:

    问答题
    已知下列程序:  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个字节单元中.
    解析: 暂无解析

  • 第13题:

    执行下面的程序段后,AL中的内容是( )。 BUF DW 1221H,5665H,0001H MOV BX,OPFSET BUF MOV AL,2 XLAT

    A.12H

    B.21H

    C.56H

    D.65H


    正确答案:D

  • 第14题:

    执行下面的程序段 ORG 100H DAT DB 12H,13H,14H MOV BX,OFFSET DAT INC BYTE PTR[BX] INC BX DEC BYTE FFR [BX] HLT 之后,102H单元中的数据是( )

    A.15H

    B.12H

    C.13H

    D.14H


    正确答案:D
    解析:ORG伪指令的作用是为下一条指令或数据定义指定一个特定的偏移地址。那么,DAT的偏移地址是从IOOH开始的,BX=100H,INCBYTEPTR[BX]是把偏移地址=BX=IOOH的内容加1,EDC是减1。指令执行完后,DAT的内容变为13H,12H,14H1。而102H的内容仍为14H。

  • 第15题:

    请编制程序,其功能是;内存中共有30个字节型数据,找出其中的两个ASCII字符串并进行校验。欲寻找的ASCII字符串由13个字符组成:(23H),7个ASCII字符,*(2AH),2个ASCII字符,回车符(0DH),换行符(0AH)。

    校验方法为:对字符及字符,之间的7个ASCII字符进行异或操作,若异或操作结果的ASCII字符表示(异或操作结果高4位的ASCII字符表示在前,低4位的ASCII字符表示在后)与原字符串中字符,之后的两个ASCII字符相同,则将原字符串原样保存:反之,则将原字符串中的所有字符(共13个)均用字符!(21H)代替。

    例如:

    内存中有:33H,35H,23H('',第一个字符串开始),46H,41H,30H,2EH,34H,3DH,31H,2AH(''),32H,

    31H,ODH,OAH,46H,23H('',第二个字符串开始),46H,41H,30H,2EH,34H,46H,41H,

    30H,46H,41H,30H,2EH,34H,3DH,30H,2AH('*'),32H,31H,ODH,OAH,55H

    结果为:23H,46H,41H,30H,2EH,34H,3DH,31H,2AH('*'),32H,31H(校验正确,该字符串原样保持),

    ODH,OAH,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H,21H(校验错,整个字符串用字符“!”代替)

    部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。

    请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。

    对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

    【试题程序】

    EXTRN LOAD:FAR, SAVE:FAR

    N EQU 26

    STAC SEGMENT STACK

    DB 128 DUP (?)

    STAC ENDS

    DATA SEGMENT

    SOURCE DB N+4 DUP(?)

    RESULT DB N DUP(0)

    HH DB 2 DUP(0)

    NAME0 DB 'INPUT.DAT',0

    NAME1 DB 'OUTPUT.DAT',0

    DATA ENDS

    CODE SEGMENT

    ASSUME CS:CODE, DS:DATA, SS:STAC

    START PROC FAR

    PUSH DS

    XOR AX,AX

    PUSH AX

    MOV AX,DATA

    MOV DS,AX

    LEA DX, SOURCE ; 数据区起始地址

    LEA SI,NAME0 ; 原始数据文件名

    MOV CX, N+4 ; 字节数

    CALL LOAD ; 从'INPUT. DAT' 中读取数据

    ;******** BEGIN ********

    MOV SI,0

    MOV DI,0

    MOV BX,2 ; 两个ASCII 字符串

    REPEAT: MOV AH,0

    SEARCH: MOV AL,SOURCE[SI]

    INC SI

    CMP AL,''

    (1) SEARCH

    MOV RESULT[DI],AL

    INC DI

    SEARCH1: MOV AL,SOURCE[SI]

    INC SI

    CMP AL, (2)

    JE ASCII

    &nb


    正确答案:(1)JNZ (2)'*' (3)SEARCH1 (4)JNZ (5)13 (6)DEC BX
    (1)JNZ (2)'*' (3)SEARCH1 (4)JNZ (5)13 (6)DEC BX 解析:本题是一道字符转换题,解决此类题型的关键是确定转换范围和条件。其中转换范围在题目中已给出为30个字符,同时还给出了需要查找的两个字符串。
    接下来,首先计算指定范围内字符串中字符的异或操作结果,并将结果转换为对应的十六进制ASCII码字符,然后再与字符串结束符后面的两个字符进行比较,若相同,则直接将原来的字符串存入结果数据区,反之则将字符串中全部的字符替换为一个固定字符,存入结果数据区中。
    此题目中涉及到的逻辑判断比较多,如果有一个地方出现错误,就很容易造成整个题目计算结果的错误,因此需要非常的认真和仔细。

  • 第16题:

    请编制程序PROC1.ASM,其功能是:内存中有一个ASCII字符串(从S0URCE开始存放),试将其中所有连续的回车与换行符(0DH,0AH)置换成单个回车符(0DH)。字符串以00H结尾,长度(包括00H)不超过100个字节。

    例如:字符串41H,42H,0DH,0AH,43H,00H

    转换为41H,42H,0DH,43H,00H

    部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUT- PUT1.DAT中。请编写BECIN到END之间的代码。对程序必须进行汇编,并与IO.OBJ连接产生PROC1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。

    部分源程序如下:

    EXTRN LOAD:FAR,SAVE:FAR

    N EQU 100

    STAC SEGMENT STACK

    DB 128 DUP (?)

    STAC ENDS

    DATA SEGMENT

    SOURCE DB N DUP (0)

    RESULT DB N DUP (0)

    NAME0 DB 'INPUT1. DAT', 0

    NAME1 DB 'OUTPUT1. DAT', 0

    DATA ENDS

    CODE SEGMENT

    ASSUME CS:CODE, DS:DATA, SS:STAC

    START PROC FAR

    PUSH DS

    XOR AX, AX

    PUSH AX

    MOV AX, DATA

    MOV DS, AX

    LEA DX, SOURCE ; 数据区起始地址

    LEA SI, NAME0 ; 原始数据文件名

    MOV CX,N ; 字节数

    CALL LOAD ; 从"INPUT1.DAT"中读取数据

    **** BEGIN ****

    ***** END *****

    LEA DX, RFSULT ; 结果数据区首址

    LEA SI, NAME1 ; 结果文件名

    MOV CX,N ; 结果字节数

    CALL SAVE

    RET

    START ENDP

    CODE ENDS

    END START

    编程思路:

    第一步:分析程序要求的功能。

    本程序需要完成以下功能。

    (1)据文件INPUT1.DAT中读取100个ASCII码存放在SOURCE开始的内存单元中。

    (2)将SOURCE开始的100个字单元中的ASCII码,将0DH后的0AH删除,并将结果存放在RFSULT开始的内存单元中。

    (3)将结果存放在OUTPUT1.DAT中。

    第二步:用相应的汇编程序来实现其功能。

    (1) 数据的读取和存入文件部分的实现,题目中已经给出。

    (2) 如果是将数据在原地进行处理,那么每删除一个数据就要将其后面的所有数据向前移动一个位置,如果直接将扫描处理完毕的数据复制到结果地址中,将会节省移动数据的开销;

    因为要删除0DH后面的0AH,所以,在扫描数组的过程中除了要了解当前数据元素的内容还要了解前一个数据的内容。解决方法可使用标志单元记录前一个数据是否为 0DH,然后当前数据元素根据标志单元的内容决定当前元素是否复制到结果中;也可在扫描数组的过程中,如果碰到一个0DH,则进入不同的程序段,这个程序段决定是否将当前数据元素复制到结果中。我们的参考答案采用了后一种方法。


    正确答案:LEA SISOURCE LEA DIRESULT LO MOV AL[SI] CMP AL0 JZ QUIT ;如果当前字符为0则结束 MOV [DI]AL ;不为0则复制到目的地址 INC SI INC DI CMP AL0DH ;当前字符若为ODH则进入L1状态 JE L1 JMP LO L1:MOV AH[SI] ;在前一个字符为ODH的情况下判断当前字符是符为OAH若为OAH则不将OAH复制到目的地址 CMP AH0AH JEN LO INC SI JMP LO ;重复处理下一个字符 QUIT
    LEA SI,SOURCE LEA DI,RESULT LO MOV AL,[SI] CMP AL,0 JZ QUIT ;如果当前字符为0,则结束 MOV [DI],AL ;不为0则复制到目的地址 INC SI INC DI CMP AL,0DH ;当前字符若为ODH,则进入L1状态 JE L1 JMP LO L1:MOV AH,[SI] ;在前一个字符为ODH的情况下,判断当前字符是符为OAH,若为OAH则不将OAH复制到目的地址 CMP AH,0AH JEN LO INC SI JMP LO ;重复处理下一个字符 QUIT

  • 第17题:

    执行下面的程序段后,AL 中的内容是( )。 BUF DW 2152H,3416H,5731H,4684H MOV BX,OFFSET BUF MOV AL,3 XLAT

    A.46H

    B.57H

    C.16H

    D.34H


    正确答案:D

  • 第18题:

    执行下面的程序段后,AX寄存器中的内容是______。 ARRAY DW 10 DUP(2) XOR AX, AX MOV CX,0AH MOV SI,12H NEXT: ADD AX,ARRAY [SI] SUB S1,2H Loop NEXT

    A.20

    B.30

    C.32

    D.40


    正确答案:A
    解析:这段程序的功能是把ARRAY中的数叠加,由此可知结果为20。

  • 第19题:

    设8251的数据口地址为200H,控制口地址为201H,已完成初始化。要求用查询的方式接收8251串行口字符数据,并把该字符显示出来。试填空完善该程序段。 LOOP:MOV DX,() IN AL.DX TEXT AL.02 JZ LOOP MOV DX,() IN AL, () MOV DL,() MOV AH,() INT 21H JMP LOOP


    正确答案:201H;200H;DX;AL;02

  • 第20题:

    请阅读下列程序,分析其功能。MESS DB‘PRESS ANY KEY’,0DH,0AH,‘$’MOV AH,09MOV DX,SEG MESSMOV DS,DXMOV DX,OFFSETMESSINT 21H


    正确答案: 使用9号系统功能调用将字符串PRESS ANY KEY从屏幕上显示输出(或打印机打印输出)。

  • 第21题:

    数据定义如下:BUF1 DB 10 BUF2 DW 20DUP(?) 实现将BUF1单元的内容与BUF2开始的条三个字节单元内容相比较的指令是()。

    • A、CMP BUF1,BYTE PTR BUF2+3
    • B、MOV AL,BUF1 CMP AL,BUF2+2
    • C、MOV AL,BUF1 CMP AL,BYTE PTR BUF2+2
    • D、MOV AL,BUF1 CMP AL,BUF2+3

    正确答案:D

  • 第22题:

    单选题
    利用DOS功能调用,实现键盘字符输入的程序段为MOV AH,1 INT 21H 如果键人字符B,则AL中的值是()
    A

    OBH

    B

    42H

    C

    62H

    D

    A8H


    正确答案: D
    解析: 暂无解析

  • 第23题:

    问答题
    若NUM单元中的内容为23H,程序段如下:MOV AL, NUMOR AL, ALJZ ZERO:JS NUBYS;PLUS: MOV DL,‘+’;JMP EXITNUBYS: MOV DL.‘一’JMP EXITZERO: MOV DL.‘0’EXIT: MOV AH,2INT 21H......;说明程序执行后,屏幕上显示什么?

    正确答案: 显示‘+’
    解析: 暂无解析

  • 第24题:

    填空题
    设8251的数据口地址为200H,控制口地址为201H,已完成初始化。要求用查询的方式接收8251串行口字符数据,并把该字符显示出来。试填空完善该程序段。 LOOP:MOV DX,() IN AL.DX TEXT AL.02 JZ LOOP MOV DX,() IN AL, () MOV DL,() MOV AH,() INT 21H JMP LOOP

    正确答案: 201H,200H,DX,AL,02
    解析: 暂无解析