第5章:汇编语言程序设计

Similar documents
2.5 idlocs PIC idloc idloc 0x1234 ; 0x config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel

PIC16F F MPLAB 08 16F LED 15 LED

文件名

INCF SEC1,F ; 將 SEC1+1 作查表取回對應數字 MOVF SEC1,W banksel STRING1 banksel PORTB RETFIE run_sec2: MOVF SEC2,W SUBLW.5 GOTO run_min ; 將秒個位數歸 0 CLRF SEC1 MOVL

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

AN579

PIC16F87X基本指令說明

701PIC Introduction to PICMicro MCUs

DPJJX1.DOC

AN510

Microsoft PowerPoint - 701_PIC-CHN_Attendee.ppt

untitled

PIC PICC C 4K C <10% C PIC 11.3 MPLAB-IDE PICC PICC MPLAB-IDE MPLAB-IDE ICE2000 ICD2 PICC MPLAB-IDE IDE Project Set Language Tool Locations

Microsoft Word - S153B.doc

33023A.book(31005A_cn.fm)

<A1AAA1AA475053B4AEBFDACAFDBEDDBDD3CAD5B3CCD0F2CAB5C0FD>

第1章 ISIS编辑器指南

<4D F736F F F696E74202D B5A5C6ACBBFAD3EBB5E7D7D3CFB5CDB3C9E8BCC62E707074>

7688使用手冊V10.doc

33023A.book(31006A_cn.fm)

AN546

目 录

学习MSP430单片机推荐参考书

Microsoft Word - 論文終極板.doc

PIC8位单片机汇编语言常用指令的识读(上)

CA24064B LED LED LED EL EL CCFL EL CCF /

untitled

什麼是 MPASM MPASM 就是 Microchip PICmicro Assembler 單一原始檔案格式 將組合語言直接翻譯成 hex 格式的機械碼 多原始檔案格式 將組合語言翻譯成 object 格式的檔案, 該檔案須經連結器 (linker) 再產生 hex 格式的機械碼 2003 Mi

單親家庭家務工作之研究

00513D_CN.FM

ICD ICD ICD ICD ICD


AN541

PICkit2 LPC

untitled

目录 1. 产品简介 功能特性 引脚图 引脚描述 中央处理器 (CPU) 程序存储器 (OTP ROM) 堆栈 数据存储器 (RAM) INDF 寄存器.

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

untitled

上海地区进出口饲料和饲料添加剂经营单位备案名单

Microsoft Word new--use.doc

12232A LED LED LED EL EL CCFL EL CCF

1 TPIS TPIS 2 2


!"!"!"# # $! $!%%& ( )*+, ( - %& - %"./!. - &! " # $ 0("1! 2)3!%%& %.//(( %"% - 4&%.&.55 & 5%% - 5"% - %.15 "%%%"" 6778 # # 999 6:8 :;< => %"% -


农 村 环 境 保 护 系 列 _ 第 二 讲 ( 上 ) 第 二 章 自 然 资 源 的 可 持 续 利 用 与 保 护 农 村 环 境 保

(譯本)

上 海 农 商 银 行 理 财 产 品 风 险 揭 示 书 理 财 资 金, 则 客 户 面 临 产 品 期 限 延 期 调 整 等 风 险 8. 信 息 传 递 风 险 : 上 海 农 商 银 行 将 按 照 本 说 明 书 有 关 信 息 公 告 的 约 定, 进 行 产 品 信 息 披 露 客

第一章

记 忆 155 期 北 京 大 学 文 革 专 辑 (9) 目 录 专 稿 章 铎 从 高 云 鹏 的 遭 遇, 看 迟 群 之 流 的 专 制 附 : 高 云 鹏 给 胡 宗 式 章 铎 的 信 (2015 年 11 月 19 日 ) 评 论 马 云 龙 王 复 兴 抢 救 记 忆 : 一 个 北

硕士论文正文


不 会 忘 记, 历 史 不 会 忘 记, 当 一 个 古 老 神 州 正 以 崭 新 的 姿 态 昂 首 屹 立 于 世 界 东 方 的 时 候, 当 世 界 把 延 伸 的 广 角 镜 瞄 准 这 片 神 奇 土 地 的 时 候, 中 国 人 民 已 深 深 感 到, 现 在 所 拥 有 的,

标题

