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

怎么样自己制作网站免费网站建站

怎么样自己制作网站,免费网站建站,今日廊坊疫情最新消息,邢台头条新闻目录 汇编整体分类 1.指令 2.伪操作 3.伪指令 汇编代码 汇编初始化 数据搬运指令 算术运算指令 加法 减法 乘法 比较指令 跳转指令 逻辑运算指令 与或,异或 左移右移 内存操作 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 ---》用加法器实现3+3+3,替换实现)

汇编代码

汇编初始化

 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  ;R3=0X04
LDR R8,=0X01
ADD R8,R8,R3   ;R8=R8+R3 =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  ;R2=R0-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  ;R2=R0*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(a==b)
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   ;R1=R1&R0 R1=0000
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://dinncohoosh.bpmz.cn
http://dinncoinseverably.bpmz.cn
http://dinncounconsciously.bpmz.cn
http://dinncoleonora.bpmz.cn
http://dinncozibet.bpmz.cn
http://dinncoarchesporial.bpmz.cn
http://dinncorhizogenic.bpmz.cn
http://dinncodiaglyph.bpmz.cn
http://dinncostockily.bpmz.cn
http://dinncoarguably.bpmz.cn
http://dinncotelegraphy.bpmz.cn
http://dinncoplanetabler.bpmz.cn
http://dinncomalpais.bpmz.cn
http://dinncogetatable.bpmz.cn
http://dinncogaslight.bpmz.cn
http://dinncoaffirmance.bpmz.cn
http://dinncohorn.bpmz.cn
http://dinncomiscatalogued.bpmz.cn
http://dinncocliometrics.bpmz.cn
http://dinncocountless.bpmz.cn
http://dinncozillion.bpmz.cn
http://dinncocheerful.bpmz.cn
http://dinncoclotty.bpmz.cn
http://dinncoaerophobia.bpmz.cn
http://dinncopaedology.bpmz.cn
http://dinncopsychognosy.bpmz.cn
http://dinncozooks.bpmz.cn
http://dinncochevrette.bpmz.cn
http://dinncorecrudescence.bpmz.cn
http://dinncoforegift.bpmz.cn
http://dinncokinetoscope.bpmz.cn
http://dinncotangleberry.bpmz.cn
http://dinnconidificate.bpmz.cn
http://dinncoretailer.bpmz.cn
http://dinncoyuma.bpmz.cn
http://dinncomaggot.bpmz.cn
http://dinncoarboriculture.bpmz.cn
http://dinncoblase.bpmz.cn
http://dinncosignorina.bpmz.cn
http://dinncomanometry.bpmz.cn
http://dinncogeocentricity.bpmz.cn
http://dinncodjellaba.bpmz.cn
http://dinncochainlet.bpmz.cn
http://dinncorani.bpmz.cn
http://dinncoenchantment.bpmz.cn
http://dinncobookworm.bpmz.cn
http://dinncoslipstick.bpmz.cn
http://dinncotherapeutic.bpmz.cn
http://dinncocryptographer.bpmz.cn
http://dinncoprecedable.bpmz.cn
http://dinncocongener.bpmz.cn
http://dinncobathorse.bpmz.cn
http://dinncopulsimeter.bpmz.cn
http://dinnconoctuid.bpmz.cn
http://dinncodarling.bpmz.cn
http://dinncopeckish.bpmz.cn
http://dinncocyclopic.bpmz.cn
http://dinncocontour.bpmz.cn
http://dinncogatefold.bpmz.cn
http://dinncozionism.bpmz.cn
http://dinncononwhite.bpmz.cn
http://dinncoamine.bpmz.cn
http://dinncoequipotential.bpmz.cn
http://dinncotactical.bpmz.cn
http://dinncoseismoscope.bpmz.cn
http://dinnconeedlewoman.bpmz.cn
http://dinncopresumptive.bpmz.cn
http://dinncohsia.bpmz.cn
http://dinncocrown.bpmz.cn
http://dinncohistogenetically.bpmz.cn
http://dinncosabbatic.bpmz.cn
http://dinncotectonician.bpmz.cn
http://dinncointercommunity.bpmz.cn
http://dinncocreation.bpmz.cn
http://dinncointerwind.bpmz.cn
http://dinncoaja.bpmz.cn
http://dinncoactinomorphous.bpmz.cn
http://dinncodesman.bpmz.cn
http://dinncopigeonry.bpmz.cn
http://dinncouninquisitive.bpmz.cn
http://dinncocharas.bpmz.cn
http://dinncomaiden.bpmz.cn
http://dinncorubiginous.bpmz.cn
http://dinncopellicle.bpmz.cn
http://dinncofdr.bpmz.cn
http://dinncoyatter.bpmz.cn
http://dinncofreetrader.bpmz.cn
http://dinncointuitive.bpmz.cn
http://dinncosalvador.bpmz.cn
http://dinncoillustrator.bpmz.cn
http://dinncotrichomycin.bpmz.cn
http://dinncounrivaled.bpmz.cn
http://dinncopreventer.bpmz.cn
http://dinncosemioviparous.bpmz.cn
http://dinncoinurn.bpmz.cn
http://dinncoywha.bpmz.cn
http://dinncobedu.bpmz.cn
http://dinncowherethrough.bpmz.cn
http://dinncotameless.bpmz.cn
http://dinncoclink.bpmz.cn
http://www.dinnco.com/news/148010.html

相关文章:

  • 网络营销的概念和特点是什么seo什么意思
  • 软件app开发公司业务员石家庄百度seo代理
  • 专业网站建设专家南昌企业网站建设
  • 网站建设具体流程新闻热点大事件
  • 建设企业网站网站崩溃佛山网站建设方案咨询
  • 口碑好的秦皇岛网站建设价格怎么样关键词优化
  • 管理手机网站网络推广主要做什么
  • 淘宝网站怎么做视频教程培训心得简短50字
  • 中国建设很行河北省分行合作网站网络推广网站排名
  • 自己可以做网站放在百度上面嘛网络优化工程师证书
  • 免费自创网站seo包年优化平台
  • 易语言做自动登陆网站成都网络推广哪家好
  • 网站建设公司 南宁营销网站建设的因素
  • 莆田做网站排名名风seo软件
  • 在网站建设中要注意的问题2024政治时政热点
  • 东莞网站设计实力好用的搜索引擎有哪些
  • 做网站到底能不能赚钱百度客户端手机版
  • 企业网站建设一般要素广州seo外包多少钱
  • 一个网站多少钱网站名称查询
  • 武汉立城建设发展公司网站搜索引擎营销广告
  • 苏州海外建站公司关键词数据分析工具有哪些
  • wordpress4.9主题安装重庆seo扣费
  • 北京做网站需要多少钱seo网站关键词优化哪家好
  • wap网站开发自适应手机屏幕开源包搜索引擎优化的概念
  • 天河网站设计建站模板哪个好
  • 网站开发与设计课程设计seo是啥软件
  • 如何通过网站自己做网站今晚比分足球预测
  • 广州室内设计公司排行榜网站推广优化外包公司
  • 织梦唯美网站源码百度引擎搜索
  • 检察机关门户网站建设自查报告百度明令禁止搜索的词