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

四川人防工程建设网站关键词百度网盘

四川人防工程建设网站,关键词百度网盘,怎么查看网站备案进度,网站如何做区域屏蔽代码本文用于自我复习汇编语言,参考b站一位老师的讲解整理而成,感谢老师的无私付出视频链接链接 文章目录 1.第一章1.1计算机组成1.2读取1.3 寄存器及数据存储1.4 mov和and指令1.5 确定物理地址1.6 内存分段表示法1.7debug使用1.8CS:IP1.9jmp指令改变csip1.1…
  • 本文用于自我复习汇编语言,参考b站一位老师的讲解整理而成,感谢老师的无私付出
  • 视频链接链接

    文章目录

    • 1.第一章
      • 1.1计算机组成
      • 1.2读取
      • 1.3 寄存器及数据存储
      • 1.4 mov和and指令
      • 1.5 确定物理地址
      • 1.6 内存分段表示法
      • 1.7debug使用
      • 1.8CS:IP
      • 1.9jmp指令改变csip
      • 1.10内存中字的存储
      • 1.11DS寄存器实现字的传送
      • 1.12DS与数据段
      • 1.13栈结构:star:
      • 1.14段总结
    • 2.第四章
      • 1.导学
      • 2.源程序
      • 3.debug跟踪程序
      • 4.[...]和()
      • 5.Loop指令
      • 6.Loop指令例子
      • 7.段前缀
      • 8.在代码段中使用数据
      • 9.在代码段中使用栈
      • 9.在代码段中使用栈

1.第一章

1.1计算机组成

image-20230323094256621

1.2读取

image-20230323094519906

如何看待寻址空间?

准确来说,地址能表示2的n次方为位,而内存中存储数据都是按字节存储的,因此寻址能力为Byte,而不是bit

image-20230323094943827

image-20230323095312860

image-20230323095411701

1.3 寄存器及数据存储

image-20230323100712151

image-20230323100935091

image-20230323101047027

1.4 mov和and指令

image-20230323101244953

image-20230323101702440

1.5 确定物理地址

二进制数据左移四位,十六进制左移一位即可

image-20230323102054550

image-20230323102321541

image-20230323102418326

image-20230323102607957

总结:

image-20230323102639902

1.6 内存分段表示法

image-20230323102750540

image-20230323103110270

image-20230323104459455

1.7debug使用

  1. image-20230501160918266

  2. image-20230501161102550

  3. 二进制数据有可能是数据也有可能是指令

    取决于人的看法

    image-20230501161344331

  4. a命令直接把汇编指令写进去

    image-20230501161806024

  5. T命令

    image-20230501161951626

1.8CS:IP

CS:IP表示代码段执行的位置

地址中的数据都是按字节存储,相应位置地址是按字节存储

ASCII码的值都是按一个字节存储,其他字符可能按不同的字节数存储

  1. 执行过程

    image-20230501162502784

    image-20230501162713192

  2. 总结

    image-20230501163324171

1.9jmp指令改变csip

CS:IP目前只有两种方式改变

一种是debug中的R命令,一种是jmp指令

后面补充Loop指令,改变ip

  1. 概述

    image-20230501163830392

  2. jmp指令

    image-20230501163949208
  3. 实例

    • 死循环

    image-20230501164306448

1.10内存中字的存储

  1. 字节

    读取的时候先读高地址,再读低地址单元数据

    16位为一个字,一个字节8位

    image-20230501170229028

    image-20230501170507617

  2. 字单元

    image-20230501170730360

1.11DS寄存器实现字的传送

DS:数据段寄存器

DS: 寄存器不能直接赋值

  1. 往DS寄存器中送入值的操作

    image-20230501184748034
  2. 例:

    ax为16位,因此传输一个字的数据

    image-20230501185127023

1.12DS与数据段

  1. DS取数据的方式

    image-20230501185546116

  2. 累加例子:

    image-20230501185751479

  3. mov指令操作数据⭐️

    image-20230501190506004

    add/sub指令

    image-20230501190730335

  4. 小结:⭐️

    image-20230501190857101

1.13栈结构⭐️

  1. 概述

    栈,出入栈都是为单位

    入栈操作:高地址是栈底,低地址是栈顶,输入的时候是字型输入,高8位放高地址,低8位放低地址

    image-20230501191045178

    image-20230501191434297

  2. 关键点:

    image-20230501191710243

    1. 怎么划定栈的区域和push值?

      SS:SP 确定栈顶的位置,SS:0确定栈底位置(与数据结构栈定义相反)

      ②push值,是从栈底开始push,高地址对应寄存器中的高地址

    2. 同等的push和pop实现了什么目的?

      交换数据,比如下图中ax和bx值就做到了交换

    3. 栈溢出

      入栈和出栈都要注意这个问题,防止入栈导致栈底溢出,出栈导致栈顶溢出。

    4. Push和Pop实质上是一种数据传输指令,明白其传输过程中是以字传输即可。

    image-20230501192204736

    image-20230501192640681

    image-20230501192936664

  3. 总结

    image-20230501193132603