第 二 章 鉴 证 业 务 的 定 义 和 目 标 第 五 条 鉴 证 业 务 是 指 注 册 会 计 师 对 鉴 证 对 象 信 息 提 出 结 论, 以 增 强 除 责 任 方 之 外 的 预 期 使 用 者 对 鉴 证 对 象 信 息 信 任 程 度 的 业 务 鉴 证 对 象 信 息 是 按

Microsoft Word - media-tips-zh.doc

A 单 位 负 责 人 B 会 计 机 构 负 责 人 C 会 计 主 管 人 员 D 会 计 人 员 多 选 题 : 1. 单 位 伪 造 变 造 会 计 凭 证 会 计 账 簿, 编 制 虚 假 财 务 会 计 报 告 的, 县 级 以 上 人 民 政 府 财 政 部 可 以 依 法 行 使 的

第六篇守势





信 息 披 露 义 务 人 声 明 1 信 息 披 露 义 务 人 依 据 中 华 人 民 共 和 国 公 司 法 中 华 人 民 共 和 国 证 券 法 上 市 公 司 收 购 管 理 办 法 公 开 发 行 证 券 公 司 信 息 披 露 内 容 与 格 式 准 则 第 15 号 权 益 变 动

, (, ),,,,,, : : ( ), :,,,,,,, ( ), ( ),,,,,, ( ) ( ),, :!,,,,,,,,,,,,,,,,,,,,,,, [1 ] :,,,, :, ;, ( ),, :,,,,,,,,,,, 66

廚餘來電.doc

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--


<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

1 CPU

中国高等教育发展与院校设置和布局结构调整规划研究及工作思路

<4D F736F F D203039A6E6B0CAAD70B565ACE3C0C0BB50ABD8C4B32E646F63>

11 3 下 列 何 者 違 反 採 購 法 第 6 條 第 1 項 公 平 合 理 原 則? (1) 廠 商 履 約 期 間 第 6 條 因 機 關 提 前 使 用 目 的, 採 部 分 驗 收, 並 於 部 分 驗 收 後 將 相 關 之 履 約 保 證 金 部 分 發 還 (2) 機 關 無

Microsoft Word - Wang Jimin_CN.doc

标题

4.公共行政体制的创新.doc

学 科 / 门 类 专 业 代 码 专 业 名 称 招 生 学 院 经 济 法 学 民 商 经 济 法 学 院 中 欧 法 学 院 环 境 与 资 源 保 护 法 学 民 商 经 济 法 学 院 国 际 法 学 国 际 法 学 院 军 事 法

“秦火火”玩“火”自焚

衝出東方之珠,步向東方巨龍

改变自己,改变世界——20世纪中国外交线索刍议.doc


年报修改稿 PDF

nb.PDF

2002年半年度报告.PDF

2000年度中期报告_ _.doc

Microsoft PowerPoint - PIC18F_39th設計競賽 [相容模式]

LSTA126中文操作说明

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

