当前位置: 首页 > news >正文

网站外链价格游戏网站wordpress

网站外链价格,游戏网站wordpress,搭建网站免费空间,北京网站开发的趋势在哪里伪指令又称汇编程序控制译码指令。“伪”字体现在汇编时伪指令不产生机器指令代码,不影响程序的执行, 仅产生供汇编用的某些命令, 在汇编时执行某些特殊操作。但伪指令使用错误将直接使源程序无法汇编和产生语法错误及目的地址找不到等问题。所以正确理解单片机中的伪指令对于学…         伪指令又称汇编程序控制译码指令。“伪”字体现在汇编时伪指令不产生机器指令代码,不影响程序的执行, 仅产生供汇编用的某些命令, 在汇编时执行某些特殊操作。但伪指令使用错误将直接使源程序无法汇编和产生语法错误及目的地址找不到等问题。所以正确理解单片机中的伪指令对于学习好、应用好单片机是十分重要的。伪指令按照其功能可以四类目标文件伪指令控制伪指令列表伪指令数据伪指令。以下是整理得出的常用伪指令及其用法 1、EQUEquate 一般格式为  标号         EQU        操作数 指令功能为将操作数赋予标号两边的值完全相等。使用EQU伪指令给一个标号赋值后此标号在整个源文件中值固定 AREA:  EQU      1000H     ;将标号AREA赋值为1000H 2、ORGOrigin 一般格式为  ORG  xxxxH绝对地址或标号 XxxxH决定此语句后第一条指令或数据的地址。该段源程序或数据被连续存放在此后的地址内直到下一条ORG指令为止。 ORG   8000H   此后目标代码存储在存储器中以0x8000h开始的地址空间中。 ADD    R1  #1 MOV         R2  #2 3、DBDefine Byte 一般格式为         标号     DB         字节常数或字符或表达式 标号字段可有可无字节常数或字符是指一个字节数据。此伪指令的功能是把字节常数或字节串存放至内存连续的地址空间中。 ORG          8000H DATA1  DB    43H,09H,08H DATA2  DB    07H 伪指令DB指定了43H09H08H      顺序存放在8000H开始的存储单元中DATA2中的07H紧挨着DATA1的地址空间存放即07H存放在8003H单元中。 注DWDefine Word指令定义与DB类似区别在于DW定义一个字DB定义一个字节。 4、END 一般格式为         标号     END          地址或标号 地址或标号可以忽略。此伪指令用于指示汇编语言程序段结束。因此一个源程序中仅有一个END且一般放在程序最后。若END放在程序中间则END后面的语句将不再被汇编。 5、AREA 一般格式为         标号         sectionname{,attr}{,attr}…… Sectionname指定节的名称。节是不可分的已命名独立代码模块或数据模块由连接器进行处理。 Attr则是一个或多个用逗号分隔的节的属性。属性有多种比如 ALIGNexpression。默认条件下节以四字节边界对齐。Expression取值范围为0-31.表征的对齐边界是2的expression平方。 CODE 包含机器指令。默认值为READONLY    DATA         包含数据但不包含指令。默认值为READWRITE READONLY       指示此节只读。代码区域默认值。 READWRITE     指示此节可读可写。数据区域默认值。 AREA  Example,  DATA, READWRITE                 data 以上代码定义了名为Example的可读写数据节。 6、PUBLIC 一般格式为         PUBLIC     标识符1标识符2…… 在开发较为复杂的应用程序时其执行文件的生成一般由多个目标文件链接而成。多个目标文件之间一般存在数据交互汇编语言中通过伪指令PUBLIC及EXTRN来解决模块之间的联系。PUBLIC用来说明当前模块中可被其他模块所引用的公共标识符。 PUBLIC     _STARTUP 声明标识符_STARTUP可被其他模块所引用。 7、EXTRN或EXTERN 一般格式为         EXTRN      标识符1类型1标识符2类型2……. 表明标识符1、2是外部标识符其已经在其他模块中被定义为类型1、类型2等。在一个模块中可用多条EXTRN来说明本模块中所引用的外部标识符。实质为汇编器提供一个并未在当前汇编文件中定义的名称。 注EXTRN所声明的标识符必须在其定义的模块中被PUBLIC声明为公共标识符且声明的标识符类型需与该标识符定义类型一致。 类似EXPORT或GLOBAL 声明一个符号链接器可以使用此符号解析不同对象和库文件中的符号引用。即可使其他文件中的代码能够访问当前文件中的符号。 8、PROC 一般格式为       过程名                   PROC        [类型] 此指令为过程定义指令。过程即子程序一个过程可以被其他程序调用CALL指令。 过程名           PROC  [类型] ENDP 注PROC和ENDP必须成对出现。 9、SPACE 一般格式为                   标号         SPACE   表达式 此指令用于分配一片连续的存储区域并初始化为0。表达式为要分配的字节数。SPACE可用“%”来代替。 DataSpace      SPACE    1000                分配连续1000个字节的存储单元DataSpace并初始化为0。 10、ENTRY 此指令用于声明程序的入口点。一个程序至少有一个入口点。 AREA        TEST,         CODE,     READONLY ENTRY               程序入口点。 11、PRESERVE8 一般格式为         PRESERVE8     {bool} PRESERVE8指令指定当前文件需保持堆栈八字节对齐方式。其通过设置PRES8编译属性通知连接器。 PRESERVE8                         保持代码堆栈八字节对齐。 PRESERVE8 {FALSE}           不保持代码堆栈八字节对齐。 12、CODE16、CODE32 一般格式为         CODE16或CODE32 CODE16通知编译器其后的指令序列为16位的Thumb指令。 CODE32通知编译器其后的指令序列为32位的ARM指令。 在实用ARM指令和Thumb指令混合编程的代码里可使用这两天指令进行切换。注指令只能通知编译器其后的指令类型并不能对处理器进行状态的切换。 13、IMPORT 此指令类似于EXTERN。用于通知编译器即将使用的标号在其他源文件中定义。无论当前源文件是否引用该标号该标号均会被加入到当前源文件的符号表中。 一般格式为         IMPORT            标号         {[WEAK]} 标号在程序中区分大小写[WEAK]表示当所有源文件中均找不到此标号时编译器也不会显示错误信息。 AREA        INIT,       CODE,      READONLY IMPORT Main                 ;通知编译器当前文件要引用标号Main,但其定义在其他源文件中。 END 总结 伪指令的应用十分广泛并且使用起来并不复杂简化了编程大任务增加了程序的可阅读性减小了检查程序的难度。 与C语言的结合实例  C语言是目前非常流行的一种编程语言除具有高级语言使用方便灵活、数据处理能力强、编程简单等优点外:还可实现汇编语言的大部分功能如可直接对硬件进行操作、生成的目标代码质量较高等而汇编语言没有高级语言要占用较大的存储空间和较长的运行时间等缺点它的运行速度快是高级语言所不能比拟的可以说高级语言与汇编语言各有千秋。目前c语言与汇编语言的混合编程在诸如对硬件的直接操作、中断处理、快速执行等场合有着广泛的应用。         C语言可以调用汇编子程序和汇编语言中定义的变量。编译后的目标文件自动地在函数名和变量名前加一个下划线所以在汇编语言中调用C语言的函数和变量时应在函数名和变量名前加一下划线。在汇编语言程序开始部分应对调用的函数和变量用EXTERN加以说明。 #includestdio.h #includestdlib.h Short Add( short x, short y); int multiply(short x, short y); short substract(short x, short y); void division(short x, short y); short recycle(short x); void main() {//请注意short int 短整型的格式控制符是%hdshort a 0;short b 0;short c 0;printf(Please input 2 numbers:);scanf_s(%hd%hd,a,b);printf(%hd %hd%hd\n, a, b, Add(a, b));printf(%hd * %hd%hd\n,a,b,multiply(a,b));printf(%d - %d%d\n, a, b, substract(a, b));division(a,b);printf(Please input 1 numbers:);scanf_s(%hd, c);printf(12...%hd%hd\n, c,recycle(c));//recycle(100); } //实现一个循环12...100.形参是一个短整型返回一个int整型 short recycle(short x) {short sum 0;_asm{mov ax, 0mov si, 0mov cx, x;//循环次数next:inc siadd ax,sidec cxjnz nextmov sum,ax }return sum; } //实现两数相除,要处理除0中断 void division(short x, short y) {short shang 0,yu0;__asm{mov dx, 0mov ax, xcmp y,0jz next ;除数是0转处理div y;//除以十六位数据mov shang, ax;//商在ax中mov yu, dx;//余数在dx}printf(%d / %d%d...%d\n, x, y, shang, yu);return 0; next:printf(warning!除数是0!\n);//;子函数返回} //实现两数相减 short substract(short x, short y) {short z 0;__asm{mov ax,xsub ax,ymov z,ax}return z; } //实现两数相乘,16位short数据返回值32位int int multiply(short x, short y) {int result 0;__asm{mov cl, 16mov dx,0mov ax, xmul ypush ax; 保存低16位mov ax, dx;shl eax, cl; 低16位移到高16位pop ax;为低16位赋值mov result,eax}return result; } //下面是用汇编实现的子函数两数相加 short Add( short x, short y) {short sum 0;__asm//注意是两个下划线{mov ax, x;add ax,y;mov sum, ax;}return sum;//返回值 }
http://www.hkea.cn/news/14299160/

