早教吧 育儿知识 作业答案 考试题库 百科 知识分享

分析下面程序段执行后AX的内容?说明AX是怎么得来的?MOVAX0DECAXADDAX,7FFFHADDAX,2NOTAXSUBAX,0FFFFHADDAX,8000HORAX,0BFDFHANDAX,0EBEDHSALAX,1RCLAX,1

题目详情
分析下面程序段执行后AX的内容?说明AX是怎么得来的?
MOV AX 0
DEC AX
ADD AX,7FFFH
ADD AX,2
NOT AX
SUB AX,0FFFFH
ADD AX,8000H
OR AX,0BFDFH
AND AX,0EBEDH
SAL AX,1
RCL AX,1
▼优质解答
答案和解析
MOV AX,0 ;ax=0,这个不用解释吧
DEC AX ;ax=0ffffh,因为0-1=-1,负数在计算机内部是以补码形式表示的,即0ffffh.
ADD AX,7FFFH ;ax=7ffeh,7fffh-1=7ffeh
ADD AX,2 ;ax=8000h,7ffeh+2,向前进位就是了
NOT AX ;ax=7fffh,转换成二进制按位取反
SUB AX,0FFFFH ;ax=8000h,7fffh-(-1)=7fffh+1
ADD AX,8000H ;ax=0000h,8000h+8000h,最高位产生进位,自然丢弃
OR AX,0BFDFH ;ax=0bfdfh,任意数与0相或,保持不变
AND AX,0EBEDH ;ax=0abcdh,转换成二进制按位与.
SAL AX,1 ;ax=579ah,且cf=1转换成二进制,左移一位
RCL AX,1 ;ax=af35h,带进位循环左移1位.