!"# $% & $%%% ( ")*+,-./00-(11.-. $%! $ " # $ % & ( - ) +%23!"# $%%% %,.%,!" $%.! 1.% & /$ 3(,. ( /0% $%%% ( $%%% ( 3 5 /6%%%! ")*+,-./00-(11

!! "!! "! "!! "! "! "!!#$% & ()*+, -./!000$ 1-2$##0! 3

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

untitled

79 SZ/SH/SM ONOFF SET/RST SZSHSM SET SET RST RESET ( ) ( ) SET XXXX SET XXXX XXXX RST XXXX RST XXXX XXXX 1(2) SZ3 SZ4 SH SM I000~I177 I000~I477 I000~I

Ps22Pdf

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit


复 星 保 德 信 境 外 旅 行 意 外 伤 害 保 险 条 款 在 本 条 款 中, 您 指 投 保 人, 我 们 本 公 司 指 复 星 保 德 信 人 寿 保 险 有 限 公 司, 本 合 同 指 复 星 保 德 信 境 外 旅 行 意 外 伤 害 保 险 合 同 投 保 人 被 保 险 人

微處理機期末專題



Transcription:

第 5 章 : 汇编语言程序设计 程

汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1

汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2

汇编语言指令格式

汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3

汇编语言指令格式 1 指令 用 指令 程序 子程序 语 4

汇编语言指令格式 用 : 指令 语 用 指令 语 语 方 用 32 第 用系统 系统 用指令 存器 :ADD PCLATH 5

汇编语言指令格式 用 : 用 用 格 用 6

汇编语言指令格式 2 指令 汇编语言语 汇编指令 指令 7

汇编语言指令格式 指令 : 指令 方式 指令 格 格 8

汇编语言指令格式 3 PIC 汇编语言语 式 指令 式 用 9

汇编语言指令格式 168 式 用 式 式 1 式 2 式 H A8 0A8H 0A8 0xA8 D 168 168D 168.168 Q 250 250Q 250 - B 10101000 10101000B 10101000-10

汇编语言指令格式 用 : 用 A B C D E F 0 MPASM 编 用 设 d 用 : F d=1 W d=0 11

汇编语言指令格式 4 用 汇编语言语 程序 12

汇编语言指令格式 用 : 用 指令 用 编 13

系统伪指令

系统伪指令 汇编程序 指令系统语 式指令 语, 伪指令 伪指令汇编 器 程序 汇编 14

1 伪指令 :ORG Origin 格式 :ORG nnnn :ORG 伪指令指 伪指令 器 指令 汇编 汇编 器 程序 程序存储器 存 15

1 伪指令 :ORG Origin 5-1 3 程序 1 ; 2 ORG 0008H 3 START MOVLW 00H 4 ; 5 ABC EQU 08H 6 ORG ABC 7 START MOVLW 00H 8 ; 9 ABC EQU 04H 10 ORG ABC+4 11 START MOVLW 00H 12 ; 16

2 伪指令 :EQU Equate 格式 : EQU nn : EQU 伪指令 程序 用 EQU PIC 程序设计 存储器 EQU PIC 存器 常 用 存储器 17

2 伪指令 :EQU Equate ABC EQU 20H 伪指令 :ABC EQU 20H ABC ABC 20H 常 ABC 常 20H 用 指令 18

2 伪指令 :EQU Equate 5-2 常 系 1 ABC EQU 20H 2 ORG 0000H 3 NOP 4 MOVLW 77H 5 MOVWF 20H 6 MOVLW 88H 7 MOVF ABC,0 8 MOVLW ABC 9 NOP 10 END 19

3 程序 伪指令 :END 格式 :END : END 伪指令 汇编语言 程序 *.ASM MPASM 汇编器汇编 END 程序 程序 汇编 20

4 选 伪指令 :LIST 格式 :LIST [ 选 选 ] : LIST 伪指令用 设 汇编 汇编 程 格式 1 P < 设 器 > :P 16F877 2 R < > :R DEC R HEX R BIN 21

5 程序伪指令 :INCLUDE 格式 :INCLUDE : INCLUDE 伪指令 编 指 程序 汇编 编程 :P16F877.INC F877 用 存器 P16F877.INC F877 22

6 伪指令 :DB(DW DE DATA) 格式 :DB(DW DE DATA)< 式 >,< 式 >, : 伪指令用 程序 存 23

6 伪指令 :DB(DW DE DATA) 5-4 伪指令方 0100H 0200H 0300H 0400H 1 ORG 0000H 2 NOP 3 ORG 0100H 4 DB 45H,67H,89H,0ABH,0CDH,0EFH 5 ORG 0200H 6 DB 4567H,89ABH,0CDEFH 7 ORG 0300H 8 DB 'A', 'B', 'C', 'D', 'E', 'F', 'G' 9 ORG 0400H 10 DB "ABCDEFG" 24

6 伪指令 :DB(DW DE DATA) 5-4 伪指令方 0100H 0200H 0300H 0400H 1 ORG 0000H 2 NOP 3 ORG 0100H 4 DE 45H,67H,89H,0ABH,0CDH,0EFH 5 ORG 0200H 6 DE 4567H,89ABH,0CDEFH 7 ORG 0300H 8 DE 'A', 'B', 'C', 'D', 'E', 'F', 'G' 9 ORG 0400H 10 DE "ABCDEFG" 25

6 伪指令 :DB(DW DE DATA) PIC16F877 : DB 方式 DW DATA 方式 方式 DE 方式 方式 26

7 伪指令 :RADIX 格式 :RADIX < 式 > : RADIX 伪指令用 设 MPLAB-ICD 用 方式 MPLAB-ICD 系统 :RADIX DEC RADIX HEX RADIX OCT 27

存储器选择方式

存储器选择方式 PIC 令, 程 程序设计 存储器 选方式 存器 用 存储器 程序存储器 选方式 28

存储器 选方式 F877 存储器 512 存储器 19 存储 选择 512 9 9 方式 方式 : 29

存储器 512 存储器 4 PIC BANK 0 000H 07FH 1 080H 1FFH 2 100H 17FH 3 180H 1FFH 30

1 存储器 指令 器 7 选择 用 STATUS RP1 RP0 器 7 选择 存储器 31

1 存储器 IORWF 26H,W 设 (26H)=0x16 (W)=0x99H 9FH W (d=0) 0x16 26H 指令 32

2 存储器 指令 器 8 存储器 选择 IRP 选择 存储器 33

2 存储器 XORWF INDF, F 指令 指令 00H 00H (INDF) 存 存器 00H 用 34

3 方式 指令 指令 用 35

3 ADDLW 16H 16H W ( 设 99H) (AFH) W 指令 式 :11111100010110 6 指令 8 36

4 存器 指令 存器 存器 37

4 BSF 26H, 4 26H 存器 bit4 1 38

选伪指令 :BANKSEL 1 ABC EQU 20H 2 TEM EQU 21H 3 ORG 0000H 4 NOP 5 BANKSEL ABC 6 MOVLW 00H 7 MOVWF ABC 8 BANKSEL TEM 9 MOVLW 00H 10 MOVWF TEM 39

程序存储器 选择方式 0000H 13 选择 40

程序存储器 选择方式 0000H 13 选择 0004H 13 选择 40

程序存储器 选择方式 0000H 13 选择 0004H 13 选择 指令 存器 指令 1 程序 方 40

程序存储器 选择方式 0000H 13 选择 0004H 13 选择 指令 存器 指令 1 程序 方 PCL 指令 40

程序存储器 选择方式 0000H 13 选择 0004H 13 选择 指令 存器 指令 1 程序 方 PCL 指令 指令方式 GOTO 语 40

程序存储器 选择方式 0000H 13 选择 0004H 13 选择 指令 存器 指令 1 程序 方 PCL 指令 指令方式 GOTO 语 用子程序方式 CALL 语 语 RETRUN RETFIE RETLW 40

程序存储器 选择方式 PCL 指令 41

程序存储器 选择方式 指令 CALL GOTO RETURN RETFIE RETLW 42

选伪指令 :PAGESEL 1 ORG 0100H 2 PAGESEL ABC 3 GOTO ABC 4 5 ORG 1000H 6 ABC MOVLW 00H 7 MOVWF 20H 43

选伪指令 :PAGESEL 5-5 用 方式编 程序 16 00H 0FH 存储器 20H 2FH 44

LIST P=16F877 INCLUDE "P16F877.INC" COUNTER EQU 30H ORG 0000H NOP MOVLW 20H MOVWF FSR CLRF COUNTER LOOP MOVF COUNTER,W CALL CHABIAO MOVWF INDF INCF COUNTER INCF FSR BTFSS COUNTER,4 GOTO LOOP GOTO $ CHABIAO ADDWF PCL,F RETLW 00H RETLW 01H RETLW 02H RETLW 03H RETLW 04H... RETLW 0AH RETLW 0BH RETLW 0CH RETLW 0DH RETLW 0EH RETLW 0FH END

LIST P=16F877 INCLUDE "P16F877.INC" COUNTER EQU 30H ORG 0000H NOP MOVLW 20H MOVWF FSR CLRF COUNTER LOOP MOVF COUNTER,W CALL CHABIAO MOVWF INDF INCF COUNTER INCF FSR BTFSS COUNTER,4 GOTO LOOP GOTO $ CHABIAO ORG 0100H ADDWF PCL,F RETLW 00H RETLW 01H RETLW 02H RETLW 03H RETLW 04H... RETLW 0AH RETLW 0BH RETLW 0CH RETLW 0DH RETLW 0EH RETLW 0FH END

LIST P=16F877 INCLUDE "P16F877.INC" COUNTER EQU 30H ORG 0000H NOP MOVLW 20H MOVWF FSR CLRF COUNTER LOOP MOVF COUNTER,W PAGESEL CHABIAO CALL CHABIAO MOVWF INDF INCF COUNTER INCF FSR BTFSS COUNTER,4 GOTO LOOP GOTO $ CHABIAO ORG 1EF8H ADDWF PCL,F RETLW 00H RETLW 01H RETLW 02H RETLW 03H RETLW 04H... RETLW 0AH RETLW 0BH RETLW 0CH RETLW 0DH RETLW 0EH RETLW 0FH END

PAGESEL 5-5 1 SUBLW 08H 2 BTFSC STATUS, C 3 GOTO POP 4 BSF PCLATH, 0 5 GOTO WTO 6 POP BCF PCLATH, 0 7 WTO BSF PCLATH, 1 8 BSF PCLATH, 2 9 MOVF COUNTER, W 10 PAGESEL CHABIAO 48

常用子程序

程序格式 程序 编 格式 编程 程序 ; ; ; INDF EQU 00H ; 程序 指令 用 TMR0 EQU 01H ; 存器 PCL EQU 02H ; 用 X EQU 20H ; Y EQU 21H 49

程序格式 ; ; ( 16F87X) ; ORG 0000H ; 0000H GOTO MAIN ; 程序 ORG 0004H ; 0004H GOTO INT_BODY ; 程序 ; ; 程序 ; ORG 0005H ; 0005H 存 程序 MAIN CLRW CALL SUB GOTO MAIN 50

程序格式 ; ; 子程序 ; SUB MOVLW 01H ; 子程序 RETURN ; 子程序 ; ; 程序 ; INT_BODY ; 程序 MOVLW 0FFH RETFIE ; 程序 ; END ; 程序 51

常用子程序 程序设计 程序 子程序 设计 程序 52

子程序 程序 指令 1. 指令 GOTO 2. 指令 INCFSZ DECFSZ 3. 指令 BTFSS BTFSC 53

子程序 5-6 100 子程序 XSH 54

ORG 0000H MOVLW D'101' MOVWF 20H LOOP DECFSZ 20H, F GOTO RRT GOTO PPY RRT PAGESEL XSH CALL XSH PAGESEL LOOP GOTO LOOP PPY END

子程序 5-7 存器 20H 30H 40H 56

MOVF 30H, W SUBWF 20H, W BTFSC STATUS, C GOTO L20H MOVF 30H, W MOVWF 40H GOTO POP L20H MOVF 20H, W MOVWF 40H POP END

子程序 程序 程序设计 设计 方式 : 系统 器 程序 用 常用 58

子程序 5-8 子程序 59

COUNTER EQU 20H ORG 0000H DELAY MOVLW 0FFH MOVWF COUNTER LOOP DECFSZ COUNTER GOTO LOOP RETURN

子程序 5-9 编 10ms 子程序 61

DEL10MS MOVLW 0DH MOVWF 20H LOOP1 MOVLW 0FFH MOVWF 21H LOOP2 DECFSZ 21H GOTO LOOP2 DECFSZ 20H GOTO LOOP1 RETURN

子程序 5-10 编 1s 子程序 63

DELAY1S MOVLW 06H MOVWF 20H LOOP1 MOVLW 0EBH MOVWF 21H LOOP2 MOVLW 0ECH MOVWF 22H LOOP3 DECFSZ 22H GOTO LOOP3 DECFSZ 21H GOTO LOOP2 DECFSZ 20H GOTO LOOP1 RETURN

子程序 子程序 常 用 LED 器 式 编 65

子程序 5-11 RC LED 器 0-9 1 编 程序 编 编 1 06H 6 7DH 2 5BH 7 07H 3 4FH 8 7FH 4 66H 9 6FH 5 6DH 0 3FH 66

ABC EQU 30H ORG 0000H BSF STATUS, RP0 CLRF TRISC BCF STATUS, RP0 MAIN MOVLW 00H MOVWF ABC LOOP MOVF ABC, W CALL CHABIAO MOVWF PORTC CALL DELAY1S INCF ABC MOVLW 09H SUBWF ABC, W BTFSS STATUS, Z GOTO LOOP GOTO MAIN CHABIAO DELAY1S ADDWF PCL,F RETLW 3FH RETLW 06H RETLW 5BH RETLW 4FH RETLW 66H RETLW 6DH RETLW 7DH RETLW 07H RETLW 7FH RETLW 6FH MOVLW 06H MOVWF 20H... RETURN END

子程序 PIC 指令系统 语 PIC 指令 指令 程序 式 子程序 子程序 用 GOTO 语 RETLW 语 68

子程序 5-14 编 N 选择子程序 69

PAGESEL KEY CALL KEY PAGESEL JIAN CALL JIAN ; ; 子程序 ; JIAN ADDWF PCL, F GOTO PKEY0 GOTO PKEY1 GOTO PKEY2... GOTO PKEYN

常用 子程序 常用 子程序 子程序 系统设计 BCD 子程序 用 指 用 S1 S2 source 用 R1 R2 result 8 用 H L 用 Z 8 71

常用 子程序 PIC16F877 70H 7FH 程序 72

常用 子程序 5-15 16 编 程序 73

INCLUDE "P16F877.INC" S1H EQU 50H S1L EQU 51H S2H EQU 52H S2L EQU 53H R1H EQU 54H R1L EQU 55H ORG 0000H NOP MOVLW 12H MOVWF S1H MOVLW 34H MOVWF S1L MOVLW 57H MOVWF S2H MOVLW 78H MOVWF S2L CALL ADDXY GOTO $ ADDXY MOVF S1L,W ADDWF S2L,F BTFSC STATUS,C INCF S2H MOVF S1H,W ADDWF S2H,W MOVWF R1H MOVF S2L,W MOVWF R1L RETLW 00H END

常用 子程序 5-16 16 编 程序 75

INCLUDE "P16F877.INC" S1H EQU 50H S1L EQU 51H S2H EQU 52H S2L EQU 53H R1H EQU 54H R1L EQU 55H ORG 0000H NOP MOVLW 56H MOVWF S1H MOVLW 78H MOVWF S1L MOVLW 12H MOVWF S2H MOVLW 34H MOVWF S2L CALL SUBXY GOTO $ SUBXY COMF S2L,F INCF S2L,F BTFSC STATUS,Z DECF S2H,F COMF S2H,F ADDXY MOVF S1L,W ADDWF S2L,F... MOVWF R1H MOVF S2L,W MOVWF R1L RETLW 00H END

常用 子程序 5-17 16 编 程序 77

INCLUDE "P16F877.INC" S1H EQU 50H S1L EQU 51H S2H EQU 52H S2L EQU 53H R1H EQU 54H R1L EQU 55H R2H EQU 56H R2L EQU 57H P1H EQU 58H P1L EQU 59H COUNT EQU 5AH

ORG NOP MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF CALL MPXY GOTO $ 0000H 12H S1H 34H S1L 56H S2H 78H S2L

MPXY CALL YIWEI MPLOOP RRF P1H RRF P1L BTFSC STATUS,C CALL MPADD RRF S2H RRF S2L RRF R2H RRF R2L DECFSZ COUNT GOTO MPLOOP MOVF S2H,W MOVWF R1H MOVF S2L,W MOVWF R1L RETLW 00H

; ;16 ; YIWEI MOVLW 10H MOVWF COUNT MOVF S2H,W MOVWF P1H MOVF S2L,W MOVWF P1L CLRF S2H CLRF S2L RETLW 00H

; ; 子程序 ; MPADD MOVF S1L,W ADDWF S2L,F BTFSC STATUS,C INCF S2H,F MOVF S1H,W ADDWF S2H,F RETLW 00H END

常用 子程序 5-18 16 编 程序 83

INCLUDE "P16F877.INC" S1H EQU 50H S1L EQU 51H S2H EQU 52H S2L EQU 53H R1H EQU 54H R1L EQU 55H R2H EQU 56H R2L EQU 57H P1H EQU 58H P1L EQU 59H COUNT EQU 5AH

ORG NOP MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF CALL DIVXY GOTO $ 0000H 12H S1H 34H S1L 67H S2H 89H S2L

DIVXY CALL YIWEI CLRF R2H CLRF R2L DIVLOOP BCF STATUS,C RLF P1L RLF P1H RLF R2L RLF R2H MOVF S1H,W SUBWF R2H,W BTFSS STATUS,Z GOTO ASP MOVF S1L,W SUBWF R2L,W

ASP BTFSS STATUS,C GOTO PUP MOVF S1L,W SUBWF R2L,F BTFSS STATUS,C DECF R2H,F MOVF S1H,W SUBWF R2H,F BSF STATUS,C PUP RLF S2L RLF S2H DECFSZ COUNT GOTO DIVLOOP MOVF S2H,W MOVWF R1H MOVF S2L,W MOVWF R1L

; ;16 ; YIWEI MOVLW 10H MOVWF COUNT MOVF S2H,W MOVWF P1H MOVF S2L,W MOVWF P1L CLRF S2H CLRF S2L RETLW 00H