汇编语言 1 STC 2 MOV AL,03H 3 AND AL,02H 4 ADC AL,00H 为什么(AL)= 02 ?
发布网友
发布时间:2022-10-27 01:45
我来回答
共1个回答
热心网友
时间:2023-09-20 23:28
STC ;执行后,置进位标志位.Cy =1
MOV AL,03H ;执行后,AL = 03H =00000011B
AND AL,02H ;执行后,AL = 03H & 02H =00000011B & 00000010B =00000010B=02H
ADC AL,00H ;执行后,AL = 02H +00H +Cy =03H
逻辑与操作:任何数和0相与,结果为0;任何数和1相与,结果保持不变。
所以, 03H & 02H =00000011B & 00000010B =00000010B=02H追问可是最终上机测试答案是 AL=02
追答好吧,我上机调试了一下,果然结果为AL=02H。
单步调试后发现,执行AND AL,02H后,进位标志位CF被清零了。
原来 执行AND指令会将CF和OF清零。