前面给出了一个实现加法的小程序,但是如果要求变得更复杂、步骤变得更繁琐,这时又该怎么办呢??我们可以使用子程序来解决这个问题,这里给个例子:若字变量Data1和Data2分别存放着两个16位无符号数,编写求两个数之和的子程序,并将和存放到Sum字节存储空间中。代码如下:

org $0070
data1 ds.b 2
data2 ds.b 2
sum ds.b 3

org $1860
Add_Pro: clc        ;清空进位标志位
  clrx
  clrh
  clra

  mov #$00,data1
  mov #$04,data1+1
  mov #$00,data2
  mov #$28,data2+1

  lda data1+1
  add data2+1
  sta sum+2

  lda data1
  adc data2
  sta sum+1
  rola                    ;得到第17为,主要操作是:将寄存器a中数据向做移一位并把进位标志位放入寄存器a中的第一位

  and #01H
  sta sum

  rts                     ;子程序返回指令

main:
  clra
  clrx
  bsr Add_Pro    ;子程序调用,直接进入子程序中,执行子程序中的程序。

again:
  nop
  jmp again

org $fffe
 dc.w main
  分析:两个16位无符号数相加,和为17位,至少需要3B的存储空间。又因为MC9S08AW60的存储方式是大端方式:低地址存放最高有效字节。所以对两个数的低位数相加时是使用Data1+1、Data2+1。

转载于:https://www.cnblogs.com/daviddolphin/p/4469419.html

Freescale MC9S08AW60汇编学习笔记(三)相关推荐

  1. Freescale MC9S08AW60汇编学习笔记(五)

    前面学习了查表的功能,可以用查表的功能实现不少强大的功能,如查立方表.平方表.函数表.数码管显示的段码表等.这里还有一种由查表和转移指令配合使用而实现的一种强大的功能:散转.散转是指根据输入数据的不同 ...

  2. 汇编学习笔记——汇编指令

    目录 汇编指令 nop指令 mov.add.sub指令 adc.sbb指令 and.or指令 移位指令 逻辑左/右移指令 循环左/右移指令 算术左/右移指令 带进位循环左/右移指令 inc指令 pus ...

  3. 汇编学习笔记——伪指令

    目录 伪指令 段定义 结束标记 段关联标记 数据定义 标号 offset指令 seg指令 地址标号 数据标号 代码分段 程序标识 多文件系统 字符输入 重复定义 注释 重复汇编伪指令 伪指令汇总 伪指 ...

  4. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  5. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  6. Ethernet/IP 学习笔记三

    Ethernet/IP 学习笔记三 原文为硕士论文: 工业以太网Ethernet/IP扫描器的研发 知网网址: http://kns.cnki.net/KCMS/detail/detail.aspx? ...

  7. iView学习笔记(三):表格搜索,过滤及隐藏列操作

    iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django ...

  8. 吴恩达《机器学习》学习笔记三——多变量线性回归

    吴恩达<机器学习>学习笔记三--多变量线性回归 一. 多元线性回归问题介绍 1.一些定义 2.假设函数 二. 多元梯度下降法 1. 梯度下降法实用技巧:特征缩放 2. 梯度下降法的学习率 ...

  9. Python基础学习笔记三

    Python基础学习笔记三 print和import print可以用,分割变量来输出 import copy import copy as co from copy import deepcopy ...

最新文章

  1. 趋势修改服务器地址,趋势客户端修改连接服务器
  2. 华为杨超斌:5G方面领先同行至少12个月到18个月
  3. java中ssm付款代码,ssm实现支付宝支付功能(图文详解)
  4. 扒开系统调用的三层皮(下)
  5. java 变量序列化_Java序列化与静态变量
  6. easyUI combobox启用禁用功能写法
  7. POLL原理分析与java实战
  8. 王思聪5亿投资神话破灭?旗下普思资本股权遭冻结,冻结期3年
  9. iOS开发 在图片上添加文字,图片合成文字,图片上添加富文本,美图秀秀,美颜相机文字编辑
  10. eclipse birt报表
  11. jenkins调用VS201X
  12. 如何制作DUN-14条形码
  13. f2fs系列之一:实战f2fs 下载、编译和挂载 [转载系列]
  14. Code With Me插件,IDEA多人协作
  15. 护照 MRZ码编码规则
  16. 前端零基础入门-002-集成开发环境
  17. Sata接口读取新硬盘读不出问题解决
  18. 华为防火墙SLB算法
  19. 计算机学院 统计学博士点,重大喜讯:统计学科获批一级学科博士授权点
  20. ip iq 谐波检测matlab仿真,基于Matlab的低压电力系统谐波检测方法仿真研究

热门文章

  1. 为什么事业单位公务员的公积金比企业里要缴得多?
  2. 没有任何一个行业是没有竞争的
  3. 美团靠外卖和到店业务赚来的钱
  4. 刚进职场的新人,这6点一定要牢记
  5. 【EIP】以太坊路线图
  6. 构建第一个fabric网络
  7. 物理层接口特性、数据通信模型、物理层基本概念(数据、信号、码元 、信源、信道、信宿 、速率、波特、带宽)...
  8. Mybatis注解配置与xml配置不能同时使用
  9. sql中替换逗号为换行符_使用T-SQL将逗号或其他定界符转换为SQL Server中的表或列表
  10. 如何使用导入平面文件向导将平面文件导入SQL Server数据库