⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 keilc关于LM75A温度计的使用例程
💻 LST
📖 第 1 页 / 共 5 页
字号:
                +1   206     ;宏定义:BEQ_W(Branch if Equal)
                +1   207     ;功能:双字节数比较,如果相等则跳转
                +1   208     ;参数:
                +1   209     ;       (xh,xl),(yh,yl):要比较的两个数
                +1   210     ;       Label:跳转目标
                +1   211     ;*************************************************************************
                +1   212     BEQ_W   MACRO   xh,xl, yh,yl, Label
                +1   213     LOCAL   next
                +1   214             MOV     A, xl
                +1   215             XRL     A, yl
                +1   216             JNZ     next
                +1   217             MOV     A, xh
                +1   218             XRL     A, yh
                +1   219             JZ      Label
                +1   220     next:
                +1   221             ENDM
                +1   222     
                +1   223     
                +1   224     ;*************************************************************************
                +1   225     ;宏定义:BNE_W(Branch if Not Equal)
                +1   226     ;功能:双字节数比较,如果不相等则跳转
                +1   227     ;参数:
                +1   228     ;       (xh,xl),(yh,yl):要比较的两个数
                +1   229     ;       Label:跳转目标
                +1   230     ;*************************************************************************
                +1   231     BNE_W   MACRO   xh,xl, yh,yl, Label
                +1   232             MOV     A, xl
                +1   233             CJNE    A, yl, Label
                +1   234             MOV     A, xh
                +1   235             CJNE    A, yh, Label
                +1   236             ENDM
                +1   237     
                +1   238     
                +1   239     ;*************************************************************************
                +1   240     ;宏定义:BHS_W(Branch if High or Same)
                +1   241     ;功能:双字节无符号数比较,如果大于或等于则跳转
                +1   242     ;参数:
                +1   243     ;       (xh,xl),(yh,yl):要比较的两个数
                +1   244     ;       Label:跳转目标
                +1   245     ;*************************************************************************
                +1   246     BHS_W   MACRO   xh,xl, yh,yl, Label
                +1   247             CLR     C
                +1   248             MOV     A, xl
                +1   249             SUBB    A, yl
                +1   250             MOV     A, xh
                +1   251             SUBB    A, yh
                +1   252             JNC     Label
                +1   253             ENDM
                +1   254     
                +1   255     
                +1   256     ;*************************************************************************
A51 MACRO ASSEMBLER  MAIN                                                                 06/23/2006 11:55:35 PAGE     5

                +1   257     ;宏定义:BHI_W(Branch if High)
                +1   258     ;功能:双字节无符号数比较,如果大于则跳转
                +1   259     ;参数:
                +1   260     ;       (xh,xl),(yh,yl):要比较的两个数
                +1   261     ;       Label:跳转目标
                +1   262     ;*************************************************************************
                +1   263     BHI_W   MACRO   xh,xl, yh,yl, Label
                +1   264             SETB    C
                +1   265             MOV     A, xl
                +1   266             SUBB    A, yl
                +1   267             MOV     A, xh
                +1   268             SUBB    A, yh
                +1   269             JNC     Label
                +1   270             ENDM
                +1   271     
                +1   272     
                +1   273     ;*************************************************************************
                +1   274     ;宏定义:BLS_W(Branch if Low or Same)
                +1   275     ;功能:双字节无符号数比较,如果小于或等于则跳转
                +1   276     ;参数:
                +1   277     ;       (xh,xl),(yh,yl):要比较的两个数
                +1   278     ;       Label:跳转目标
                +1   279     ;*************************************************************************
                +1   280     BLS_W   MACRO   xh,xl, yh,yl, Label
                +1   281             SETB    C
                +1   282             MOV     A, xl
                +1   283             SUBB    A, yl
                +1   284             MOV     A, xh
                +1   285             SUBB    A, yh
                +1   286             JC      Label
                +1   287             ENDM
                +1   288     
                +1   289     
                +1   290     ;*************************************************************************
                +1   291     ;宏定义:BLO_W(Branch if Low)
                +1   292     ;功能:双字节无符号数比较,如果小于则跳转
                +1   293     ;参数:
                +1   294     ;       (xh,xl),(yh,yl):要比较的两个数
                +1   295     ;       Label:跳转目标
                +1   296     ;*************************************************************************
                +1   297     BLO_W   MACRO   xh,xl, yh,yl, Label
                +1   298             CLR     C
                +1   299             MOV     A, xl
                +1   300             SUBB    A, yl
                +1   301             MOV     A, xh
                +1   302             SUBB    A, yh
                +1   303             JC      Label
                +1   304             ENDM
                +1   305     
                     306     ;$include (Calc.INC) ;运算类程序
                +1   307     ;*************************************************************************
                +1   308     ;实用的8051单片机运算类程序
                +1   309     ;适用于Keil C51编译器
                +1   310     ;*************************************************************************
                +1   311     
                +1   312     
                +1   313     ;*************************************************************************
                +1   314     ;宏定义:XRLCB
                +1   315     ;功能:CY与位变量_b异或,结果保存在CY中
                +1   316     ;*************************************************************************
                +1   317     XRLCB   MACRO   _b
                +1   318     LOCAL   next
                +1   319             JNB     _b, next
                +1   320             CPL     C
                +1   321     next:
                +1   322             ENDM
