登录
首页 单片机论坛
回帖 发帖
正文

主题:求助!!我是初学的菜鸟,自己写的程序段,请高手帮我看一下,指点指点!

点击:1078 回复:2

要求:求20H单元和21H单元中两补码数差的绝对值,即(21H)—(20H)。结果保留在A中。若计算结果出现溢出,则置22H单元为0FFH,否则,22H为00H。
MOV   R0   #21H
MOV   R1    #20H
MOV   A     @R0
CLP      A
INC       A
MOV    @R0   A
MOV   A     @R1
CLP     A
INC    A
MOV   @R1    A
MOV    A    @R0
SUBB    A    @R1
JB     PSW.2     LOOP
MOV    22H    #00H
LOOP:MOV   22H   #0FFH
另外小弟在书上看到好多程序开始时是用的ORG   ****H,我要是开始不用这个可以不,要是不要和要的有什么区别,还有SJMP$是什么意思,小弟找了好多资料还是不明白!!
还请高人指点,小弟先谢谢了啊!!!
06-02-08 12:00
sjmp $ 就是等待的意思
ORG 是开始地质的意思,有的 方针器不是,我的就是 ,CSEG 0000H
06-05-12 19:11
汇编中$一般表示本条指令的地址,sjmp $ 就是跳转到本身的意思了,其实就是个死循环,意味着等待某些外部中断或定时中断来打断它.
ORG是告诉编译器在连接时要把这段程序放在指定地址开始的地方.就这么简单
06-05-18 09:55

工控新闻

更多新闻资讯