1、NOT B:OR C:AND D:XOR 8下列指令中段默认为堆栈段的是( C) A.MOV AX,BX+SI+10 B.ADD AX,ES:SI C.SUB BX,BPDI D. MOV DX,1000H9关于8086/8088微机系列,下列说法哪个是正确的(D)一个存储单元由16个二进制位组成,简称字。当存储一个字数据时,低字节放高地址位,高字节放低地址位。在内存空间中,可以无限分配段,且段的大小不受限制。段与段之间可以邻接,也可以重叠。 10下列关于堆栈的说法,错误的是(D)以“先入后出”为原则。栈区最高地址单元的前一个单元为栈底。运行中SP寄存器动态跟踪栈顶位置。压栈和弹出都是以字节为
2、单位。11表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13下列标志位中,可以用来判断计算结果正负的是(B)PF B:SF C:DF D:OF14下列指令正确的是( CD) A. MOV 100H, BX B.MOV DS, ES C. ADD VBX, CX D.MOV AX, 34H 15下列哪个寄存器是属于指针寄存器(C)SI B:DX C:SP D:ES二、填空题 (每小题4
3、分,共 20 分)1下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出)FLD DW 10, -20, 30, -60, -71, 80, 79, 56_LEA SI,FLD_ MOV CX, 8XOR AX, AXR1:_ADD AX ,SI_ ADD SI, 2LOOP R1MOV CL, 8IDIV CLHLT2MOV AX, 1090HSUB AX, 4AE0HJC L1JO L2JMP L3上述程序执行后AX=_C5B0_,程序转向_L1_3假设寄存器AX=1234H,DX=0A000HMOV BX, 0MOV CX, BXSUB CX, AXSBB BX,
4、DXMOV AX, CXMOV DX, BX上述程序段执行后AX=_0EDCCH_ ,DX=_5FFFH_4MOV AX, 234H MOV CL, 3 ROL AX, CL DEC AX MOV CX, 4 MUL CX 此段程序执行完后,(AX)= _467CH_ , (CX)= _4_ 5DA1 DB 83H,72H,61H,94H,5AH MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL 上述指令序列执行后,AL=_0A0H_,CL=_03H_。三、简答题 (每小题4 分,共 20 分)1如TABLE为数据段中0100单元的符号
5、名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?指令执行后,AX寄存器的内容是什么?MOVAX,TABLEAX,OFFSETTABLE2对于下面的数据定义TAB1DW10DUP(?)TAB2DBTAB31234AX,SIZETAB1BL,SIZETAB2CL,SIZE TAB3三个寄存器中值分别为多少?4已知某个人计算机0000:00800000:00B0区域的内容如下:0000:0080 CC A1 C8 00 80 89 A8 98 65 43 35 23 12 45 C4 000090 A4 78 98 56 90 00 00 78 49 03 28 B7 B8 9C A2
6、 B800A0 CC A1 C3 00 80 89 A8 98 65 43 35 23 12 45 C4 0000B0 2A 1B C8 04 00 33 11 23 DC 41 54 BB 90 45 33 01试求执行软中断指令INT 23H时,系统将转移到哪里进入中断服务程序。5试计算逻辑地址4017:000A,4015:0002A和4010:0007A对应的物理地址。这三个物理地址说明了什么问题?四、编程题 (每小题30 分,共 30分)1试编制一程序,统计DT_W字数组中正数、负数和0的个数,并分别保存在C1,C2和C3变量中。一名词解释(本大题共5小题,每小题3分,共15分)试解释
7、下列名词的含义。1逻辑地址:逻辑地址由两个16位的地址分量构成,其中一个为段基值,另一个为偏移量,两个分量均为无符号数编码。物理地址=段基值16+偏移量2物理地址:CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。3标志寄存器:标志寄存器(Flag Register)又称程序状态字(Program Status Word),是8086/088中唯一按位操作的寄存器,该寄存器为16位,有效的标志位共9位。其中,CF,PF,AF,ZF,SF,OF为状态标志,用于反映最近一次影响标志位的算术或逻辑运算中运算过程、运算结果的一些性质;TF,IF
8、,DF为控制标志,用于控制CPU对某些特定事件的处理方式以及CPU的工作模式。4存储器寻址方式:发生在指令的执行周期,需要在执行周期内单独启动总线操作来完成。比寄存器寻址、立即数寻址速度都慢。5补码:计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。二计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。1将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?解:二进制为 01100100B,十六进制为64H。2假设(DS)=0B00H,(BX)=0210H,对于指令MOV DS:120HBX,AL
9、,其目的操作数的物理地址为多少?EA=(BX)+0120H=0330H,物理地址=(DS)*16+EA=B330H3假设(BX)=0210H,(DI)=0060H,对于指令ADD DL,BXDI,其源操作数的偏移量为多少?偏移量=(BX)+(DI)=0270H4假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?(SP)=0060H 5*2 =0060H -000AH = 0056H5对于一个十进制数 65,其二进制补码表示形式为多少?先求二进制真值-01000001,变反加一补码为10111111三排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指
10、令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。1PUSH 5588H 错误,操作数不能用立即数;2MOV DS, 1720H 错误,MOV指令不能对段寄存器直接传送立即数;3ADD AX, CL 错误,寄存器长度不匹配;4AND AX,DX 错误,DX不用于存储器寻址。四程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。(寄存器中的内容请使用十六进制形式给出)1阅读如下程序片段MOV AL,4CHMOV BL,0B5HADD AL,BL执行上述程
11、序片段后,(AL)= 01H (1分),(BL)= 0B5H (1分),CF= 1 (1分),OF= 0 (1分),PF= 0 (1分)2阅读如下程序片段MOV AL,0F3HMOV DL,0C4HADD AL,DLAND AL,0FH执行上述程序片段后,(AL)= 07H (1分),(AF)= 不确定 (1分),CF= 0 (1分),OF= 0 (1分),PF= 0 (1分)3阅读如下程序片段MOV AL,7EHMOV CL,04HROL AL,CL执行上述程序片段后,(AL)= 0F9H (2分),(CL)= 04H (1分),CF= 1 (1分),OF= 无意义 (1分)4阅读如下程序片
12、段MOV AX,0632HMOV BX,0C202HSUB AX,BXINC AX执行上述程序片段后,(AX)= 4431H (2分),(CF)= 1 (2分),OF= 0 (1分)5阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28HMOV BX,0024HLEA BX,BXOR BX,0ADC BX,BX执行上述程序片段后,(BX)= 287AH (3分),(CF)= 0 (2分),6阅读如下程序片段,假设(SP)=0064HMOV AX,0001HMOV BX,0002HPUSH AXPUSH BXPOP AXPOP BX执行上述
13、程序片段后,(AX)= 0002H (2分),(BX)= 0001H (2分),(SP)= 0064H (1分)五程序设计题(本大题共2小题,第一小题7分,第二小题8分,共15分)1试编写一程序片段,实现BL高4位与低4位相互交换(7分)MOV CL,4; ROL BL,CL2试编写一程序片段,不使用乘除法指令,实现(AX)*5+14)/ 2的功能(AX中的数据理解为补码)(8分)MOVBX,AX MOVCX,2 SAL AX,CX ADD AX,BX ADD AX,14SAR AX,1六名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。6寄存器:计算机系统内,位于CPU内
14、部的存储单元,CPU访问此类存储单元不需要使用总线。7物理地址:8段基值:逻辑地址的一个组成部分,用于指示一个段在内存中的起始地址。9寻址方式:指令获取操作数的方式。10补码:七计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。6将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?答案:二进制为 01100100B,十六进制为64H7假设(DS)=0C00H,(BX)=0210H,对于指令MOV DS:100HBX,AL,其目的操作数的物理地址为多少?EA = (BX)+0100H = 0310H,物理地址 = (DS)*16 + EA = 0C
15、000H + 0310H = 0C310H8假设(BX)=0100H,(SI)=0020H,对于指令ADD DL,BXSI,其源操作数的偏移量为多少?EA = (BX)+(SI)+ 0 = 0120H9假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?每执行一条PUSH指令,(SP)被减2,因此执行5条PUSH指令后,(SP)=0060H 5*2 =0060H -000AH = 0056H10对于一个十进制数 80,其二进制补码表示形式为多少?首先求得二进制真值为 01010000B,负数补码为变反加1的结果,即 10110000B八排错题(本大题共4小题,每小题5分,共2
16、0分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。5MOV CS, 0600H参考答案:错误,不能使用MOV指令传递立即数给CS6PUSH 074CH错误,单操作数指令不能使用立即数7ADD AX, CL错误,寄存器长度不匹配8OR BX,CX错误,CX不能用于存储器寻址九程序分析题(本大题共6小题,每小题5分,共30分)每小题列出了一段小的程序片段和相关存储单元的初始值,请按题目的要求分析各程序片段的运行结果。7阅读如下程序片段MOV BL,86H执行上述程序片段后,(AL)= 0D2H (1分),(B
17、L)= 86H (1分),CF= 0 (1分),OF= 0 (1分),PF= 1 (1分)8阅读如下程序片段注意:逻辑运算指令中,除NOT指令外,CF、OF均置0,AF为不确定9阅读如下程序片段MOV AL,6FH执行上述程序片段后,(AL)= 0F6H (2分),(CL)= 04H (1分),CF= 0 (1分),OF= 不确定 (1分)移位指令中,当指令的移位次数大于1时,OF为不确定10阅读如下程序片段SUB AL,BLSBB AH,BHINC指令不影响CF标志位11阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28HAND BX
18、,0FFH12阅读如下程序片段,假设(SP)=0064H十程序设计题(本大题共3小题,每小题5分,共15分)(注:不是唯一答案)3试编写一程序片段,实现BL高4位与低4位相互交换(5分)参考解答:MOV CL, 4ROL BL, CL4试编写一程序片段,不使用乘除法指令,实现(AX)*5+14)/ 2的功能(AX中的数据理解为补码)(5分)MOV BX, AXMOV CL, 2SAL AX, CLADD AX, BXADD AX, 14SAR AX, 15试编写一完整程序,实现88242567H与0A435C218H两个32位无符号数相加的功能。(要求编写完整源程序,含程序框架)(5分)DAT
19、A SEGMENTVAR1 DD 88242567HVAR2 DD 0A435C218HVAR3 DD ?DATA ENDSSTACK1 SEGMENT STACK DW 40H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACK1BEGIN: MOV AX, DATA MOV DS, AX MOV AX, VAR1 ADD AX, VAR2 MOV VAR3, AX MOV AX, VAR1+2 ADC AX, VAR2+2 MOV VAR3+2, AX MOV AH, 4CH INT 21HCODE ENDSEND BEGIN
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1