欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機設計東西,南北方向通行30秒,警告5秒,禁止35秒,東西或南北出現(xiàn)異常,該... [打印本頁]

作者: fxl1111    時間: 2020-3-28 10:00
標題: 51單片機設計東西,南北方向通行30秒,警告5秒,禁止35秒,東西或南北出現(xiàn)異常,該...
匯編語言東西方出現(xiàn)異常,東西綠燈閃,南北紅燈閃60秒
INT0:MOV A,P1
           PUSH ACC
           MOV B,R4
          MOV R2,#60
LINT0:MOV P1,#00010001B
            LCALL DELL500ms
           MOV P1,#00000000B
            LCALL DELL500ms
          DJNZ R2,LINT0
          MOV R4,B
           POP ACC
         MOV P1,ACC
      RETI
有兩個疑問請教大家:MOV B,R4MOV R4,B這兩句指令什么意思?
                                MOV A,P1MOV P1,ACC什么意思,MOV P1,ACC是不是應該改成MOV P1,A
謝謝!


作者: csmyldl    時間: 2020-3-28 11:25
從這個中斷程序來看,MOV B,R4和MOV R4,B這兩句在程序中完成了R4寄存器的保護功能,可能原因是:延時程序DELL500ms中用到了寄存器R4,為了不使R4寄存器中的數(shù)據(jù)丟失,因而進行保護
MOV A,P1和MOV P1,ACC什么意思,MOV P1,ACC是不是應該改成MOV P1,A
MOV A,P1是檢測P1口狀態(tài),如按鍵,MOV P1,ACC是改變P1口指示,如LED燈
MOV P1,ACC是不是應該改成MOV P1,A: 可以改可以不改,ACC是A的地址, A是寄存器
作者: fxl1111    時間: 2020-3-28 14:02
csmyldl 發(fā)表于 2020-3-28 11:25
從這個中斷程序來看,MOV B,R4和MOV R4,B這兩句在程序中完成了R4寄存器的保護功能,可能原因是:延時程序DELL ...

延時程序是用到了R4,但這個異常中斷好像沒有用到R4啊,為什么要保護它?
MOV A,P1
PUSH ACC
結(jié)尾POP ACC
      MOV P1,A
可不可理解為將中斷前的p1狀態(tài)保存,出棧后,再將中斷前的p1狀態(tài)還給p1。所以結(jié)尾的ACC可以改成A。
謝謝。
作者: csmyldl    時間: 2020-3-28 15:41
fxl1111 發(fā)表于 2020-3-28 14:02
延時程序是用到了R4,但這個異常中斷好像沒有用到R4啊,為什么要保護它?
MOV A,P1
PUSH ACC

是的,指令要求PUSH 和POP指令后是直接地址,所以只能用 PUSH ACC 或POP ACC
作者: csmyldl    時間: 2020-3-28 15:41
fxl1111 發(fā)表于 2020-3-28 14:02
延時程序是用到了R4,但這個異常中斷好像沒有用到R4啊,為什么要保護它?
MOV A,P1
PUSH ACC

POP ACC不能改為POP  A
作者: fxl1111    時間: 2020-3-30 07:51
csmyldl 發(fā)表于 2020-3-28 15:41
POP ACC不能改為POP  A

POP ACC不能改為A,那結(jié)尾的MOV P1,ACC能不能改為MOV P1,A。
作者: fxl1111    時間: 2020-3-30 07:53
csmyldl 發(fā)表于 2020-3-28 15:41
是的,指令要求PUSH 和POP指令后是直接地址,所以只能用 PUSH ACC 或POP ACC

這個是不能用A。只能用ACC進出棧。那結(jié)尾的MOV P1,ACC能不能改為MOV P1,A。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1