
简单的汇编题目!(我是初学者,麻烦大家进来看看啊)
下列程序段执行后,寄存器AL的值是(),寄存器BL的值()MOVAL,148MOVCL,4SARAL,CLMOVBL,8SALBL,CLXORAL,BL答案是121和12...
下列程序段执行后,寄存器AL的值是( ),寄存器BL的值( )
MOV AL,148
MOV CL,4
SAR AL,CL
MOV BL,8
SAL BL,CL
XOR AL,BL
答案是121 和128
我不知道 那个AL是怎么出来的啊!
我觉得,AL开始是10010100 ,SAR AL,CL后AL=01001001(好像不对,麻烦大家指点), SAL BL,CL BL=10000000,AL异或后怎么也不是121啊!麻烦高手指教啊! 展开
MOV AL,148
MOV CL,4
SAR AL,CL
MOV BL,8
SAL BL,CL
XOR AL,BL
答案是121 和128
我不知道 那个AL是怎么出来的啊!
我觉得,AL开始是10010100 ,SAR AL,CL后AL=01001001(好像不对,麻烦大家指点), SAL BL,CL BL=10000000,AL异或后怎么也不是121啊!麻烦高手指教啊! 展开
1个回答
展开全部
你没搞清楚sal的算法,sal是算数右移,最高位不变,
所以SAR AL,CL后,AL=1111 1001
SAL BL,CL后,BL=1000 0000
异或之后,AL=0111 1001 也就是121,BL是128
完毕。
所以SAR AL,CL后,AL=1111 1001
SAL BL,CL后,BL=1000 0000
异或之后,AL=0111 1001 也就是121,BL是128
完毕。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询