汇编语言学习-二

好吧,已经隔了两天,下完班看了两天,在电脑上装了虚拟机版的MS_DOS,主要是怕折腾坏我的电脑系统;

这个第二天应该是称为第二章更为合适,目前第二章已经看完,基本的命令也是敲了敲;

下面就进行一些汇总叭

嵌入式软件学习笔记 - 第二章:汇编语言基础

1. 概述

本章主要介绍了8086CPU的寄存器架构和基本的汇编指令。以下内容基于学习心得和网络资料汇总。

2. 主要组件

  • 运算器:负责数据处理。
  • 控制器:控制各个硬件部件的工作。
  • 寄存器:用于信息存储。

3. 寄存器

8086CPU使用14个寄存器,分为以下几类:

通用寄存器:

  • AX(累加器):主要用于算术运算和逻辑运算。
  • BX(基址寄存器):用于存储内存地址。
  • CX(计数器):在循环和串操作中用作计数器。
  • **DX(数据寄存器)**用于数据传输。

这些寄存器长度为16位,可分成高八位和低八位:

  • AH & AL:AX的高八位和低八位。

字在寄存器中的存储:

一个字等于2个Byte(16个bit)。

专用寄存器:

  • SI(源变址寄存器)DI(目的变址寄存器):主要用于串操作。
  • SP(堆栈指针):指向堆栈顶部。
  • BP(基址指针):用于访问堆栈中的数据。

程序状态字寄存器(PSW):

包含程序执行的状态信息,如是否产生进位等。

段寄存器:

  • CS(代码段寄存器)
  • SS(段寄存器)
  • DS(数据段寄存器)
  • ES(附加段寄存器)

CSIP(指令指针寄存器) 一起决定下一条指令的物理地址:
物理地址 = 段地址16 + 偏移地址
物理地址 = CS
16 + IP

4. 基本指令

- **ADD AX, BX**:AX = AX + BX
- **MOV BX, 123H**:BX = 123H
- **JMP 段地址:偏移地址**
- **SUB AX, BX**:AX = AX - BX,结果存储在AX中

以上是课本中的知识点;讲的有一些不全面,我们理论上是想清晰的知道这些寄存器都是什么作用;

1)4个16位段地址寄存器
8086对存储器采用分段管理,4个段寄存器分别用于存放4个当前段的起始地址,又称为段基址寄存器。

CS(Code Segment) ——代码段寄存器
DS(Data Segment) ——数据段寄存器
SS(Stack Segment)—— 堆栈段寄存器
ES(Extra Segment)——扩展段寄存器

2)16位指令指针寄存器IP
IP始终指向当前代码段CS所要取出的下一条指令的地址。
每取出一个字节指令后,IP自动加1。
可以用转移指令、调用指令及中断和复位等改变IP值。

3)4个16位数据寄存器
AX、BX、CX、DX,可以分为8个8位寄存器使用:
AH、AL、BH、BL、CH、CL、DH、DL
数据寄存器用于存放操作数及中间结果
举个例子:
BX任意时刻的内容都=高八位BH,低八位BL(对于其他同理)

4)4个16位地址指针寄存器
地址指针寄存器用于存放操作数的地址,编程时通过修改寄存器的内容达到修改地址的目的
SP(Stack Pointer)——堆栈指针寄存器 指示堆栈段中的栈顶位置,专门用于数据进栈和出栈的位置指示,只能与SS配对使用
BP(Base Pointer)——基址指针寄存器 指示堆栈段中一个数据区的基址位置,通常与SS配对使用
SI(Sourse Index)——源变址寄存器
DI(Destination Index)——目的变址寄存器

与DS联用,用来确定数据段中某一存储单元的偏移地址。在串处理指令中SI和DI作为隐含的源变址和目的变址寄存器,此时SI和DS联用,DI和ES联用,分别达到在数据段和附加段中寻址的目的


										  **代表安装DOS的过程**

大家需要的话,我就发一篇汇编环境搭建的文章。之前装在了笔记本上,现在台式机空荡荡,刚好可以复习一遍。

查看CPU和内存

Debug是DOS,Windows都提供的实模式程序的调试工具。使用它可以查看CPU各种寄存器的内容,内存的情况和在机器码级别跟踪程序的运行

常用Debug功能:

R命令  查看改变寄存器中的内容
D      查看内存中的内容
E      改写内存中的内容
U      将内存中的机器指令翻译成汇编指令
T      执行一条机器指令
A      以汇编的形式在内存中写入一条机器指令

需要自己练习哦!

5. 总结

本章内容为汇编语言学习的基础,对深入理解处理器工作原理和汇编程序编写至关重要。后续将深入学习更多指令和程序设计方法。指令有些繁琐,但是仔细理解下来,敲上几遍感觉也是OK的!原来只是寄存器跳来跳去呀!

附上之前贴在墙上方便看的,“扭曲的笔记”
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

等差数列末项计算

等差数列末项计算 C语言代码C 代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 给出一个等差数列的前两项a1,a2,求第n项是多少。 输入 一行,包含三个整数a1,a2&#x…

【笔记2-1】ESP32:基于vscode的espidf插件的开发环境搭建

主要参考b站宸芯IOT老师的视频,记录自己的笔记,老师讲的主要是linux环境,但配置过程实在太多问题,就直接用windows环境了,老师也有讲一些windows的操作,只要代码会写,操作都还好,开发…

基于Java Springboot蛋糕订购小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…

使用Postman搞定各种接口token实战