相关文章:

  • 从网络安全角度考量_写出建设一个大型电影网站规划方案怎样注册自己的货运网站
  • 搜索网站大全排名为自己家秘方做网站
  • 智慧团建网站官网电脑版新年贺卡图片 手工制作
  • 苏州企业网站建设服务好查询商品价格走势的网站
  • 网站建设头像网址大全123设为主页
  • 深圳网站制作公司在那个人网站花多少钱
  • 安徽长江建设集团有限公司网站人社网站和微信平台建设方案
  • 酒泉网站seowordpress进不去设置会乱码
  • 那做网站网络推广运营公司
  • 高端网站建设域名注册学校网站建设考评办法
  • 奥鹏网页设计与网站建设小企业网站建设费用一年
  • 传奇网站如何建设有名的wordpress主题
  • 的做网站公司安装wordpress主题后 显示乱码 怎么解决
  • 三五互联做网站吗dw做网站导航
  • 网站建设移交确认书网站的建设维护推广
  • 网站的建设多少钱wordpress 侧边收起
  • 广州有哪些做网站专业的公司优秀网站首页设计
  • 苏州网站优化排名推广服务机构电子商务网站有哪些
  • 网站常用图片上海网站建设求职简历
  • 张家港做网站校园网站建设的感受论文
  • 网站建设与规划实验心得广告设计哪里可以学
  • 永州网站建设服务建设六马路小学官方网站
  • 建网站需要哪些技术免费的制作网站程序
  • 有什么做兼职的网站比较好企业门户网站的设计 流程图
  • 深圳做手机网站多少钱移动互联网 商业模式
  • 惠州模板网站外贸网站价格表
  • 建设通相似网站合肥公司网站开发
  • 做谷歌网站使用什么统计代码吗设计购物网站咋做
  • 网站怎么排版简单的页面
  • 接口网站开发十堰企业网站制作公司