简单的汇编问题
ORG0000HLJMPMAINORG0003HLJMPINTORG1000HMAIN:SETBEASETBEX0CLRIT0SETBP0.0SJMP$INT:PUSHA...
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT
ORG 1000H
MAIN:SETB EA
SETB EX0
CLR IT0
SETB P0.0
SJMP $
INT: PUSH ACC
PUSH PSW
JNZ P3.2,$ 为什么该句跳出了范围??
CPL P0.0
POP PSW
POP ACC
RETI
END 展开
LJMP MAIN
ORG 0003H
LJMP INT
ORG 1000H
MAIN:SETB EA
SETB EX0
CLR IT0
SETB P0.0
SJMP $
INT: PUSH ACC
PUSH PSW
JNZ P3.2,$ 为什么该句跳出了范围??
CPL P0.0
POP PSW
POP ACC
RETI
END 展开
2个回答
展开全部
JNZ P3.2, $ ; 51 没有这条指令
JNB P3.2, $ ; 应该用这条 低电平等待 高电平往下执行
JB P3.2, $ ; 这条是 高电平等待 低电平往下执行
ORG 0000H ; 其实 设置中断程序这样就可以了
LJMP MAIN
ORG 0003H
LJMP INT
MAIN:SETB EA
SETB EX0
SETB IT0
SETB P0.0
SJMP $
INT: CPL P0.0 ; 其实 中断程序这样就可以了
RETI
END
JNB P3.2, $ ; 应该用这条 低电平等待 高电平往下执行
JB P3.2, $ ; 这条是 高电平等待 低电平往下执行
ORG 0000H ; 其实 设置中断程序这样就可以了
LJMP MAIN
ORG 0003H
LJMP INT
MAIN:SETB EA
SETB EX0
SETB IT0
SETB P0.0
SJMP $
INT: CPL P0.0 ; 其实 中断程序这样就可以了
RETI
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询