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

为新创业公司建设网站专业做网站哪家好

为新创业公司建设网站,专业做网站哪家好,桃子软件,亿寻跨境外贸人才网目录 汇编整体分类 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.dnsts.com.cn/news/238318.html

相关文章:

  • 青岛做网站公司哪家好查网站备案名称
  • 山西太原网站建设公司胶州网站建设dch100
  • 单页面网站 seo滴滴优惠券网站怎么做
  • 软件下载网站如何履行安全管理义务确保提供的软件网站建设的方向和任务
  • 网站开发学哪些wordpress不显示网站标题
  • 网站副标题wordpress福建省建设工程质量安全网站
  • 用php做一网站网站做前端
  • 网站说服力营销型网站策划 pdf在线设计软件
  • 做游戏门户网站要注意什么意思域名是什么意思
  • 商场网站方案陕西省建设厅网站ca验证失败
  • 安徽津城建设工程有限公司网站做网站 图片格式
  • 教育公司网站建设文案去哪找wordpress主题
  • 枣庄手机网站开发手赚网 类似网站怎么建设
  • 正规网站优化推广七台河网站网站建设
  • 成都网站备案太慢wordpress标签页插件
  • 网站怎么做qq微信登陆界面设计上海备案证查询网站查询
  • 全国网站建设哪家专业怎么开彩票网站做站长
  • 用flask做网站深圳网页设计公司排名
  • html单页模板外贸seo网站大全
  • 如何做校园网站怀柔网站建设推广
  • 电脑有了外网是不是就可以做网站wordpress 直播 视频
  • 做八闽最好的中学网站嘉兴网站优化排名
  • 网站建设需要域名服务器做外贸网站需要什么条件
  • 两学一做是什么网站山东外贸公司名录
  • 平谷网站建设服务购物建设网站费用
  • 什么是网站模板衡阳做网站建设的公司
  • 制作企业网站多少钱整套网站模板
  • 网站建设的岗位名称新手做网站买服务器
  • 北京网站备案公司宿州大型网站建设公司
  • php怎么做视频网站网站建设偶像