A51 MACRO ASSEMBLER  MAIN                                                                 06/23/2006 11:55:35 PAGE     6

                +1   323     
                +1   324     
                +1   325     ;*************************************************************************
                +1   326     ;宏定义:XRLBB
                +1   327     ;功能:两个位变量异或,结果保存在CY中
                +1   328     ;*************************************************************************
                +1   329     XRLBB   MACRO   b1, b2
                +1   330     LOCAL   next
                +1   331             MOV     C, b2
                +1   332             JNB     b1, next
                +1   333             CPL     C
                +1   334     next:
                +1   335             ENDM
                +1   336     
                +1   337     
                +1   338     ;*************************************************************************
                +1   339     ;宏定义:ADD_W
                +1   340     ;功能:两个16位数相加
                +1   341     ;参数:(xh,xl) = (xh,xl) + (yh,yl)
                +1   342     ;*************************************************************************
                +1   343     ADD_W   MACRO   xh,xl, yh,yl
                +1   344             MOV     A, xl
                +1   345             ADD     A, yl
                +1   346             MOV     xl, A
                +1   347             MOV     A, xh
                +1   348             ADDC    A, yh
                +1   349             MOV     xh, A
                +1   350             ENDM
                +1   351     
                +1   352     
                +1   353     ;*************************************************************************
                +1   354     ;宏定义:ADDC_W
                +1   355     ;功能:两个16位数带进位相加
                +1   356     ;参数:(xh,xl) = (xh,xl) + (yh,yl) + C
                +1   357     ;*************************************************************************
                +1   358     ADDC_W  MACRO   xh,xl, yh,yl
                +1   359             MOV     A, xl
                +1   360             ADDC    A, yl
                +1   361             MOV     xl, A
                +1   362             MOV     A, xh
                +1   363             ADDC    A, yh
                +1   364             MOV     xh, A
                +1   365             ENDM
                +1   366     
                +1   367     
                +1   368     ;*************************************************************************
                +1   369     ;宏定义:INC_W
                +1   370     ;功能:16位数自增1
                +1   371     ;参数:(xh,xl) = (xh,xl) + 1
                +1   372     ;*************************************************************************
                +1   373     INC_W   MACRO   xh, xl
                +1   374     LOCAL   next
                +1   375             INC     xl
                +1   376             MOV     A, xl
                +1   377             JNZ     next
                +1   378             INC     xh
                +1   379     next:
                +1   380             ENDM
                +1   381     
                +1   382     
                +1   383     ;*************************************************************************
                +1   384     ;宏定义:SUB_W
                +1   385     ;功能:两个16位数相减
                +1   386     ;参数:(xh,xl) = (xh,xl) - (yh,yl)
                +1   387     ;*************************************************************************
                +1   388     SUB_W   MACRO   xh,xl, yh,yl
A51 MACRO ASSEMBLER  MAIN                                                                 06/23/2006 11:55:35 PAGE     7

                +1   389             MOV     A, xl
                +1   390             CLR     C
                +1   391             SUBB    A, yl
                +1   392             MOV     xl, A
                +1   393             MOV     A, xh
                +1   394             SUBB    A, yh
                +1   395             MOV     xh, A
                +1   396             ENDM
                +1   397     
                +1   398     
                +1   399     ;*************************************************************************
                +1   400     ;宏定义:SUBB_W
                +1   401     ;功能:两个16位数带借位相减
                +1   402     ;参数:(xh,xl) = (xh,xl) - (yh,yl) - C
                +1   403     ;*************************************************************************
                +1   404     SUBB_W  MACRO   xh,xl, yh,yl
                +1   405             MOV     A, xl
                +1   406             SUBB    A, yl
                +1   407             MOV     xl, A
                +1   408             MOV     A, xh
                +1   409             SUBB    A, yh
                +1   410             MOV     xh, A
                +1   411             ENDM
                +1   412     
                +1   413     
                +1   414     ;*************************************************************************
                +1   415     ;宏定义:DEC_W
                +1   416     ;功能:16位数自减1
                +1   417     ;参数:(xh,xl) = (xh,xl) - 1
                +1   418     ;*************************************************************************
                +1   419     DEC_W   MACRO   xh, xl

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -