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

如何设计大气的网站企业型网站

如何设计大气的网站,企业型网站,网站建设家居,php网站是什么目录 汇编整体分类 1.指令 2.伪操作 3.伪指令 汇编代码 汇编初始化 数据搬运指令 算术运算指令 加法 减法 乘法 比较指令 跳转指令 逻辑运算指令 与或#xff0c;异或 左移右移 内存操作 LOAD/STORE 指令 写 读 CPU的栈机制 栈的概念 栈的种类 1.空栈(…  目录 汇编整体分类 1.指令 2.伪操作 3.伪指令 汇编代码 汇编初始化 数据搬运指令 算术运算指令 加法 减法 乘法 比较指令 跳转指令 逻辑运算指令 与或异或 左移右移 内存操作 LOAD/STORE 指令 写 读 CPU的栈机制 栈的概念 栈的种类 1.空栈(Empty) 2.满栈(Full) 栈的基本操作 PUSH/POP 栈的应用 叶子函数 非叶子函数 汇编整体分类 1.指令 编译完生成一条机器码存储在内存单元当中CPU执行时能完成对应的操作(类似于C中的语句) 2.伪操作 伪操作(相当于c中的#的内容告诉编译器怎么编译不会生成机器码也不会占用内存,其作用是告诉编译器怎样编译(类似于C中的预处理指令) 3.伪指令 伪指令不是指令,编译器在编译时将其替换成等效的指令 (如cpu中没有乘法器对应没有乘法指令3*3 ---》用加法器实现333替换实现) 汇编代码 汇编初始化 AREA    STACK, NOINIT, READWRITE __initial_spAREA    RESET, DATA, READONLY __Vectors       DCD     __initial_spDCD     main              AREA    |.text|, CODE, READONLYENTRY mainloopB loop                  END 1.AREA STACK, NOINIT, READWRITE: 这一行指定了一个名为STACK的内存区域它用于存储堆栈。NOINIT表示这个内存区域在程序启动时不需要初始化READWRITE表示这个内存区域可以被读取和写入。 2.__initial_sp: 这一行定义了一个名为__initial_sp的符号它表示堆栈指针的初始值。在这里它被定义为堆栈的起始地址。通常这个符号会在链接脚本中进一步定义为实际的堆栈内存区域的起始地址。 3.AREA RESET, DATA, READONLY: 这一行指定了一个名为RESET的内存区域用于存储重置向量表。DATA表示这个区域包含数据READONLY表示这个区域只能被读取。 4.__Vectors DCD __initial_sp: 这一行定义了一个重置向量表用于指示程序启动时应该执行的操作。DCD表示存储一个双字32位的数据。在这里第一个双字存储的是堆栈指针的初始值即__initial_sp。 5.DCD main: 这一行将程序的入口地址main函数添加到重置向量表中。这意味着程序在启动时将跳转到main函数开始执行。 6.AREA |.text|, CODE, READONLY: 这一行指定了一个名为.text的内存区域用于存储代码。CODE表示这个区域包含代码READONLY表示这个区域只能被读取。 7.ENTRY main: 这一行指定了程序的入口点为main函数。这意味着程序将从main函数开始执行。 8.loop B loop: 这一行是一个无限循环它会不断地跳转到loop标签所在的位置导致程序永远循环执行这条指令。 9.END: 这一行表示程序的结束。 数据搬运指令 改变PC的值实现程序跳转 AREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRY main   MOVS R0,#2 MOVS R1,R0 ;改变PC的值实现程序跳转0x08000008 ;先把地址给一个寄存器再把这个寄存器的值赋给PC LDR R2,0x08000008 MOV PC,R2 loop                 B loop                                    END 算术运算指令 加法 AREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRY main   MOVS R0,#2 MOVS R1,R0 ADDS R3,R0,R1  ;R30X04 LDR R8,0X01 ADD R8,R8,R3   ;R8R8R3 0X05 loop                 B loop                                    END 减法 AREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRY main   MOVS R0,#2 MOVS R2,#2 MOVS R1,R0 SUBS R2,R0,R1  ;R2R0-R1 loop                 B loop                                    END 乘法 AREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRY main   MOVS R0,#2 MOVS R2,#2 MOVS R1,R0 MULS R2,R0,R2  ;R2R0*R2 loop                 B loop                                    END 比较指令 跳转指令 AREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRY JUMP MOVS R0,#1 MOVS R2,#1 LDR R3,0X0800001A MOV PC,R3main   MOVS R0,#2 MOVS R2,#2 MOVS R1,R0 CMP R0,R2  ;if(ab) BEQ JUMP   MOVS R0,#3 loop                 B loop                                    END AREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRY JUMP MOVS R0,#1 MOVS R2,#1 MOV PC,LRmain   MOVS R0,#2 MOVS R2,#2 MOVS R1,R0 BL JUMP MOVS R0,#3 loop                 B loop                                    END 逻辑运算指令 与或异或 AREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRYmain   MOVS R0,#2   ;R0:0010 MOVS R1,#1 ;R1:0001 ANDS R1,R1,R0   ;R1R1R0 R10000 EORS R1,R1,R0   ; 0010  0000  0010 loop                 B loop    END 左移右移 AREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRYmain   MOVS R0,#2   ;R0:0010  左移1位  0100--4 MOVS R1,#1 ;R1:1 LSLS R0,R0,R1 loop                 B loop    END 内存操作 LOAD/STORE 指令 写 读 CPU的栈机制 栈的概念 栈是一种具有特殊的访问方式的存储空间特殊性就在于后进先出 栈的种类 1.空栈(Empty) 栈指针指向的地址是空的在栈中存储数据时可以直接存储存储完成之后需要将栈指针再次指向空的位置。 EA:Empty Ascending 空增栈 ED:Empty Descending 空减栈 2.满栈(Full) 栈指针指向的地址有数据在栈中存储数据时需要先将栈指针指向一个空的位置然后在存储数据。 增栈(Ascending)         栈指针向高地址方向移动 减栈(Descending)         栈指针向低地址方向移动 FA:Full Ascending 满增 FD:Full Descending 满减 ARM默认采用的是满减栈 栈指针指向有数据的顶接收数据时栈指针先移动再放数据。指针的移动是地址的降低 栈的基本操作 栈有两种基本的操作:入栈和出栈 1.入栈:将一个新的元素放到栈顶 2.出栈:从栈顶取出一个元素 栈顶元素总是最后一个入栈的需要出的时候又会是第一个被取出的 操作规则:LIFO后进先出 PUSH/POP PUSH 入栈压栈 POP 出栈弹栈 //主程序给R1,R2,R3,R4分别存入0x11111111 0x22222222 0x33333333 0x44444444然后跳入函数JUMP //2.写一个函数JUMP函数内修改R1为0x20000001 R3为0x00000000 //3.修改结束后返回主函数 //4.主函数再使R1和R3相加后存入R1跳出主程序进入死循环 //子程序返回主程序时不可以使用MOV指令和B BL BX BXLAREA    STACK, NOINIT, READWRITE __initial_sp                 AREA                 RESET, DATA, READONLY __Vectors       DCD     __initial_sp                  DCD     main                               AREA    |.text|, CODE, READONLY                 ENTRY main  ADD SP,SP,#0X100;上调栈指针LDR R1,0X11111111;LDR R2,0X22222222;LDR R3,0X33333333;LDR R4,0X44444444;BL JUMPADD R1,R1,R3B loop JUMPPUSH {R0-R4,LR} ;保护现场LDR R1,0X44324302;LDR R3,0X33222055;POP{R0-R4,PC} ;恢复现场 loop                 B loop     END 栈的应用 叶子函数 叶子函数是指一个函数内部没有调用其他函数的函数也就是说它是程序调用树的末端节点不依赖于其他函数。 非叶子函数 非叶子函数是指一个函数内部调用了其他函数的函数也就是说它不是程序调用树的末端节点可以被其他函数调用。
http://www.hkea.cn/news/14464168/

相关文章:

  • 长春网站建设方案优化网站平台由什么搭建
  • 农产品网站设计企业展示网站建设
  • 深圳网站建设q479185700強asp.net企业网站源码
  • 杭州滨江网站制作seo百度快照优化公司
  • 如果做一个网站石狮市建设局网站
  • 怎么看出网站有没有做404页面商城网站建设最新报价
  • 企业门户网站开发平台的设计廊坊seo关键词优化
  • 南京建设企业网站去视频网站做编辑
  • 商家入驻型网站建设深圳网站设计与制作公司
  • 湖州网站建设湖州怎么宣传自己的产品
  • 网站底部悬浮代码注册入口
  • 网站搭建网站南山网络科技有限公司
  • 东莞网站优化排名丝绸之路网站建设意义
  • 网站开发与设计课程时间国外企业招聘网站
  • 外贸生意做哪个网站好手机网站客户端
  • 平安车险官方保险网站网站自动识别手机
  • 怎么创建自己的网站平台app宁波微信小程序开发公司
  • 富通建设有限公司网站对海尔网站建设水平的评价
  • 营销型网站制作步骤五个学校网站建设工作方案
  • 做网站多少钱一般建设建行积分兑换商城网站
  • 成都网站维护多少钱安陆市网站
  • 怎样做公司的网站首页个人信用信息公示系统
  • 营销网站四大要素用jsp建设网站
  • 建设工程合同管理网站成都房地产信息网
  • 我做网站了电影网站 模板
  • 计算机网站开发项目上海房产做哪个网站好
  • c asp.net 做网站爱站关键词挖掘查询工具
  • 巢湖网站开发app推广代理去哪里找
  • 网站使用了seo优化工具怎么检测如何在网上卖货
  • 青岛做外贸网站的公司简介购物网站推广案例