CMS专题

填空题已知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

题目
填空题
已知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
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.4

B.5

C.14

D.15


正确答案:C

第2题:

交换寄存器SI,DI的内容,正确的程序段是( )

A.PUSH SI PUSH DI POP SI POP DI

B.PUSH SI PUSH DI, POP SI,DI

C.MOV AX,SI MOV SI,DI MOV DI,AX

D.MOVAX,SI MOV BX,DI XCHG BX,AX


正确答案:A
解析:在堆栈中,无论是压人还是弹出,都必须以字为单位进行,即一次压人必须压入堆栈一个字,弹出时,也必须从堆栈中取出一个字。所以选项B是错误的;在串操作指令中,SI用作源变址寄存器,DI用作目的地址寄存器,所以选项C是错误的;选项D交换的是AX寄存器和BX寄存器里的内容,不符合题意;只有选项A是正确的,它依次把SI和DI的值推进栈中,然后把DI的值弹出来给SI,把SI的值弹出来给DI,即完成了SI和DI内容的交换。

第3题:

交换寄存器SI、DI的内容,正确的程序段是( )。

A.PUSH SI PUSH DI POP SI POP DI

B.PUSH SI PUSH DI POP DI POP SI

C.MOV AX,SI MOV SI,AX MOV DI,BX

D.MOVAX,SI MOV BX,DI XCHG BX,AX


正确答案:A

第4题:

判断下列指令是否正确。若不正确,指出错误原因。 (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指示的字单元

第5题:

已知DS=ES=2000H执行下列程序: MOV SI,301H MOV DI,300H MOV CX,4 CLD REP MOVSB INT 3 DS:301H DB 22H,33H,44H,55H 程序运行后结果为:(20300H)=()H(20301H)=()H (20302H)=()H(20303H)=()H


正确答案:22H;33H;44H;55H

第6题:

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

第7题:

对于下列程序段: 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功能相同。

第8题:

交换寄存器SI、DI的内容,正确的程序段是( )。

A.PUSH SI

B.PUSH SI PUSH DI PUSH DI POP SI POP DI POP DI POP SI

C.MOV AX,SI

D.MOV AX,SI MOV SI,AX MOV BX,DI MOV DI,BX XCHG BX,AX


正确答案:A

第9题:

已知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

第10题:

指出下列指令中哪些是错误的,错在什么地方。  (1)MOV DL,AX  (2)MOV 8650H,AX  (3)MOV DS,0200H  (4)MOV [BX],[1200H]  (5)MOV IP,0FFH  (6)MOV [BX+SI+3],IP  (7)MOV AX,[BX][BP]  (8)MOV AL,ES:[BP]  (9)MOV DL,[SI][DI]  (10)MOV AX,OFFSET 0A20H  (11)MOV AL,OFFSET TABLE  (12)XCHG AL,50H  (13)IN BL,05H  (14)OUT AL,0FFEH


正确答案:(1)长度不匹配
(2)立即数不能做目的操作数
(3)段寄存器不能用立即数赋值
(4)两个内存单元不能直接传送数据
(5)IP 不能用指令直接修改
(6)指令中不能出现 IP
(7)BX/BP 应与 SI/DI 搭配
(8)正确
(9)SI/DI 应与 BX/BP 搭配
(10)OFFSET 后应跟内存单元
(11)偏移地址为16 位,AL 长度不够
(12)立即数不能用于XCHG
(13)IN 必须用 AL/AX
(14)操作数顺序反向;地址应为 8 位

更多相关问题