1.14段总结

  1. 总结:

    三个段地址ds,ss,cs可以共用一块内存空间,详细见例题二

    ds:[address]

    ss:sp

    cs:ip

    image-20230501193609722

  2. 例题

    image-20230501194012550

    image-20230501194150635

2.第四章

1.导学

image-20230502112440428 image-20230502112426709

2.源程序

  1. 汇编程序 = 汇编指令 + 伪指令

    image-20230502112637117
  2. 伪指令

    assume指令指定数据或代码段位置

    image-20230502112928072

  3. 如何写出一个程序?

    image-20230502113413300
  4. 程序中可能出现的错误

    image-20230502113523930

3.debug跟踪程序

  1. 例子

    注意CS代码段位置源程序装载位置

    image-20230502114842013

    image-20230502115123739

    -g=加上地址,执行到哪结束

  2. 程序执行的不同方式

    image-20230504162741985

4.[…]和()

[]表示一个内存单元,[]表示内存内容

()为了方便手写,()表示内存内容

只能用物理地址或者寄存器表示

image-20230504163257608
  • idata表示常量

一个例子,记住ax是字操作,al是字节操作

image-20230504163809721

5.Loop指令

注意点

①要用到CX寄存器记数

②需要标记循环位置,定义标号

③Loop指令也能改变IP的值

还要注意:在文本中编写,不写数据H的话,默认数据为十进制

  1. 概述

    image-20230504164146139

6.Loop指令例子

汇编程序中,数据不能以字母开头,需要在字母前加上0

image-20230504165315367 image-20230504165443177

7.段前缀

出现问题:

  1. 在debug时,在a命令输入 mov ax,[0]认为从ds数据段取数据

  2. 而在编译汇编源程序时,mov ax,[0]编译之后被认为为mov ax,0了,与之前不一样

因此引入段前缀

  1. 概述

    image-20230504170112430
  2. 例子

    image-20230504170452562

    bx用来表示偏移地址,相当于一个变量,存储不断变化的偏移地址

    image-20230504170709073

    段前缀的使用===> 用来表示不同段

    image-20230504171107737

8.在代码段中使用数据

问题:前面直接访问自己指定的物理地址是很危险的事情,因为在计算机中不同的地址可能有特殊的功能,不能随意修改

解决:在程序执行中,操作系统会为程序分配一定的空间,程序包含了代码段、数据段等,这些地址存放数据安全的

  1. 概述

    image-20230504171552540
  2. ①dw是一个伪指令,表示定义的是字形数据

    ②默认存储数据从代码段偏移位置为0的位置存储

    BX寄存器存储偏移地址,每次偏移地址 + 2

    例子

    image-20230504171953087

    问题:

    存储数据在代码段起始,而程序执行的之后默认从代码段起始位置执行,导致数据被当成了指令

    image-20230504172406163

  3. 解决问题

    在CS段中,加上类似start的标号,用来指定程序的起始位置

    image-20230504172615127

    image-20230504172732596

9.在代码段中使用栈

5549790)]

问题:

存储数据在代码段起始,而程序执行的之后默认从代码段起始位置执行,导致数据被当成了指令

[外链图片转存中…(img-BlsphVL6-1683215549790)]

  1. 解决问题

    在CS段中,加上类似start的标号,用来指定程序的起始位置

    [外链图片转存中…(img-h8pISVFs-1683215549791)]

    image-20230504172732596

9.在代码段中使用栈

http://www.15wanjia.com/news/28610.html

相关文章:

  • 主要b2b网站淘宝关键词排名查询
  • 网站建设翻译英文无锡网站seo顾问
  • 网站建设 开发票艺人百度指数排行榜
  • 网站建设及经营应解决好的问题软文推广发布平台
  • 宁夏网站建设电话免费seo工具
  • mui做浏览器网站跳转精品成品网站1688
  • 可以做旅行行程的网站广西seo公司
  • 石材做网站站长统计app软件大全
  • 做营销型网站一般要多少钱免费的外贸网站推广方法
  • 长沙建一个网站大概要多少钱seo优化网站查询
  • 网站建设服务器托管实时热搜榜榜单
  • 免费的企业网站建设流程云seo关键词排名优化软件
  • 成都上界品牌设计事务所河南做网站优化
  • Hdi做指数网站外贸营销网站建设介绍
  • 2022最新时事新闻及点评seo网站诊断价格
  • 小程序页面设计报价seo优化培训多少钱
  • 小榄网站建设无锡seo公司哪家好
  • 做网站建设的公司有哪些上海网络营销
  • 网站建设在哪里办公网站快照优化公司
  • 专业科技网站建设东莞疫情最新通告
  • 珠海市企业网站建设自己的网站怎么在百度上面推广
  • 怎样做p2p网站seo投放
  • 设计师网络称呼seo公司 彼亿营销
  • 深圳做网站网络公司免费网站推广软件下载
  • 有个印度做网站的天天找我腾讯企点下载
  • 荆州哪里有做网站的手机优化专家下载
  • 网站推广如何加入百度推广
  • 婚纱摄影 网站关键词 优化seo关键词挖掘工具
  • 自豪的采用wordpress关键词首页排名优化价格
  • 网站建设b2b2c推广拉新app哪几个靠谱