当前位置:文档之家› 微机汇编期末考试b卷

微机汇编期末考试b卷

汕头职业技术学院2008-2009学年第一学期期末试卷(B)课程名称《汇编语言微机原理》拟题人侯明明审题人系(校区)计算机系班级姓名学号一、单项选择题(1-10每题1分,11-25每题2分,共40分)1、已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( D )。

A、2025∶0F2AB、2108∶00EAC、2000∶017AD、2100∶117A2、用来存放下一条将要执行的指令的地址寄存器是( B )。

A、SPB、IPC、OPD、CS3、执行1号DOS系统功能调用,从键盘输入的字符值存放在( A )寄存器中。

A.ALB.BLC.CLD.DL4、用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS的值是(B )。

A)F400H B)2F80HC)F4000H D)2F800H5、用8 位二进制数表示–0 的补码是:( C )。

A、1000000B、11111111C、00000000D、100000016、PSW寄存器中共有()位条件状态位,有(A)位控制状态位。

A、6、3B、3、6C、8、4D、4、87、在下列寄存器中,代码段寄存器是( C )。

A)DS B)ESC)CS D)SS8. CPU 发出的访问存储器的地址是( A )。

A)物理地址 B)偏移地址C)逻辑地址 D)段地址9.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( A ) 。

A)85B92H B)86192HC)BB690H D)12169H10.执行INC指令除对SF、ZF有影响外,还要影响的标志位是( A )。

A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF11、设BL中有一无符号数,实现把BL中的数乘2,应该选用的指令是(B )。

A)SHR BL,1 B)SHL BL,1C)SAR BL,1 D)RCL BL,112、设DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,执行MOV AX,[1000H],则AX=( C )。

A)8000H B)0080HC)2080H D)8020H13、下列四条指令中错误的是(C)。

A)MOV AX,[SI] B)MOV AX,[DI]C)MOV AX,[SI+DI] D)MOV AX,[SI-10]14、下列四条指令执行后不影响标志位的是(A)。

A)JNC NEXT B)CMP AX,BXC)SHL AX,1 D)OR AL,AL15、与MOV BX,OFFSET V AR指令完全等效的指令是( D)。

A)MOV BX,V AR B)LDS BX,VARC)LES BX,V AR D)LEA BX,V AR16、MOV SP,3210HPUSH AX执行上述指令序列后,SP寄存器的值是(B)。

A)3211H B)320EHC)320FH D)3212H17、将DX的内容除以2,正确的指令是(C)。

A)DIV 2B)DIV DX,2C)SAR DX,1D)SHL DX,118、要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是(C)。

A)BUF DW 9 B)BUF DB 9C)BUF DB 9 DUP (?)D)BUF DW 9 DUP (?)19、在执行子程序段内调用CALL SUBR 指令后,SP的值(D)。

A)加1 B)减1C)加2 D)减220、完成将AX清零,并且使CF清零,下面错误的指令是(D)。

A)SUB AX,AX B)AND AX,0C)XOR AX,AX D)MOV AX,021、为了使执行串操作指令时地址按减量方式处理,应使用指令(D)。

A)CLI B)STIC)CLD D)STD22、有数据定义NUM DB ‘12345’,经汇编后,NUM占有(B)字节存储单元。

A)1 B)5C)6 D)723、个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是( C )A)12CSBH B)12B6BHC)12C59H D)12BFEH24、面指令执行后,改变AL寄存器内容的指令是( D)。

A)TEST AL,02H B)OR AL,ALC)CMP AL,BL D)AND AL,BL25、下列指令序列执行后完成的运算,正确的算术表达式应该是( C)。

MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,ALA)Y=2X+1 B)X=2Y+1C)Y=2X-1 D)X=2Y-1二.填空题(每空1分,共10分)1.8086/8088CPU中,有两个变址寄存器,分别为SI和DI,两个指针寄存器,分别是_BP__和SP。

2.已知SP=1000H,则POP [BX]指令执行后,SP=_1002H__。

3.若CF=1,执行指令CLC后,CF= 0。

4.8086\8088 CPU 中,每个逻辑段最大长度为64KB,段地址能被16 整除,也就是说20位的地址的低4位一定为零。

而高16_位在段寄存器中。

三、简答题(共15分)1.(5分)写出完成下述功能的程序段。

(1)将32H存入CH中。

(2)将CH中的内容与2AH相加。

(3)将CH中的内容乘2。

(4)将CH中的内容存入以BX作为相对基址寻址的数组变量NUM的第10个字节单元中(数据段)。

问:程序段执行后,CH中的内容是多少?1.MOV CH,32H …(1分)ADD CH,2AH …(1分)SHL CH,1 …(1分)MOV [BX+NUM+10],CH …(1分)最后CH=0B8 …(1分)2.(5分)简述微机存储系统的层次结构。

寄存器-高速缓存-主存-辅存结构。

3. (5分)简述一个较完整的汇编语言源程序的编写格式(程序框架),其中包括多个段及至少一个子程序。

