交换寄存器SI,DI的内容,正确的程序段是()A.PUSH SI PUSH DI POP SI POP DIB.PUSH SI
交换寄存器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
交换寄存器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
交换寄存器SI、DI的内容,正确的程序段是()。
A.PUSH SI
B.PUSH SI PUSH DI PUSH DI POPSI POPDI POPDI POPSI
C.MOVAX,SI
D.MOV AX,SI MOVSI,AX MOV BX,DI MOVDI,BX XCHG BX,AX
交换寄存器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、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 DI,SI
MOV BX,DI
MOV DI,AX
XCHG BX,AX
2. BUFF为字节类型变量,DATA为常量,指出下列指令中源操作数的寻址方式: (1)MOV AX, 1200 (2)MOV AL, BUFF (3)SUB BX, [2000H] (4)MOV CX, [SI] (5)MOV DX, DATA[SI] (6)MOV BL, [SI][BX] (7)MOV [DI], AX (8)ADD AX, DATA[DI+BP] (9)PUSHF (10) MOV BX, ES:[SI] 3. 指出下列指令的错误并改正。 (1)MOV DS, 1200 (2)MOV AL, BX (3)SUB 33H, AL (4)PUSH AL (5)MUL 45H (6)MOV [BX], [SI] (7)MOV [DI], 3 (8)ADD DATA[DI+BP], ES:[CX] (9)JMP BYTE PTR[SI] (10) OUT 3F8H, AL 4. 根据要求写出一条(或几条)汇编语言指令。 (1)将立即数4000H送入寄存器BX。 (2)将立即数4000H送入段寄存器DS。 (3)将变址寄存器DI的内容送入数据段中2000H的存储单元。 (4)把数据段中2000H存储单元的内容送段寄存器ES。 (5)将立即数3DH与AL相加,结果送回AL。 (6)把BX与CX寄存器内容相加,结果送入BX。 (7)寄存器BX中的低4位内容保持不变,其他位按位取反,结果仍在BX中。 (8)实现AX与-128的乘积运算。 (9)实现AX中高、低8位内容的交换。 (10) 将DX中D0、D4、D8位置1,其余位保持不变。 5. 设SS=2000H,SP=1000H,SI=2300H,DI=7800H,BX=9A00H。说明执行下面每条指令时,堆栈内容的变化和堆栈指针的值。 PUSH SI PUSH DI POP BX 6. 内存中18FC0H、18FC1H、18FC2H单元的内容分别为23H、55、5AH,DS=1000H,BX=8FC0H,SI=1,执行下面两条指令后AX=?DX=? MOV AX, [BX+SI] LEA DX, [BX+SI] 7. 回答下列问题: (1)设AL=7FH,执行CBW指令后,AX=? (2)设AX=8A9CH,执行CWD指令后,AX=?DX=? 8. 执行以下两条指令后,FLAGS的6个状态标志位的值是什么? MOV AX, 847BH ADD AX, 9438H 10、用串操作指令替换以下程序段: ABC:MOV AL, [SI] MOV ES:[DI], AL INC SI INC DI LOOP ABC 12、试写出执行下列3条指令后BX寄存器的内容。 MOV CL,2H MOV BX,CO2DH SHR BX,CL 14. 编写程序段,实现下述要求: 使AX寄存器的低4位清0,其余位不变。 使BX寄存器的低4位置1,其余位不变。 测试AX的第0位和第4位,两位都是1时将AL清0。 测试AX的第0位和第4位,两位中有一个为1时将AL清0。
2. BUFF为字节类型变量,DATA为常量,指出下列指令中源操作数的寻址方式: (1)MOV AX, 1200 (2)MOV AL, BUFF (3)SUB BX, [2000H] (4)MOV CX, [SI] (5)MOV DX, DATA[SI] (6)MOV BL, [SI][BX] (7)MOV [DI], AX (8)ADD AX, DATA[DI+BP] (9)PUSHF (10) MOV BX, ES:[SI] 3. 指出下列指令的错误并改正。 (1)MOV DS, 1200 (2)MOV AL, BX (3)SUB 33H, AL (4)PUSH AL (5)MUL 45H (6)MOV [BX], [SI] (7)MOV [DI], 3 (8)ADD DATA[DI+BP], ES:[CX] (9)JMP BYTE PTR[SI] (10) OUT 3F8H, AL 4. 根据要求写出一条(或几条)汇编语言指令。 (1)将立即数4000H送入寄存器BX。 (2)将立即数4000H送入段寄存器DS。 (3)将变址寄存器DI的内容送入数据段中2000H的存储单元。 (4)把数据段中2000H存储单元的内容送段寄存器ES。 (5)将立即数3DH与AL相加,结果送回AL。 (6)把BX与CX寄存器内容相加,结果送入BX。 (7)寄存器BX中的低4位内容保持不变,其他位按位取反,结果仍在BX中。 (8)实现AX与-128的乘积运算。 (9)实现AX中高、低8位内容的交换。 (10) 将DX中D0、D4、D8位置1,其余位保持不变。 5. 设SS=2000H,SP=1000H,SI=2300,DI=7800,BX=9A00H。说明执行下面每条指令时,堆栈内容的变化和堆栈指针的值。 PUSH SI PUSH DI POP BX 6. 内存中18FC0H、18FC1H、18FC2H单元的内容分别为23H、55、5AH,DS=1000H,BX=8FC0H,SI=1,执行下面两条指令后AX=?DX=? MOV AX, [BX+SI] LEA DX, [BX+SI] 7. 回答下列问题: (1)设AL=7FH,执行CBW指令后,AX=? (2)设AX=8A9CH,执行CWD指令后,AX=?DX=? 8. 执行以下两条指令后,FLAGS的6个状态标志位的值是什么? MOV AX, 847BH ADD AX, 9438H 10、用串操作指令替换以下程序段: ABC:MOV AL, [SI] MOV ES:[DI], AL INC SI INC DI LOOP ABC 12、试写出执行下列3条指令后BX寄存器的内容。 MOV CL,2H MOV BX,CO2DH SHR BX,CL 14. 编写程序段,实现下述要求: 使AX寄存器的低4位清0,其余位不变。 使BX寄存器的低4位置1,其余位不变。 测试AX的第0位和第4位,两位都是1时将AL清0。 测试AX的第0位和第4位,两位中有一个为1时将AL清0。
在寄存器间接寻址中,若指令指定的寄存器是BX,SI,或者DI,则默认操作数存放在(46)段中。这时要用寄存器(47)的内容作为段地址。对于指令MOV BX,[SI]。假设数据段寄存器DS=1000H,代码段寄存器CS=4000H,堆栈段寄存器SS=7000H,SI=2000H,则操作数的物理地址为(48)。
A.数据
B.代码
C.堆栈
D.代码和堆栈
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!