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

📄 asm3-3.lst

📁 51单片机用汇编实例 包括ad
💻 LST
字号:
A51 MACRO ASSEMBLER  ASM3_3                                                               07/20/2005 09:59:52 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN Asm3-3.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE Asm3-3.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;==============================================================
                       2     ; 文件名称: Asm3-3.asm
                       3     ; 功能描述: 双字节除法. 使用'移位相减'的算法.
                       4     ;           R7R6÷R5R4-->R7R6(商)......R3R2(余数)
                       5     ;==============================================================
                       6     
0000                   7             ORG 0000H
0000 020100            8             LJMP MAIN
0100                   9             ORG 0100H
0100 EC               10     MAIN:   MOV A, R4       ;执行程序前为R7R6(被除数), R5R4(除数)赋值
0101 7003             11             JNZ DDIV0       ;除数不为0, 转DDIV0
0103 ED               12             MOV A, R5
0104 6027             13             JZ ERROR        ;除数为0, 转ERROR
0106 7A00             14     DDIV0:  MOV R2, #00H    ;余数寄存器清零
0108 7B00             15             MOV R3, #00H
010A 7910             16             MOV R1, #16     ;循环次数为16
010C C3               17     DDIV1:  CLR C           ;R3R2R7R6左移1位
010D EE               18             MOV A, R6
010E 33               19             RLC A
010F FE               20             MOV R6, A
0110 EF               21             MOV A, R7
0111 33               22             RLC A
0112 FF               23             MOV R7, A
0113 EA               24             MOV A, R2
0114 33               25             RLC A
0115 FA               26             MOV R2, A
0116 EB               27             MOV A, R3
0117 33               28             RLC A
0118 FB               29             MOV R3, A
0119 EA               30             MOV A, R2       ;部分余数减除数
011A 9C               31             SUBB A, R4      ;低8位相减
011B 4009             32             JC DDIV2        ;不够减, 转DDIV2
011D F8               33             MOV R0, A       ;暂存相减结果
011E EB               34             MOV A, R3
011F 9D               35             SUBB A, R5      ;高8位相减
0120 4004             36             JC DDIV2        ;不够减, 转DDIV2
0122 0E               37             INC R6          ;够减, 则商为1
0123 FB               38             MOV R3, A       ;相减结果送R3R2中
0124 E8               39             MOV A, R0
0125 FA               40             MOV R2, A
0126 D9E4             41     DDIV2:  DJNZ R1, DDIV1  ;16位未除完则继续
0128 C2D5             42             CLR F0          ;除数合法标志
012A 020100           43             LJMP MAIN       ;设置断点观察结果, 可继续下一轮运算
                      44     
012D D2D5             45     ERROR:  SETB F0         ;除数非法标志
012F 020100           46             LJMP MAIN       ;设置断点观察结果, 可继续下一轮运算
                      47     
                      48             END
A51 MACRO ASSEMBLER  ASM3_3                                                               07/20/2005 09:59:52 PAGE     2

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

DDIV0. . . . . . .  C ADDR   0106H   A   
DDIV1. . . . . . .  C ADDR   010CH   A   
DDIV2. . . . . . .  C ADDR   0126H   A   
ERROR. . . . . . .  C ADDR   012DH   A   
F0 . . . . . . . .  B ADDR   00D0H.5 A   
MAIN . . . . . . .  C ADDR   0100H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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