单片机程序填空:根据30H单元内容操作40H单元
程序功能: 设片内RAM 30H的内容为无符号数,若30H单元内容大于#10H,则片内RAM40H单元置30H单元内容的高4位;若30H单元内容小于#10H,则40H单元置30H单元内容的低4位;若30H单元内容等于#10H,40H单元置为#01H.
程序代码:
MOV A,30H
CJNE 30H, '1: #10H', LP1
MOV 40H, '2: 30H'
SJMP LP2
LP1: JC LP3
'3: JNC' A
'4: ANL' A, #0FH
MOV 40H,A
SJMP LP2
LP3: 5 30H, #0FH
MOV 40H,30H
LP2: SJMP $
代码解释:
CJNE 30H, #10H, LP1: 将30H单元内容与#10H比较,若不相等则跳转到LP1;MOV 40H, 30H: 将30H单元内容直接存入40H单元;JNC LP3: 若比较结果为CF=0 (大于等于),则跳转到LP3;ANL A, #0FH: 将A寄存器内容与#0FH进行与运算,保留低4位;MOV 40H, 30H: 将30H单元内容存入40H单元,此时30H单元内容已经经过了与#0FH运算,保留了低4位。
本程序利用了CJNE指令和标志位CF来判断30H单元内容的大小,并根据大小分别对40H单元进行不同的操作。
原文地址: https://www.cveoy.top/t/topic/ombt 著作权归作者所有。请勿转载和采集!