《2012年合肥师范学院 汇编语言习题答案》由会员分享,可在线阅读,更多相关《2012年合肥师范学院 汇编语言习题答案(8页珍藏版)》请在金锄头文库上搜索。
1、1:设字长N=16,带符号数7AE9的补码表示为(D)A:9EA7H B:76C4H C:8417H D:7AE9H2:把汇编源程序文件变成目标程序文件的过程是( B )A:编译 B:汇编 C:编辑 D:链接3:在8086CPU的基址变址寻址方式中,变址寄存器可以是 (D )A:BX或CX B:或I:或SI D:SI或:指令JMP FARPTR HELLO属于( C )A:段内转移直接地址B: 段内转移间接地址C:段间转移直接地址D:段间转移间接地址5:在程序执行过程中,寄存器中始终保存的是(B):上一条指令的首地址:下一条指令的首地址:正在执行指令的首地址:需计算有效地址后才能确定地址:完成
2、对CL寄存器的内容乘以的正确操作是(C):ROL CL,1:MUL 4ROL CL,1:SHL CL,1 D:MOV CL,2SHL CL,1 SHL CL,CL7:在下面指令中,( D )指令的执行会影响条件码中的CF位A:JMP NEXT B:JC NEXTC:INC BX D:SHL AX,18:在下列指令表示中,使用不正确的是( C)A:MOV AL,【BX+SI】:JMP SHORT DONIC:DEC 【BX】 D:MUL CL9:在JMP WORD PTR 【BX】【SI】指令中转移的目标地址为 (A)A:16d*(DS)+【BX】+【SI】B:16d*(ES)+【BX】+【SI
3、】C:16d*(SS)+【BX】+【SI】D:16d*(CS)+【BX】+【SI】10:子程序与宏的区别是( D)A:宏是一段程序 B:宏可以被多次调用C:宏可以实现参数传递 D:宏调用时不用返回11:IBM PC微机中,带符号数是用( 补 )码表示的12:在DEBUG下,修改寄存器AX的命令是(D )A:D AX B:A AX C:R D:R AX13:在指令MOV AX,【1000H】中,源操作的寻址方式是( B)A;立即寻址 B:直接寻址 C;段内间接寻址 D;寄存器寻址14:带符号数3260H与0B425H的比较结果为(C )A:相等 B:小于 C:大于 D:不能比较15:比较指令CM
4、P( D )A:专用于有符号数比较 B:专用于无符号数比较C:专用于串比较 D:不区分比较的对象是有符号还是无符号16:若将DX的内容除以2 ,正确的指令是(C )A:DIV 2 :DIV DX ,2 C:SAR DX ,1 D:SHL DX ,117:条件转移指令JNE的测试条件为(A)A:ZF=0 B:CF=0 C:ZF=1 D:CF=118:下列指令中表示不正确的是( A )A:ADD BUF1,BUF2 B:JMP DWORD PTR DAT【BX】C:MOV AX,COUNT【BX+DI】D:TEST AL,08H19:下列指令不能循环的是(D )A:JG B:JNZ C:LOOP
5、D:DEC CX20:十六进制数0BDF1H,0FEF7H表示的十进制无符号和带符号数分别是多少?0BDF1H 无符号数48625D,带符号数-16911D0FEF7H 无符号数65271D,带符号数-265D21:附加段,堆栈段,代码段,数据段寄存器的符号表示分别是( ES ) ,( SS ),( CS ),( DS )22:在算术运算中,当标志位( CF )=1时表示无符号数溢出,而当标志位( OF )=1是表示带符号数运算产生溢出。23:如JMP指令采用段间间接寻址,那么由4个相邻字节单元存放的转移地址中,前两个字节存放的是(转向的偏移地址【IP】),后两个字节存放的是(转向的段地址【C
6、S】 )。24:DOS系统功能调用方式为:(1)置入口参数;(2)中断程序标号送( AL )寄存器后执行INT 21H。25:在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数默认存放在( 堆栈 )段中,段地址在( SS )寄存器中。26:在执行字符串操作指令MOVS之前,要将源字符串的首地址放入(源变址寄存器【SI】),目的字符串的首地址放入(目的变址寄存器【DI】)。27:注释项用于说明程序段或是一条和几条指令的功能,一般用( ;分号 )表示注释的开始。28:若(DS)=0E34H,(SI)=3000H,COUNT=0A6H,指令MOV AX,【SI+COUNT】中,源操作数的有效
7、地址EA为( 30A6H ),物理地址PA为( 113E6H )。29:什么叫寻址方式?常用的寻址方式有哪些? 寻址方式给出操作数或操作数地址的计算方式,对转移指令形成程序的转移地址。常用的寻址方式有:数据寻址方式1.立即数寻址方式2.寄存器寻址方式3.直接寻址方式4.寄存器间接寻址方式5.寄存器相对寻址方式6.基址变址寻址方式7.相对基址变址寻址方式;转移地址寻址方式:1.段内直接寻址,2.段内间接寻址,3.段间直接寻址,4.段间间接寻址。30:简述汇编语言中指令和伪指令的区别? 指令是告诉计算机如何处理数据的命令,指令语句有对于的机器语言指令,汇编是能产生目标代码;伪指令只是告诉汇编程序如
8、何汇编,没有与其对应的机器语言指令。31;简述下面两条指令分别是什么语法错误?MOV 【BX】,【SI】 MOV AX,DL (1)在同一指令中源操作数和目的操作数不能同时为存储单元。(或:存储单元之间不能之间传值。) (2)源操作数(字节)和目的操作数(字)类型不匹配。32:假定【DX】=11001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值SHR DX,1 (DX)=5CHRCL DL,1 (DX)=73HRCL DX,CL (DX)=5CCH33:写出完成下述功能的程序段:将25H传送到AL寄存器将AL内容乘以2 将15H传送到BL寄存器将AL的内容乘以BL的
9、内容上述程序段执行完后,请写出(AX)=?解:MOV AL,25HSHL AL,1MOV BL,15HMUL BL最后(AX)=612H34:简述上机运行汇编语言程序的过程。答:建立源程序(.asm文件),汇编成目标代码程序(.obj文件),连接成执行文件(.exe文件),最后执行程序。35 :写出下列竖式的计算结果和状态标志AF,PF,CF,ZF,OF,SF的值,并结合CF,OF解释运算结果。 0 0 0 0 1 0 0 1 + 0 1 1 1 1 1 0 0(CF=0,PF=0,AF=1,ZF=0,SF=1,OF=1)OF=1,表明此运算在带符号数的意义下发生溢出,结果不正确,即(+9)+
10、(+124)=-13336 :已知:(BX)=1357H,(DI)=2000H,(DS)=2000H,(ES)=4000H,分别指出下面各指令中存储器操作数的物理地址。MOV AL,【BX】 PA=21357HMOV ES:【BX+DI】,AH PA=43357H37:下列语句在存储器中分别为变量分配多少字节?AD2 DW 10 DUP(?),10 22个字节AD3 DD 100 DUP(?) 400个字节38 :主程序和子程序之间的参数传递有几种实现方式?答:通过寄存器传送参数;通过存储器传送参数;通过地址表传送参数地址;通过堆栈传送参数或参数地址;多个模块之间的参数传送。39:现有如下程序
11、段:DATA SEGMENTDA3 EQU 1234HORG 0020HDA4 EQU ¥-DA2 ?汇编中好像没有¥ 应该是$DA1 DW 12H,23HDA5 DB 31H,32HDA2 DB 11H,21HDATA ENDS 问:(1)该程序段已占有的存储字节数是多少?12个字节 (2)DA4的值是多少?DA5的值是多少?(DA4)= DF0FH (DA5)=3231H40:设寄存器AL,BL,CL中内容均为76H,XOR AL,0FHAND BL,0FHOR CL,0FH执行上述指令后,(AL)=( 79H ),(BL)=( 6H ),(CL)=( 7FH )41:分析下列程序块:DA
12、I DB 83H,72H,61H,94H,5AH.MOV CX,WORD PTR DAIAND CX,0FHMOV AL,DAI+3SHL AL,CL上述指令序列执行后,(AL)=( 0A0H ),CL=( 3H )。42:下面程序的功能是什么?MOV AX,ACMP AX,BJGE LABXCHG AX,BLAB MOV A,AX答:求A、B中较大的数放入A中43:执行如下程序:MOV AX,0MOV BX,0MOV CX,10A:ADD AX ,BXINC BXLOOP AHLT执行后(BX)=( 0AH ),(AX)=( 2DH )44:分析下列程序:DAW DW 2A05HDAB DB
13、 0FAH.MOV AL,BYTE PTR DAWSUB DAB,AL此程序执行完后,变量DAB=( 0F5H )45:分析下列程序:ARY DW 10 DUP(?).MOV AL,TYPE ARYMOV BL,LENGTH ARYMOV CL,SIZE ARY上述MOV指令程序列执行后AL,BL和CL中的内容分别是什么?解:(AL)=2D=2H;(BL)=10D=0AH;(CL)=20D=14H46 :已知(AX)=0FF60H,CF=1,若有如下指令序列:MOV DX,96XOR DH,0FFH SBB AX,DX执行上述指令程序后,(AX)=(0),CF=(0)。47:已知(BX)=4567H,若有如下指令程序:NEG BXINC BXNEG BXDEC BX执行上述指令序列后,(BX)=(4565H),CF=(1)48:分析下列程序:MOV AX,0MOV BX,1MOV CX,100A:ADD AX ,BX INC BXLOOP AHLT以上程序段执行后(BX)=( 65H=101D ),(AX)=(13BAH=5050D