程序功能: 设片内 RAM 30H 的内容为无符号数,若 30H 单元内容大于 #10H,则片内 RAM 40H 单元置 30H 单元内容的高 4 位;若 30H 单元内容小于 #10H,则 40H 单元置 30H 单元内容的低 4 位;若 30H 单元内容等于 #10H,40H 单元置为 #01H.

程序代码:

MOV      A,30H       
CJNE     30H,  '1' , LP1       
MOV      40H,  '2'                 
SJMP     LP2

LP1:     JC        LP3
'3'    A         
'4'     A, #0FH       
MOV      40H,A       
SJMP      LP2

LP3:        '5'    30H, #0FH 
MOV      40H,30H 

LP2:     SJMP      $

代码分析:

  1. CJNE 30H, '1', LP1:比较 30H 单元内容与 #10H,如果不相等则跳转到 LP1
  2. MOV 40H, '2':若 30H 与 #10H 相等,将 30H 内容直接写入 40H 单元
  3. '3' A:将 A 寄存器中的 30H 内容与 #0FH 进行与运算,保留低 4 位
  4. '4' A, #0FH:将 A 寄存器中的 30H 内容与 #0FH 进行与运算,保留低 4 位
  5. '5' 30H, #0FH:将 30H 内容与 #0FH 进行与运算,保留高 4 位

填空答案:

  1. #10H
  2. 30H
  3. ANL
  4. MOV
  5. CPL
8051 单片机程序分析:判断数据大小并进行相应操作

原文地址: https://www.cveoy.top/t/topic/ombB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录