汇编语言软件延时1s的实现方法

对于不同的计算机,因为其主频不同,延时1s的参数也不相同,计算延时的方法如下:

计算机主频:x (Hz)
一条LOOP语句执行始终周期数:y
所需要延时的时间:z (s)
需要执行的语句数:a
z=y*(1/x)*a

计算得到所需的执行语句数编写程序。

例:(计算机主频为3GHz)

delay proc near
  push bx
   push cx
   mov bx,400h
 for1:mov cx,0ffffh
 for2:loop for2
   dec bx
   jnz for1
   pop cx
   pop bx
   ret
 delay endp

扩展知识:

单片机汇编跳转指令延时一秒

DELAY: MOV      R7,#10    ;延时1S子程序

DL1:   MOV      R6,#200-----1T

DL2:   MOV      R5,#248------1T

DJNZ     R5,$

DJNZ     R6,DL2

DJNZ     R7,DL1

RETLP

RET

这是如何延时的呢,晶振为12MHZ为T=1us,DJNZ为双周期指令,主要是嵌套循环延时一秒,我们看计算结果:

DJNZ     R5,$-----------------------248*2=496500us

DJNZ     R6,DL2----------------------(496+1+2)*200=99800us

DJNZ     R7,DL1------------------------(99800+2+1)*10=998030~~1s;

总结