现在许多项目都使用jwt来实现用户登录和数据权限,校验过用户的用户名和密码后,会向用户响应一段经过加密的token,在这段token中可能储存了数据权限等,在后期的访问中,需要携带这段token,后台解析这段token才…

H3C OSPF实验

实验拓扑 实验需求 按照图示配置 IP 地址按照图示分区域配置 OSPF ,实现全网互通为了路由结构稳定,要求路由器使用环回口作为 Router-id,ABR 的环回口宣告进骨干区域 实验解法 一、配置IP地址 [R1]int l0 [R1-LoopBack0]ip add 1.1.1.1 32 […

LSTM-CNN-BP-RF-SVM五模型咖喱融合策略混合预测模型

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 LSTM-CNN-BP-RF-SVM五模型咖喱融合策略混合预测模型 Matlab代码注释清晰。 程序设计 完整程序和数据获取方式:私信博主回复LSTM-CNN-BP-RF-SVM五模型咖喱融合策略混合预测模型(Matlab&#…

Ai编程cursor + sealos + devBox实现登录以及用户管理增删改查(十三)

一、什么是 Sealos? Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。 二、适用场景 业务运…

CSS学习记录02

CSS颜色 指定颜色是通过使用预定义的颜色名称&#xff0c;或RGB&#xff0c;HEX&#xff0c;HSL&#xff0c;RGBA&#xff0c;HSLA值。 CSS颜色名 在CSS中&#xff0c;可以使用颜色名称来指定颜色&#xff1a; CSS背景色 您可以为HTML元素设置背景色&#xff1a; <h1 s…

【VUE3】npm : 无法加载文件 D:\Program\nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本。

npm : 无法加载文件 D:\Program\nodejs\npm.ps1。未对文件 D:\Program\nodejs\npm.ps1 进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息&#xff0c;请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_ Execution_Policies。…

级联树结构TreeSelect和上级反查

接口返回结构 前端展示格式 前端组件 <template><div ><el-scrollbar height"70vh"><el-tree :data"deptOptions" :props"{ label: label, children: children }" :expand-on-click-node"false":filter-node-me…

Ansible自动化一键部署单节点集群架构

自动化部署利器&#xff1a;Ansible 一键部署脚本 在现代IT基础设施管理中&#xff0c;Ansible以其简洁、强大的自动化能力脱颖而出。以下是精心打造的Ansible自动化一键部署脚本&#xff0c;旨在简化部署流程&#xff0c;提升效率&#xff0c;确保一致性和可靠性。 通过这个…

基于智能语音交互的智能呼叫中心工作机制

在智能化和信息化不断进步的现代&#xff0c;智能呼叫中心为客户提供高质量、高效率的服务体验&#xff0c;提升众多品牌用户的满意度和忠诚度。作为实现智能呼叫中心的关键技术之一的智能语音交互技术&#xff0c;它通过集成自然语言处理&#xff08;NLP&#xff09;、语音识别…

CLIP模型也能处理点云信息

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

【开源免费】基于Vue和SpringBoot的服装生产管理系统(附论文)

博主说明&#xff1a;本文项目编号 T 066 &#xff0c;文末自助获取源码 \color{red}{T066&#xff0c;文末自助获取源码} T066&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

R语言机器学习论文(六):总结

文章目录 介绍参考文献介绍 本文采用R语言对来自进行数据描述、数据预处理、特征筛选和模型构建。 最后我们获得了一个能有效区分乳腺组织的随机森林预测模型,它的性能非常好,这意味着它可能拥有非常好的临床价值。 在本文中,我们利用R语言对来自美国加州大学欧文分校的B…

CSP/信奥赛C++语法基础刷题训练(36):洛谷P11229:[CSP-J 2024] 小木棍

CSP/信奥赛C语法基础刷题训练&#xff08;36&#xff09;&#xff1a;洛谷P11229&#xff1a;[CSP-J 2024] 小木棍 题目描述 小 S 喜欢收集小木棍。在收集了 n n n 根长度相等的小木棍之后&#xff0c;他闲来无事&#xff0c;便用它们拼起了数字。用小木棍拼每种数字的方法如…

http(请求方法,状态码,Cookie与)

目录 1.http中常见的Header(KV结构) 2.http请求方法 2.1 请求方法 2.2 telnet 2.3 网页根目录 2.3.1 概念 2.3.2 构建一个首页 2.4 GET与POST方法 2.4.1 提交参数 2.4.2 GET与POST提交参数对比 2.4.3 GET和POST对比 3.状态码 3.1 状态码分类 3.2 3XXX状态码 3.2 …

365天深度学习训练营-第P6周:VGG-16算法-Pytorch实现人脸识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 文为「365天深度学习训练营」内部文章 参考本文所写记录性文章&#xff0c;请在文章开头带上「&#x1f449;声明」 &#x1f37a;要求&#xff1a; 保存训练过…

【Linux】设计文件系统(C实现)

要求&#xff1a; (1)可以实现下列几条命令 dir 列文件目录 create 创建文件 delete 删除文件 read 读文件 write 写文件 (2)列目录时要列出文件名、存取权限&#xff08;八进制&#xff09;、文件长度、时间&#xff08;创建时间&#xff0c;修改时间以及…

开源用户体验调查管理平台Formbricks

什么是 Formbricks &#xff1f; Formbricks 是一个开源的调查和体验管理平台&#xff0c;旨在帮助用户在应用内、网站、链接和电子邮件中收集用户和客户的反馈。它为开发者提供了一个隐私优先的替代方案&#xff0c;支持自托管或使用 Formbricks 云服务&#xff0c;并提供了丰…