1.段名1 SEGMENT……段名1 ENDS …(1分)段名2 SEGMENT STACK……段名2 ENDS …(1分)子程序名 PROC NEAR……子程序名 ENDP …(1分)段名 SEGMENTASSUME CS: 段名,DS: 段名1, SS: 段名2 标号:…………段名 ENDSEND 标号…(2分)四、程序分析填空题(每题5分,共20分)1.MOV AX,0FF00HMOV BX,640HCALL SUB1INC BXSUB1 PROC NEAROR AX,BXRETSUB1 ENDP上述程序段运行后,AX= 0FF40, BX= 641H 。

2.A DW 1234HB DW 5678H…PUSH APUSH BPOP APOP B试回答:上述程序段执行后,(A)=_5678H__,B=_1234H__。

设执行前SP=200H,执行后SP=_200H__。

3.现有下列程序段:MOV AX,6540HMOV DX,3210HMOV CL,04SHL DX,CLMOV BL,0AHSHL AX,CLSHR BL,CLOR DL,BL试问上述程序运行后,(AX)=__5400H__(BL)=___0__(DX)=__(DL)=2100H__4.设(AX)=FFFFHSTCMOV DX,01ADC DX,AXAND AL,0DH上述程序段运行后,(AX)= 0FF0DH,(DX)= 1。

五、编程题(共15分)1.利用DOS 系统功能调用,完成将键盘输入的小写字母转换成大写字母并输出显示,直到输入‘$’符号时停止输入。

(8分)2.编写一个程序,从键盘接收一个小写字母,然后找出它的前导字符和后继字符,再按顺序显示这三个字符。

例如:若用户输入p,则屏幕显示opq。

(7分)1.CSEG SEGMENTASSUME CS:CSEG …(1分)START:MOV AH,01HINT 21H …(2分)CMP AL,’$’JZ STOP ;若为’$’,则退出…(3分)CMP AL,’A’JB STOP ;若<’A’,则退出…(4分)CMP AL,’Z’JB STOP ;若>’Z’,则退出…(5分)SUB AL,20H ;小写转换为大写MOV DL,ALMOV AH,02HINT 21H ;显示JMP START ;继续输入下一个字符…(7分);返回DOSSTOP:MOV AH,4CHINT 21HCSEG ENDSEND START …(8分)2. code segmentassume cs:code …(1分)main: mov ah,1int 21h …(2分)mov cl,almov bl,al…(3分)sub cl,1…(4分)mov dl,clmov ah,2int 21h…(5分)add bl,1mov dl,blint 21h…(6分)mov ah,4chint 21hcode endsend main…(7分)B卷答案一、选择题(1-10每题1分,11-25每题2分,共40分)1—5 D B A B C6—10 A C A A A11—15 B C C D D16—20 B C C D D21—25 D B C D C二、填空(共10分)1、SI(1分) DI(1分) BP(1分) SP(1分)2.1002H(1分)3.0(1分)4.64KB(1分) 16(1分)低4位(1分)高16位(1分)三、问答题2.MOV CH,32H …(1分)ADD CH,2AH …(1分)SHL CH,1 …(1分)MOV [BX+NUM+10],CH …(1分)最后CH=0B8 …(1分)3.寄存器-高速缓存-主存-辅存结构。

(5分)4.段名1 SEGMENT……段名1 ENDS …(1分)段名2 SEGMENT STACK……段名2 ENDS …(1分)子程序名 PROC NEAR……子程序名 ENDP …(1分)段名 SEGMENTASSUME CS: 段名,DS: 段名1, SS: 段名2 标号:…………段名 ENDSEND 标号…(2分)四、程序填空1. AX=0FF40(2分) BX=641H(3分)2.(A)=5678H (2分) (B)=1234H(2分)SP=200H(1分)3. (AX)=5400H(2分)(BL)=0(2分)(DL)=2100H(1分)5.(AX)= 0FF0DH(2分)(DX)= 1 。

(3分)五、编程题2.CSEG SEGMENTASSUME CS:CSEG …(1分)START:MOV AH,01HINT 21H …(2分)CMP AL,’$’JZ STOP ;若为’$’,则退出…(3分)CMP AL,’A’JB STOP ;若<’A’,则退出…(4分)CMP AL,’Z’JB STOP ;若>’Z’,则退出…(5分)SUB AL,20H ;小写转换为大写MOV DL,ALMOV AH,02HINT 21H ;显示JMP START ;继续输入下一个字符…(7分);返回DOSSTOP:MOV AH,4CHINT 21HCSEG ENDSEND START …(8分)2. code segmentassume cs:code …(1分)main: mov ah,1int 21h …(2分)mov cl,almov bl,al…(3分)sub cl,1…(4分)mov dl,clmov ah,2int 21h…(5分)add bl,1mov dl,blint 21h…(6分)mov ah,4chint 21hcode endsend main…(7分)。

相关主题