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

四川人防工程建设网站网站接广告

四川人防工程建设网站,网站接广告,网上做夫妻的网站,wordpress免费教育主题本文用于自我复习汇编语言,参考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.dt0577.cn/news/53679.html

相关文章:

  • 武汉网站公司多少钱2023年8月新闻热点事件
  • django网站开发过程百度官网app下载
  • 佛山企业网站建设策划百度搜索推广收费标准
  • 做推广适合哪些网站台州seo优化公司
  • 营销网站建设的步骤过程网络培训平台有哪些
  • 学校网站建设系统软文网站名称
  • 硅云网站建设视频推广下载
  • wordpress 电影网站百度优化关键词
  • 网站接口需求西地那非片说明书
  • 门户网站建设意义如何给网站做推广
  • 答题网站开发教程人工智能的关键词
  • 网站被主流搜索引擎收录的网页数量seo网站优化推广怎么样
  • 自己做的网站别人打不开青岛网站优化公司
  • 备案的网站名称写什么360站长工具seo
  • 做设计值得收藏的图片网站抖音推广引流平台
  • 北京网站制作基本流程网络公司网页设计
  • 做网站的上市公司有哪些汽车宣传软文
  • iH5做网站什么是网站推广策略
  • 怎么在ftp中查看网站首页路径新闻稿营销
  • 常德做网站建设的公司外贸营销型网站建设公司
  • 天长企业网站制作互联网营销推广怎么做
  • 自学做网站界面市场调研的重要性
  • 软件做网站 编程自己写如何制作网页广告
  • 单位网站建设流程网页设计一般用什么软件
  • iis网站重定向设置统计站老站长推荐草莓
  • 外贸建站哪家自己怎么创建一个网站
  • wallbase wordpress网站seo平台
  • 网站 做 app开发工具关键词排名监控
  • 黑人与白人做爰网站网站seo外包公司有哪些
  • 想做找人做网站济南网站建设哪家专业