用DEBUG调试如下程序段: MOV SI,O MOV AL,1000[ SI] LP:INC SI CMP SI,08H JAE A11 CMP.AL,1000[SI] JGE A22 MOV AL,1000[SI] A22:JMP LP A11:INT 3 DS:1000H DB 34H,47H,78H,77H DB 88H,99H,OAAH,OFFH 则程序执行后,AL=()该程序的功能是:()

题目

用DEBUG调试如下程序段: MOV SI,O MOV AL,1000[ SI] LP:INC SI CMP SI,08H JAE A11 CMP.AL,1000[SI] JGE A22 MOV AL,1000[SI] A22:JMP LP A11:INT 3 DS:1000H DB 34H,47H,78H,77H DB 88H,99H,OAAH,OFFH 则程序执行后,AL=()该程序的功能是:()


相似考题
参考答案和解析
正确答案:78H;求有符号数的最大值
更多“用DEBUG调试如下程序段: MOV SI,O MOV AL,1000[ SI] LP:INC SI CMP SI,08H JAE A11 CMP.AL,1000[SI] JGE A22 MOV AL,1000[SI] A22:JMP LP A11:INT 3 DS:1000H DB 34H,47H,78H,77H DB 88H,99H,OAAH,OFFH 则程序执行后,AL=()该程序的功能是:()”相关问题
  • 第1题:

    对于以下程序段:AGAIN: MOV AL,[SI] MVO ES:[DI],AL INC SI INC DI LOOP AGAIN

    也可以用下列指令( )完成同样的功能。

    A.REP MVOSB

    B.REP LODSB

    C.REP STOSB

    D.REPE SCASB


    正确答案:A

  • 第2题:

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

  • 第3题:

    对于下列程序段: AGAIN:MOV AL,[SI] MOV ES: [DI],AL INC SI INC DI LOOP AGAIN 也可用指令______完成同样的功能。

    A.REP MOVSB

    B.REPE SCASB

    C.REP STOSB

    D.REP LODSB


    正确答案:A
    解析:该段程序的功能是将以DS:DI指向下一字符串送到ES:DI指向的内存区,和REPMOVSB功能相同。

  • 第4题:

    有程序如下: ORG 2800H BUF DB 67,4,57,34,89,123 START:MOV SI, 04 MOV BX, OFFSET BUF MOV AL, [BX+ SI] CALL SUB1 INT 3 SUB1: PUSHF MOV AH, OOH MOV BL, OAH DIV BL POPF RET该程序运行后,AH= ()AL=()


    正确答案:09H;08H

  • 第5题:

    阅读下列程序,指出运行结果 MOV SI,2500H MOV AX,1000H MOV DS,AX MOV CL,05H NEXT:MOV[ SI] ,AL INC AL INC SI DEC CL JNZ NEX TINT 3 程序运行后结果为:DS=()H SI=()HAX=()H CL=()H


    正确答案:1000;2505;1005;O

  • 第6题:

    判断下列指令是否正确。若不正确,指出错误原因。 (1)MOV SI, DL (2)MOV ES, 1000H (3)LEA AX, 3006H (4)MOV [BP][DI], 0 (5)MOV [SI], [DI] (6)MOV [DI],[BX] (7)MOV [DX+SI],AL (8)MUL AL , 58H (9)MOV DS,SEG DAT (10)MOV WORD PTR [BX],-1


    正确答案: (1)指令MOV SI, DL是错误的,两个操作数类型不匹配。
    (2)指令MOV ES, 1000H是错误的,装载段寄存器时,源操作数不能为立即数。
    (3)指令LEA AX, 3006H是错误的,LEA指令的源操作数必须为内存操作数。
    (4)指令MOV [BP][DI], 0是错误的,操作数类型无法确定。
    (5)指令MOV [SI], [DI] 是错误的,不能同时出现两个内存操作数。
    (6)MOV [DI],[BX] ;错,存储器不能传存储器
    (7)MOV[DX+SI],AL; 错,DX不能用作基址寻址
    (8)MUL AL , 58H ;错,乘法指令不能用立即数
    (9)MOV DS,SEG DAT;错,立即数不能送段寄存器
    (10)MOV WORD PTR [BX],-1 ;正确 ,-1送BX指示的字单元

  • 第7题:

    源程序如下: MOV CX,9 MOV AL,01H MOV SI,1000H NEXT:MOV[SI],AL INC SI SHL AL,1 LOOP NEXT 执行本程序后AL等于多少?SI等于多少?CX等于多少?


    正确答案:AL=0;SI=1009H;CX=0

  • 第8题:

    程序段如下: BLK1 DB 46,84,34,-5,20,122,73 : MOV CX,7 LEA S1,BLK1 NEXT:MOV AL,[SI] INC SI TEST AL,81H LOOPZ NEXT MOV BL,[SI] : 请回答程序段运行后: (AL)=? (BL)=?


    正确答案: (AL)=-5或0FBH
    (BL)=14H或20

  • 第9题:

    问答题
    程序段如下: BLK1 DB 46,84,34,-5,20,122,73 : MOV CX,7 LEA S1,BLK1 NEXT:MOV AL,[SI] INC SI TEST AL,81H LOOPZ NEXT MOV BL,[SI] : 请回答程序段运行后: (AL)=? (BL)=?

    正确答案: (AL)=-5或0FBH
    (BL)=14H或20
    解析: 暂无解析

  • 第10题:

    填空题
    已知DS= ES =1000H执行下列程序: MOV SI,101H MOV DI,100H MOV CX,4 LP1:MOV AL,[ SI] MOV[ DI] ,AL INC SI INC DI LOOP LP1 INT 3 DS:101H DB 69H,23H,56H,3AH 程序运行后结果为:(10100H)= ()H(10101H)= ()H(10102H)= ()H(10103H)= ()H

    正确答案: 69H,23H,56H,3AH
    解析: 暂无解析

  • 第11题:

    填空题
    用DEBUG调试如下程序段: MOV SI,O MOV AL,1000[ SI] LP:INC SI CMP SI,08H JAE A11 CMP.AL,1000[SI] JGE A22 MOV AL,1000[SI] A22:JMP LP A11:INT 3 DS:1000H DB 34H,47H,78H,77H DB 88H,99H,OAAH,OFFH 则程序执行后,AL=()该程序的功能是:()

    正确答案: 78H,求有符号数的最大值
    解析: 暂无解析

  • 第12题:

    问答题
    判断下列指令是否正确。若不正确,指出错误原因。 (1)MOV SI, DL (2)MOV ES, 1000H (3)LEA AX, 3006H (4)MOV [BP][DI], 0 (5)MOV [SI], [DI] (6)MOV [DI],[BX] (7)MOV [DX+SI],AL (8)MUL AL , 58H (9)MOV DS,SEG DAT (10)MOV WORD PTR [BX],-1

    正确答案: (1)指令MOV SI, DL是错误的,两个操作数类型不匹配。
    (2)指令MOV ES, 1000H是错误的,装载段寄存器时,源操作数不能为立即数。
    (3)指令LEA AX, 3006H是错误的,LEA指令的源操作数必须为内存操作数。
    (4)指令MOV [BP][DI], 0是错误的,操作数类型无法确定。
    (5)指令MOV [SI], [DI] 是错误的,不能同时出现两个内存操作数。
    (6)MOV [DI],[BX] ;错,存储器不能传存储器
    (7)MOV[DX+SI],AL; 错,DX不能用作基址寻址
    (8)MUL AL , 58H ;错,乘法指令不能用立即数
    (9)MOV DS,SEG DAT;错,立即数不能送段寄存器
    (10)MOV WORD PTR [BX],-1 ;正确 ,-1送BX指示的字单元
    解析: 暂无解析

  • 第13题:

    下列程序执行后,(SI)为( )。 MOV CX,5 MOV SI,4 A1:INC SI INC SI LOOP A1

    A.4

    B.5

    C.14

    D.15


    正确答案:C

  • 第14题:

    下列程序执行后,(SI)为( ) MOV CX,5 MOV SI,4 Al:INC SI INC SI LOOP AI

    A.4

    B.5

    C.14

    D.15


    正确答案:C
    解析:每执行LOOP一次,CX的值就自动减1,CX=5,所以A1循环体被执行5次,也就是SI的值加了10,即SI=14。

  • 第15题:

    有程序如下: 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中。

  • 第16题:

    设内存22000H和22001H单元分别存放的数据为04H和06H,写出如下程序的运行结果,并指出该程序段的功能。 MOV AX,2000H MOW DS,AX MOC CL,4 MOV SI,2000H MOV AL,[SI+1] SHL AL, CL ADD AL,[ SI] MOV[ SI+2], AL INT 3 请问:SI=();AL();(22002H)=();程序功能是:()


    正确答案:
    2000H;64H;64H;将两个数符压缩在一个内存单元中

  • 第17题:

    已知DS= ES =1000H执行下列程序: MOV SI,101H MOV DI,100H MOV CX,4 LP1:MOV AL,[ SI] MOV[ DI] ,AL INC SI INC DI LOOP LP1 INT 3 DS:101H DB 69H,23H,56H,3AH 程序运行后结果为:(10100H)= ()H(10101H)= ()H(10102H)= ()H(10103H)= ()H


    正确答案:69H;23H;56H;3AH

  • 第18题:

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

  • 第19题:

    阅读下面的程序,回答问题 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个字节单元中的内容是什么?


    正确答案:程序功能是将从BUF开始的连续4个字符’1234’转变为4个对应的数值,按逆序存放到以变量BCD为首地址的存储单元中。程序执行后,从BCD开始的N个字节单元中的内容是4321。

  • 第20题:

    源程序如下: MOV CX,9 MOV AL,01H MOV SI,1000H NEXT:MOV[SI],AL INC SI SHL AL,1 LOOP NEXT 本程序的功能是什么?


    正确答案:对数据段内1000H~1008H单元置数,依次送入1,2,4,8,16,32,64,128,0共九个

  • 第21题:

    填空题
    设内存22000H和22001H单元分别存放的数据为04H和06H,写出如下程序的运行结果,并指出该程序段的功能。 MOV AX,2000H MOW DS,AX MOC CL,4 MOV SI,2000H MOV AL,[SI+1] SHL AL, CL ADD AL,[ SI] MOV[ SI+2], AL INT 3 请问:SI=();AL();(22002H)=();程序功能是:()

    正确答案:
    2000H,64H,64H,将两个数符压缩在一个内存单元中
    解析: 暂无解析

  • 第22题:

    问答题
    有程序如下: 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中。
    解析: 暂无解析

  • 第23题:

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

  • 第24题:

    填空题
    有程序如下: ORG 2800H BUF DB 67,4,57,34,89,123 START:MOV SI, 04 MOV BX, OFFSET BUF MOV AL, [BX+ SI] CALL SUB1 INT 3 SUB1: PUSHF MOV AH, OOH MOV BL, OAH DIV BL POPF RET该程序运行后,AH= ()AL=()

    正确答案: 09H,08H
    解析: 暂无解析