|
RE: 請問下面兩段程序有什么區(qū)別程序 菜鳥求教51系列編程
單從這兩段程序看,結(jié)果完全一樣,第一段程序多了一個R0,這里的R0只起過渡作用。
ORG 0200H ;程序起始地址為0200H
MOV A, 40H ;將地址為40H的寄存器中數(shù)據(jù)傳送給累加器A
MOV R0, 41H ;將地址為41H的寄存器中數(shù)據(jù)傳送給工作寄存器R0
CJNE A, 41H, GP2 ;將累加器A中數(shù)據(jù)與工作寄存器R0進行比較,如果不等跳轉(zhuǎn)到GP2執(zhí)行
GP1:MOV 50H, A ;將累加器A中數(shù)據(jù)傳送給地址為40H的寄存器
MOV 51H, R0 ;將工作寄存器R0中數(shù)據(jù)傳送給地址為51H的寄存器
SJMP GP3 ;跳轉(zhuǎn)到GP3 執(zhí)行
GP2: JNC GP1 ;進位標志位Cy中數(shù)據(jù)等于0,則跳轉(zhuǎn)到GP1執(zhí)行
MOV 51H, A ;將累加器A中數(shù)據(jù)傳送給地址為51H的寄存器
MOV 50H, R0 ;將工作寄存器R0中數(shù)據(jù)傳送給地址為41H的寄存器
GP3:SJMP GP3 ;跳轉(zhuǎn)到GP3 執(zhí)行
END ;程序結(jié)束
程序2
ORG 0200H ;程序起始地址為0200H
MOV A,40H ;將地址為40H的寄存器中數(shù)據(jù)傳送給累加器A
CJNE A , 41H, GP2 ;將累加器A中數(shù)據(jù)與工作寄存器R0進行比較,如果不等跳轉(zhuǎn)到GP2執(zhí)行
GP1:MOV 50H, A ;將累加器A中數(shù)據(jù)傳送給地址為40H的寄存器
MOV 51H, 41H ;將地址為41H中數(shù)據(jù)傳送給地址為51H的寄存器
SJMP GP3 ;跳轉(zhuǎn)到GP3 執(zhí)行
GP2:JNC GP1 ;進位標志位Cy中數(shù)據(jù)等于0,則跳轉(zhuǎn)到GP1執(zhí)行
MOV 51H, A ;將累加器A中數(shù)據(jù)傳送給地址為51H的寄存器
MOV 50H, 41H ;將地址為41H中數(shù)據(jù)傳送給地址為50H的寄存器
GP3:SJMP GP3 ;跳轉(zhuǎn)到GP3 執(zhí)行
END ;程序結(jié)束
|
|