1、位移量=EA基址(变址*比例因子)10、 微机的内存的最小编址单位是什么?字型数据在内存的中的存放原则是什么?最小编址单位是B,存放原则是先低字节,后高字节。11、 基址变址寻址方式的可用寄存器有哪些?BXSI/BXDI12、 写出相对基址变址寻址方式的偏移地址EA的计算公式。EA=位移量+基址+变址13、 在内存物理地址为30476H起的连续地址空间内存放了一个值为90634511H的双字型数据,请用图表示出它们在存储器里存放的情况。14、 在内存物理地址为65780H起的连续地址空间内存放了一个值为12345678H的双字型数据,请用图表示出它们在存储器里存放的情况。15、 条件转移指令的
2、转移范围是多少?12812716、 LOOP指令使用的循环计数器是什么?CX.17、 设有变量ABCD,要取它的偏移地址送到寄存器AX中,可用哪两种方法?用指令表达出来。LEA AX,ABCD MOV AX,ABCD18、 子程序调用时传递参数的三种基本方法是什么?通过寄存器传送。通过堆栈传送。通过变量传送。19、 串操作指令在使用前应做哪些准备工作?把存放在数据段中的源串首地址(如反向传送则应是末地址)放入源变址寄存器中。把将要存放数据串的附加段中的目的串首地址(或反向传送时的末地址)放入目的变址寄存器中。把数据串长度放入计数寄存器。建立方向标志。二、 简答题写出下列各指令的源操作数的寻址方
3、式。(1)MOV AX,0AH 立即寻址 (21)SUB CX,0CFH 立即寻址(2)MOV BX,12H 立即寻址 (22)MOV DX,49H 立即寻址(3)MOV BX,CL 寄存器寻址 (23)ADDC BP,DL 寄存器寻址(4)MOV BX,CX 寄存器寻址 (24)ACHG BX,AH 寄存器寻址(5)MOV AX,200H 直接寻址 (25)AND AX,ES:buf 直接寻址(6)MOV AX,100H 直接寻址 (26)MOV CX,SS:(7)MOV BX,BX 寄存器间接寻址 (27)XOR AX,DI 寄存器间接寻址(8)MOV AX,BX 寄存器间接寻址 (28)
4、MOV CX,BX 寄存器间接寻址(9)MOV AX,BP 寄存器间接寻址 (29)OR DX,BP 寄存器间接寻址(10)MOV DX,BP 寄存器间接寻址 (30)MOV CX,BP 寄存器间接寻址(11)MOV AX,SIBX 基址变址寻址 (31)AND DL,BP+DI 基址变址寻址(12)MOV CX,BXSI 基址变址寻址 (32)MOV BX,SI+BP 基址变址寻址(13)MOV DI,BX+20 相对基址寻址 (33)XOR SI,56BX 相对基址寻址(14)MOV DI,20BX 相对基址寻址 (34)MOV DI,BX+30 相对基址寻址(15)MOV DH,VALB
5、X 相对基址寻址 (35)ADD DL,bufBX 相对基址寻址(16)MOV DH,ARRYBX 相对基址寻址 (36)MOV AL,buf+BP 相对基址寻址 (17)MOV DS,VAL 直接寻址 (37)MOV DS,BX+DI 基址变址寻址(18)MOV DS,ARRY 直接寻址 (38)MOV DS,BX+SI 基址变址寻址(19)MOV BX,VALBXSI 相对基址变址寻址 (39)MOV AH,buf+BP+DI 相对基址变址寻址(20)MOV BX,ARRYBXDI 相对基址变址寻址 (40)ADD AL,buf+BX+SI 相对基址变址寻址三、 判断题对者在题号前的括号中
6、打“”,错的打“”()1.SBB AL,DX ()1.XCHG BX,AX()2.MOV CX,DX ()2.XOR BL,CX()3.CMP BX,DI ()3.CMP AX,SI)4.CMP BP,BX ()4.POP DI()5.POP DI ()5.POP AX()6.POP SI ()6.PUSH CL 堆栈操作以字为单位)7.PUSH AL 堆栈操作以字为单位 ()7.PUSH AL 堆栈操作以字为单位)8.PUSH DL 堆栈操作以字为单位 ()8.OR BYTE PTR BP,98()9.MOV BYTE PTR BP,124 ()9.AND BX,255()10.MOV BY
7、TE PTR BX,100 ()10.SUB SI,BYTE PTR 35()11.ADD DI,BYTE PTR 24 ()11.MOV BP,10()12.SUB BP,BYTE PTR 10 ()12.DEC CX CX不能间接寻址 )13.DEC DX DX不能间接寻址 ()13.INC 8BX()14.INC 2BX ()14.SHL AL,1()15.ROR BL,1 ()15.MOV BX,DX DX不能间接寻址 )16.MOV CX,DX DX不能间接寻址 ()16.MOV bufBPSI,CL()17.MOV DATBPDI,AL ()17.MOV bufBXDI,CX()1
8、8.MOV DATBXSI,AX ()18.ADDC AL,BYTE PTR AC(AC为字变量)()19.SUB AL,BYTE PTR AC(AC为字变量) ()19.CMP CX,WORD PTR WL(WL为字节变量)()20.ADD CX,WORD PTR WL(WL为字节变量) ()20.ADD BX,DI四、 程序填空题1、 要求用移位指令实现(BX)(BX)*9 MOV AX,BXMOV CL,3 SHL AX,CL ADD BX,AX2、 要求用移位指令实现(BX)(BX)*5MOV AX,BX MOV CL,2SHL AX,CLADD BX,AX 3、 假设程序中数据定义如
9、下:ASD DB 3要求把变量ASD的值在显示器上显示出来。MOV DL,ASDADD DL,30HMOV AH,2INT 21H 4、 假设程序中数据定义如下:X DB 3要求把变量X的值在显示器上显示出来。MOV DL,X MOV AH,3 INT 21H5、 假设程序中字符串MESS定义如下:MESS DB ABCDEF要求把字符串MESS送到显示器上显示出来。LEA DX,MESSMOV AH,9 6、 假设程序中字符串BUF定义如下:BUF DB ABCDEF7、 假设程序中数据定义如下:BUF DB 32 DUP (?)要求在BUF中查找第一个B.CLDMOV CX,32 MOV
10、AL,BLEA DI,BUFREPEN SCASB8、 假设程序中数据定义如下:BUF DB 38 DUP(?要求在BUF中查找第一个MMOV CX,38MOV AL,MREPEN SCASB 9、 比较两个字符串B1和B2,其长度为20个字节,找出它们相匹配的位置。LEA SI,B1LEA DI,B2CLD MOV CX,0014H REPNE CMPSB10、比较两个字符串STR1和STR2,其长度为45个字节,找出它们不相匹配的位置。LEA SI,STR1LEA DI,STR2MOV CX,002DH REPE CMPSB五、 写出下列程序(段)的执行结果。1、 CODE1 SEGMEN
11、TASSUME CS:CODE1 MAIN PROC FAR START: PUSH DS XOR AX,AX PUSH AX MOV CH,4 MOV BX,1100010010001111B ROT1: MOV CL,4 ROL BX,CL MOV DL,BL AND DL,0FH ADD DL,30H CMP DL,3AH JB OUT1 ADD DL,7H OUT1: MOV AH,2 INT 21H DEC CH JNZ ROT1 RET MAIN ENDP CODE1 ENDS END MAIN此程序执行后,屏幕上显示的内容为:C48F2、 DATA SEGMENTBUF DB 7
12、,9,6DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATABEGIN: MOV AX,DATA MOV DS,AX MOV CX,2 MOV BX,OFFSET BUF MOV SI,1 MOV AL,BUF AAA: CMP AL,BX+SI JL NEXT MOV AL,BX+SI NEXT: INC SI LOOP AAA MOV DL,AL ADD DL,30H MOV AH,2 INT 21H MOV AH,4CH CODE ENDS END BEGIN执行此程序后,屏幕上显示的内容为:6 (此程序功能是将串中小于7的数字屏显出来)3、 MOV
13、AL,03HSHL AL,CL此指令段执行后,AL中的值为:0CH (即3*2*2=12)4、MOV AL,40H MOV CL,2 SHR AL,CL此程序段执行后,AL中的值为:10H (即64/2/2=16)5、CODE SEGMENTCODE MAIN: MOV AH,1 END MAIN设输入数字7,其输出结果是多少? 76、 CODE SEGMENT ADD AL,2 ADD AL,30H设输入数字3,其输出结果是多少? 5六、 程序设计1、 求两个字节数X和Y的2倍放到Z单元中。设X与Y的和是字节数。DATA SEGMENT X DB 2Y DB 2 Z DB ?START:MO
14、V DS,AX MOV BL,XMOV CL,YADD BL,CLMOV CL,BL ADD CL,BL MOV Z,CL MOV DL,Z MOV AH,02HMOV AH,4CHCODE ENDS END START2、 求两个字节数X和Y的平均数放到Z单元中。 X DB 7 Y DB 8 Z DB ? /商 W DB ? /余数 ASSUME CS: MOV AX,DATA MOV DS,AX MOV BL,X MOV CL,Y ADD BL,CL CBW MOV AX,BX DIV CL MOV Z,AL MOV W,AH MOV DL,Z ADD DL,30H MOV AH,02H
15、INT 21H MOV DL,W MOV AH,4CH END START3、 编写程序,把从键盘读入的一个小写字母转换成相应的大写字母,并输出。(注:对应大小写字母之间的ASCII码值相差20H)PROGNAM SEGMENTMAIN PROC FARPROGNAM PUSH DS SUB AX,AX PUSH AXNEXT: MOV AH,1 CMP AL,A JB EXITZ JA EXIT SUB AL ,20H MOV DL,AL MOV AH,2 MOV DL,0AH JMP NEXTEXIT: RETMAIN ENDPPROGNAM ENDS4、 编写程序,把从键盘读入的一个大写
16、字母转换成相应的小写字母,并输出。 ADD AL ,20H5、 已知数组X包含有8个无符号整数,编写对其中的每个奇数计算1+2+N,并把它们顺序存入内存字单元SUM开始的存储区中,要求1+2+N用子程序实现。不考虑溢出。X DW 2,3,4,5,6,7,8,9SUM DW 8 DUP (?MAIN: LEA BX,X LEA DI,SUM MOV CX,8 MOV DX,BX MOV AX,DX SHR AX,1 JNC N1 CALL SUB1 MOV DI,AX ADD DI,2N1: ADD BX,2 LOOP NEXT INT 21H SUB1 PROC NEAR PUSH CX XOR AX,AX MOV CX,DXAGAIN: ADD AX,CX LOOP AGAIN POP CXSUB1 ENDP END MAIN6、 已知数组X包含有8个无符号整数,编写对其中的每个偶数计算1+2+N,并把它们顺序存入内存字单元SUM开始的存储区中,要求1+2+N用子程序实现。SUM DW 8 DUP(? JC N1注:编者水平有限,不能保证所有答案都正确,如发现错误之处,请指出。卷上部分答案来源于互联网,不代表标准答案,此卷仅供参考。最后两个编程题中有一道考试必考!我只能帮你们到这里了!呵呵
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2