微机原理与接口试题及解答40页 联系客服

发布时间 : 星期二 文章微机原理与接口试题及解答40页更新完毕开始阅读6313ab9dcc22bcd127ff0c0e

MOV BL,N RCL BL,1 ADD BH,BL XOR BH,0FFH HLT

寄存器BH的值是 ,寄存器BL的值是 。 14. 分析下列程序段 MOV AL,N XOR AH,AH MOV CL,4 DIV CL

当N=3CH时,程序执行完后AX= 15.程序段如下: CLC

MOV AL,6 MOV BL,9 ADD AL,BL MOV BL,AL DAA

执行上面程序段后,AL= ,AF= ,BL= 16.执行下列指令后 TABLE DB 19H,55H,9CH LEA BX,TABLE MOV AL,[BX] XOR AL,89H MOV [BX],AL 寄存器AL的值是

17.分析下列程序段,说明该程序段执行何种功能。 MOV CX,10 MOV DL,30H

NEXT1:MOV AH,2 INT 21H INC DL LOOP NEXT1

18.执行下列指令后 MOV AX,1245H MOV BX,5689H ADD AL,BL MOV CL,AL MOV AL,AH ADC AL,BH DAA

寄存器AL的值是 ,寄存器CL的值是 19.分析下列程序段: MOV AL,N XOR AH,AH MOV BL,16 DIV BL

当N=57H时,程序执行完后AX=?

20.在下面程序的括号中分别填入如下指令: ① LOOP XH ② LOOPNE XH ③ LOOPE XH

问在这三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器中的内容分别是什么? START:MOV AX,04 MOV BX,02 MOV CX,03

9

MOV DX,05 XH:INC AX ADD BX,AX SHR DX,1 ( ) HLT

21.阅读程序,请说出该程序的功能是什么? MOV AX,DATA MOV DS,AX LEA SI,BUFFER XOR BL,BL MOV CX,100

AGAIN: MOV AL,[SI] TEST AL,1 JNZ NEXT INC BL

NEXT: INC SI LOOP AGAIN HLT

22.从键盘上接收一字符,若是“Y”转YES,是“N”转NO,否则继续等待,到输入“Y”或“N”为止。 程序段如下: MOV AL,N AND AL,0FH ADD AL,90H DAA

ADC AL,40H MOV RUT,AL HLT

问: ①若N=5,下列程序执行后AL=? ②该程序段的功能是什么? 23.执行下列程序段后: DATA SEGMENT DT1 LABLE WORD DT2 DB 12H,34H DATA ENDS ?????? MOV AL,DT2 MOV DX, DT1

寄存器AL的值是 ① ,寄存器DX的值是 ② 。 24.读下列程序,请说出该程序的功能是什么? DATA SEGMENT SUM DW 0 DATA ENDS STACK SEGMENT DB 200 DUP(?) STACK ENDS CODE SEGMENT

ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX MOV CX,50 MOV AX,0 MOV BX,1

NEXT: ADD AX,BX INC BX INC BX

10

DEC CX JNE NEXT MOV SUM,AX MOV AH,4CH INT 21H CODE ENDS END START

25.设伪指令定义如下,请画出内存分配示意图。 BUF DB ? DW ‘AB’ DW ‘C’ DW 1234H DB ‘EF’

26.执行下列程序段后: DATA SEGMENT DT1 DW 8A9BH DT2 DB 7CH, 6DH DATA ENDS ┇ ┇

MOV AX, DT1

MOV BX, OFFSET DT1 MOV SI, OFFSET DT2

寄存器BX的值是 ① ,寄存器SI的值是 ② 。 27.执行下列指令后: TABLE DB 10H,33H,41H ┉┉

MOV BX,OFFSET TABLE MOV AL,[BX] XOR AL,80H MOV [BX],AL

寄存器AL的值是多少? 28.执行下列程序段后: DATA SEGMENT N1 DW 3355H N2 DB 23H, 89H DATA ENDS ┇

MOV AX, N1

MOV DI, OFFSET N1 MOV BP, OFFSET N2

寄存器DI的值是多少?寄存器BP的值是多少? 29.执行下列指令后: DAT DB 10H,33H,41H ┉┉

LEA BX,DAT MOV AX,SEG DAT MOV ES,AX

MOV AL,ES:[BX] XOR AL,80H MOV ES:[BX],AL

寄存器AL的值是多少? 30.执行下列程序段后: BUF DB 01H ??

11

XOR AL,AL MOV AL,BUF MOV BL,AL SAL AL,1 ADD AL,BL XOR AL,0FFH HLT

寄存器AL的值是多少?寄存器BL的值是多少?

五.程序填空

1.下列程序是在键盘上输入120个字符,然后将输入反序后显示在屏幕上。请将程序填写完整。 STACK1 SEGMENT

STP DW 120 DUP ( ? ) STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE,SS:STACK1 START: MOV AX, STACK1 MOV SS, AX

MOV SP, SIZE STP MOV CX,120 LOOP1: MOV AH,01H INT 21H PUSH AX ( )

MOV DL,0AH MOV AH, 02H INT 21H

MOV DL, 0DH INT 21H

MOV CX, 120 LOOP2: ( ) MOV AH,02H INT 21H LOOP LOOP2 MOV AH,4CH INT 21H CODE ENDS END START 六、编写程序

1.在STR到STR+49单元中存放着一个字符串,试编写一个程序,测试字符串中是否存在数字,如有,则把DL的第五位置1,否则将该位置0。

2.试编程实现,从键盘接收N个(N≤60)8位二进制数,统计其中奇数的个数,并将结果显示在屏幕上。 3.已知有100字节的数据块存放在以5C10H: 2000H开始的存储区内,要求编写一个完整程序将数据移动到以5C10H:2008H开始的存储区内。

4.数组A包含100个互不相等的整数,数组B包含150个互不相等的整数,试编程实现将数组A和数组B都有的整数存放在数组C中。

5.在以BASE起始的表中存有一组字符,它以‘回车’(0DH)结束。请编写程序:实现从该表中查找关键字KEY(设关键字KEY在AL中),并将找到的第一个关键字偏离表首的位置存放在寄存器DX中,若无此关键字,DX返回值为-1。

6.编写一个中断程序,实现人机对话。要求执行程序时,显示‘WHAT IS YOUR NAME?’,在回车换行后,接收键盘输入信息,并显示。

7.编写程序找出BUF数据区中50个带符号数的最大值和最小值,并分别存入MAX和MIN单元。

8.试编程实现从键盘接收N个(N≤50)8位二进制数,统计偶数的个数及偶数之和,并将统计的个数以十进制方式显示在屏幕上。

9.以STRING起始的字符串的最大长度为80个字符,字符串的结束用字符$表示。编写程序在该字符串中查找是否有空格符(ASCII码为20H),若有就将第一个空格字符串中的位置(00H~4FH)存入POST单元;若无空格则将-1

12