汇编语言学习-二

好吧,已经隔了两天,下完班看了两天,在电脑上装了虚拟机版的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的!原来只是寄存器跳来跳去呀!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值