2004年自学考试汇编语言模拟试题(二) | |
---|---|
http://www.sina.com.cn 2004/10/21 13:57 华夏大地教育网 | |
二,简答题(每小题4分,共12分) 1.假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。 (1)SHR DX,1 (2)RCR DL,1 (3)RCL DX,CL 答:(1) 005CH (2) 0 [解析](1)指令:SHR DX, 1 使DX的内容向右移动了一位,因此DX的内容变为0000’0000’0101’1100B,即005CH。 (2)指令:RCR DL, 1 使DL的内容向右循环带进位移动了一位,DH的内容不变,因此DX的内容变为0000’0000’1101’1100B,即00DCH。 (3)指令:RCL DX, CL 使DX的内容向左循环带进位移动了3位,因此DX的内容变为0000’0101’1100’1100B,即05CCH。 2.写出完成下述功能的程序段: (1)传送25H到AL寄存器 (2)将AL的内容乘以2 (3)传送15H到BL寄存器 (4)AL的内容乘以BL的内容 并请写出最后(AX)=? 答:(1)MOV AL, 25H (2)SHL AL, 1 (3)MOV BL, 15H (4)MUL BL 最后,(AX)=612H =1554 [解析]1)将AL的内容左移1位,将使它的内容扩大2倍,即使AL的内容乘以2。 2)最后,AX的内容应为25H*2*15H=612H=1554 3.写一程序段,求双字长数DX∶bX的相反数。 答:NEG DX NEG AX SBB DX, 0 [解析]求双字长数DX:AX相反数,即对其求补,所以应实现的操作是: (DX:AX) ← 0-(DX:AX) 即 0 : 0 -) DX : AX 将上面的算式分解后,即为对DX求补,对AX求补,并从DX中减去将AX求补时产生的借位。所以相应的指令就是: NEG DX NEG AX SBB DX, 0 |