题目
分析以下指令的执行结果: MOV A, #36H; (A)是______ ? MOV 30H, #48H; (30H)是______ ? ANL A,30H; (A)是______ ? ORL 30H, #F0H; (30H)是______ ?CPL A; (A)是______ ?
分析以下指令的执行结果: MOV A, #36H; (A)是______ ? MOV 30H, #48H; (30H)是______ ? ANL A,30H; (A)是______ ? ORL 30H, #F0H; (30H)是______ ?CPL A; (A)是______ ?
题目解答
答案
(A)=36H:)(30H)=48H:)(A)=00H:)(30H)=F8H:)(A)=FFH
解析
步骤 1:MOV A, #36H
将立即数36H(二进制为00110110)加载到累加器A中,因此(A) = 36H。
步骤 2:MOV 30H, #48H
将立即数48H(二进制为01001000)加载到内存地址30H中,因此(30H) = 48H。
步骤 3:ANL A,30H
将累加器A中的值与内存地址30H中的值进行按位与操作。36H(00110110)与48H(01001000)进行按位与操作,结果为00000000,因此(A) = 00H。
步骤 4:ORL 30H, #F0H
将内存地址30H中的值与立即数F0H(二进制为11110000)进行按位或操作。48H(01001000)与F0H(11110000)进行按位或操作,结果为11111000,因此(30H) = F8H。
步骤 5:CPL A
将累加器A中的值进行按位取反操作。00H(00000000)取反后为11111111,因此(A) = FFH。
将立即数36H(二进制为00110110)加载到累加器A中,因此(A) = 36H。
步骤 2:MOV 30H, #48H
将立即数48H(二进制为01001000)加载到内存地址30H中,因此(30H) = 48H。
步骤 3:ANL A,30H
将累加器A中的值与内存地址30H中的值进行按位与操作。36H(00110110)与48H(01001000)进行按位与操作,结果为00000000,因此(A) = 00H。
步骤 4:ORL 30H, #F0H
将内存地址30H中的值与立即数F0H(二进制为11110000)进行按位或操作。48H(01001000)与F0H(11110000)进行按位或操作,结果为11111000,因此(30H) = F8H。
步骤 5:CPL A
将累加器A中的值进行按位取反操作。00H(00000000)取反后为11111111,因此(A) = FFH。