以上所述是小编给大家介绍的汇编语言软件延时1s的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • asm基础——汇编指令之in/out指令

    x86中的IO端口访问 汇编是直接面向硬件的,它可以访问系统的mem空间,也可以直接访问系统的io空间. 汇编中使用in/out来访问系统的io空间. IN 从端口输入 OF DF IF SF ZF AF PF CF 说明:从端口输入一个字节或字到AL或AX中(IA-32处理器上可以输入一个双字到EAX).源操作数是端口地址,可以是8位的常量或者DX中的一个16位地址. 指令格式: in accum, imm (应该不需要是8位,可以是16位,比如3F8h) in accum, dx 下面是一个

  • 汇编语言 寄存器内存访问原理解析

    这篇文章主要介绍了汇编语言 寄存器内存访问原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在内存中字的存储 这段话的主要意思是:一个字=2B=16bit,CPU中是用两个内存单元储存一个字(假如获取0地址存放的字型数据,就是获取它的高位字节0+1位和低位字节0位的数据,数据由高地址位向低地址位读) 问题: (1)0地址单元中存放的字节型数据是多少? # 20H (2)0地址字单元中存放的字型数据是多少? # 4e20H (3)2地址字单

  • 汇编语言入门教程(这一篇足矣)

    汇编语言是一种最低级.最古老.不具有移植性的编程语言,它能够直接访问计算机硬件,所以执行效率极高,占用资源极少,一般用于嵌入式设备.驱动程序.实时应用.核心算法等. 汇编语言的缺点是开发周期特别长,实现一个简单的功能都非常麻烦,已经很少用来编写应用程序了. 1 本讲座以汇编初学者或对汇编一点也不了解的读者为对象,汇编高手不属于该范围,但强烈建议高手指导并增补.修改本文. 2 任何读者可以跟此贴,提出疑问,或解答其中的问题,但对于所有跟贴,水贴.内容有错.毫不相干贴将直接删除,有意义的贴可能会合并

  • 汇编中的数组分配和指针的实现代码

    数组简介 如果各位猿友是一路跟着LZ看到这里的,那么数组的定义就非常简单了,它就是一个相同数据类型的数据集合.数组存储在一系列逻辑上连续的内存块当中,之所以说是逻辑上连续,是因为整个内存或者说存储器本身就是逻辑上连续的一个大内存数组.如果我们用Java语言的类型来表示我们的存储器的话,可以看做是byte[] memory这样的类型. 数组的定义非常简单,它遵循以下这样简单的规则. T N[L]; 这当中T表示数据类型,N是变量名称,L是数组长度.这样的声明会做两件事,首先是在内存当中开辟一个长为

  • 王爽 汇编语言学习笔记(详细)

    王爽汇编语言第三版是一款高清完整版的专业编程图书,该书结构设计合理,内容全面涵盖知识点丰富,适合自学者使用,有需要者快来 一.基础知识 1.指令 机器指令:CPU能直接识别并执行的二进制编码 汇编指令:汇编指令是机器指令的助记符,同机器指令一一对应. 指令:指令通常由操作码和地址码(操作数)两部分组成 指令集:每种CPU都有自己的汇编指令集. 汇编语言由3类指令组成. 汇编指令 伪指令:没有对应的机器码,由编译器执行,计算机并不执行 其他符号:如+.-.*./等,由编译器识别,没有对应的机器码.

  • 汇编语言软件延时1s的实现方法

    对于不同的计算机,因为其主频不同,延时1s的参数也不相同,计算延时的方法如下: 计算机主频:x (Hz) 一条LOOP语句执行始终周期数:y 所需要延时的时间:z (s) 需要执行的语句数:a z=y*(1/x)*a 计算得到所需的执行语句数编写程序. 例:(计算机主频为3GHz) delay proc near push bx push cx mov bx,400h for1:mov cx,0ffffh for2:loop for2 dec bx jnz for1 pop cx pop bx

  • javascript实现iframe框架延时加载的方法

    本文实例讲述了javascript实现iframe框架延时加载的方法.分享给大家供大家参考.具体实现方法如下: 有的时候我们希望页面的一些东西实现延时加载,这样可以不影响网站打开速度,下面我来给大家介绍javascript实现iframe框架延时加载方法吧. 需要加载区域HTML代码: 复制代码 代码如下: <div id="indexlogin"></div> 下面代码放在底部 复制代码 代码如下: <span id="tmpjsnews&qu

  • PHP页面跳转实现延时跳转的方法

    php在用header重定向的时候,可以设置下延时跳转, 代码如下: header("Refresh:5;url=index.php"); 以上这篇PHP页面跳转实现延时跳转的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • JS延时提示框实现方法详解

    本文实例讲述了JS延时提示框实现方法.分享给大家供大家参考,具体如下: 提示框功能:当鼠标指向头像时,弹出一个信息框,鼠标可移动到信息框,当鼠标离开头像时信息框消失,当鼠标离开信息框时信息框消失. 实现功能思路: 1.获取元素. 2.当鼠标指向Div1时,Div2显示. 3.当鼠标离开Div1时,使Div2延迟0.5秒消失,这样以便有时间把鼠标移到Div2. 4.当鼠标指向Div2时,Div2显示.因为第3步设置setTimeout使Div2消失,所以把用clearTimeout()把setTi

  • 原生javaScript实现图片延时加载的方法

    本文实例讲述了原生javaScript实现图片延时加载的方法.图片延时加载其实是有jquery插件了并且加载方法非常的简单并且合理了,但有朋友觉得加载jquery插件包太大了,于时自己写了一个,给各位分享一下. 首先,图片延时加载可以节省我们带宽,获取到更好的用户体验,尤其对于图片多的站点,这一点显得至关重要,下面就跟大家探讨一下图片延时加载原理和实现代码. 图片延时加载原理 图片延时加载原理是在html里面的图片src填的并不是真正的图片地址,而是以一种自定义属性把图片地址赋给img标签,如:

  • Jquery实现图片预加载与延时加载的方法

    本文实例讲述了Jquery实现图片预加载与延时加载的方法.分享给大家供大家参考.具体分析如下: 有很多项目经常会需要判断图片加载完成后执行相应的操作,或者需要图片延迟加载,网上虽然已经有很不错的插件,但要为这些效果还得单独加载一个插件的话总感觉有点不舒服,干脆自己写了个方法: 复制代码 代码如下: function loadimg(arr,funLoading,funOnLoad,funOnError){  var numLoaded=0,  numError=0,  isObject=Obje

  • android判断软件是否第一次运行的方法

    本文实例讲述了android判断软件是否第一次运行的方法.分享给大家供大家参考.具体如下: SharedPreferences sharedPreferences = this.getSharedPreferences("share", MODE_PRIVATE); boolean isFirstRun = sharedPreferences.getBoolean("isFirstRun", true); Editor editor = sharedPreferen

  • C#实现软件监控外部程序运行状态的方法

    本文实例讲述了C#实现软件监控外部程序运行状态的方法.分享给大家供大家参考.具体方法如下: 需要外挂一个程序,用于监控另一个程序运行状态,一旦检测到另一程序关闭,就触发一个事件做其他处理. 引用的类 复制代码 代码如下: using System.Diagnostics;//引入Process 类 声明 复制代码 代码如下: private Process[] MyProcesses; 主要处理部分,该段代码可放在定时器中循环检测监控的程序是否启动 复制代码 代码如下: MyProcesses

  • C#设置软件开机自动运行的方法(修改注册表)

    本文实例讲述了C#设置软件开机自动运行的方法.分享给大家供大家参考,具体如下: #region /// <summary> /// 开机启动项 /// </summary> /// <param name="Started">是否启动</param> /// <param name="name">启动值的名称</param> /// <param name="path"

  • Android编程之软件的安装和卸载方法

    本文实例讲述了Android编程之软件的安装和卸载方法.分享给大家供大家参考,具体如下: 安装:从sdcard String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file://" + filePath),&

随机推荐