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。
第1题
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。
第2题
1. 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] 2. 指出下列指令的错误并改正。 (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 3. 根据要求写出一条(或几条)汇编语言指令。 (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,其余位保持不变。 4. 设SS=2000H,SP=1000H,SI=2300,DI=7800,BX=9A00H。说明执行下面每条指令时,堆栈内容的变化和堆栈指针的值。 PUSH SI PUSH DI POP BX 5. 内存中18FC0H、18FC1H、18FC2H单元的内容分别为23H、55、5AH,DS=1000H,BX=8FC0H,SI=1,执行下面两条指令后AX=?DX=? MOV AX, [BX+SI] LEA DX, [BX+SI] 6. 回答下列问题: (1)设AL=7FH,执行CBW指令后,AX=? (2)设AX=8A9CH,执行CWD指令后,AX=?DX=? 7. 执行以下两条指令后,FLAGS的6个状态标志位的值是什么? MOV AX, 847BH ADD AX, 9438H 8、用串操作指令替换以下程序段: ABC:MOV AL, [SI] MOV ES:[DI], AL INC SI INC DI LOOP ABC 9、试写出执行下列3条指令后BX寄存器的内容。 MOV CL,2H MOV BX,CO2DH SHR BX,CL 10. 编写程序段,实现下述要求: 使AX寄存器的低4位清0,其余位不变。 使BX寄存器的低4位置1,其余位不变。 测试AX的第0位和第4位,两位都是1时将AL清0。 测试AX的第0位和第4位,两位中有一个为1时将AL清0。
第3题
1. BUFF为字节类型变量,DATA为常量,指出下列指令中源操作数的寻址方式:(10分) (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] 2. 指出下列指令的错误并改正。(5分) (1)MOV DS, 1200 (2)MOV AL, BX (3)MOV [BX], [SI] (4)MOV [DI], 3 (5)OUT 3F8H, AL 3. 根据要求写出一条(或几条)汇编语言指令。(4分) (1)将立即数4000H送入寄存器BX。 (2)将变址寄存器DI的内容送入数据段中2000H的存储单元。 (3)将立即数3DH与AL相加,结果送回AL。 (4)把BX与CX寄存器内容相加,结果送入AX。 4. 设SS=2000H,SP=1000H,SI=2300,DI=7800,BX=9A00H。说明执行下面每条指令时,堆栈内容的变化和堆栈指针的值。(3分) PUSH SI PUSH DI POP BX 5. 回答下列问题:(3分) (1)设AL=7FH,执行CBW指令后,AX=? (2)设AX=8A9CH,执行CWD指令后,AX=?DX=? 6、用串操作指令替换以下程序段:(5分) ABC:MOV AL, [SI] MOV ES:[DI], AL INC SI INC DI LOOP ABC
第4题
第5题
第6题
B.ADD[SI+50],BX
C.SUBAX,2
D.CMPAX,DISP[DI]
E.MULVAR[BX]
F.PUSHCX
第7题
A. MOVBX,BUF[SI]
B. ADD[SI+50],BX
C. SUBAX,2
D. CMPAX,DISP[DI]
E. MULVAR[BX]
F . PUSHCX
第9题
【填空题】1、C的数据类型包括: 、 、 、 、 、 、 、 。 2、如果一个变量名后面跟着一个有数字的中括号,这个声明就是 。字符串也是一种 。它们 的 作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。 3、基本数据类型中void是 ,声明无类型指针,显示丢弃运算结果。Char是 ,属于整型数据的一种。Int是 ,表示范围通常为编译器指定的内存字节长。Float是 ,属于浮点数据的一种。 4、跳转结构中return是 (如果是void类型,则不返回函数值)。Continue是 。Break是 。Goto是 。 5、分支结构中if是 ,后面不需要放分号。else是 (与if连用)。switch是开关语句(多重分支语句)。case是 ,与switch连用。default是 。 6、编译中#define 是 ,#ifdef宏 #else #endif 是 。 7、顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是 ,依次执行。 8、循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即 、 、 和 。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换。 9、用{} 括起来的部分,通常表示了程序的某一 。{}一般与该结构语句的第一个字母对齐,并单独占一行。 10、运算符的优先级从高到低大致是: 、 、 、 、 、 和 。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!