汇编期末复习知识点

embedded/2024/9/24 4:21:41/

参考文献1

第一章 概述

组成

  • 计算机系统由硬件子系统和软件子系统组成。
  • 硬件子系统:组成计算机系统的所有电子的,机械的,光学的和磁性的元部件。

计算机中常用进制数表示

  • 十进制(Decimal):数据尾部加一后缀D,如2355D
  • 二进制(Binary):数据尾部加一后缀B,如1011B
  • 八进制(Octal):数据尾部加一后缀O,如72O
  • 十六进制(Hexadecimal):数据尾部加一后缀H,如13ABH

进位计数制:

对于任意一种进位计数制表示的数都可以写出按其权展开的多项式之和

  • (101)D = 1×102 + 0 ×101 + 1 ×100
  • (101)B = 1×22 + 0 ×21 + 1 ×20 = 4+0+1= (5)D
  • (101)O = 1×82 + 0 ×81 + 1 ×80 = 64+0+1= (65)D
  • (101)H = 1×162 + 0 ×161 + 1 ×160 = 256+0+1= (257)D

数制之间的转换

在这里插入图片描述

十进制小数 —> 二进制小数,一直乘2,直到小数部分为0,先乘出来的为最高位

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

反码表示法

在反码的表示中,如果为正数,则其反码与原码表示完全相同;对于负数,符号位为1,其余按位取反,而对于补码,如果是正数,则其补码与原码完全相同,如果是负数,则符号位为1,其余按位取反后+1
例如,X=+85,X=01010101,X反=01010101,X补=01010101。Y=-85,Y原=11010101,Y反=10101010
Y补=10101011

补码加减运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结论,⽤补码表示的数据进⾏加法运算时可以不考虑符号位,直接运算, 即与不
带符号的数据的运算完全相同

1.有符号数的位数扩展方法

  • 对于原码扩展,不管符号位,都是补0
  • 对于补码扩展,符号位是0补0,是1补1

2.常用ASCII码值

  • 30H – 0
  • 41H – A
  • 61H – a
  • 24H – $
  • 20H – 空格
  • 0AH – 换行
  • 0DH – 回车

第二章 8086处理器

本章目标:

  • 常用寄存器的功能
  • 理解物理地址,段地址,偏移地址,逻辑地址的关系

常用寄存器

1.通用寄存器

  • AX — accumulate register — 累加器,常做隐含操作数
  • BX — based register — 基地址寄存器,常做地址指针
  • CX — count register — 计数器,常存放计数值
  • DX — data register — 数据寄存器,常与累加器AX配合
  • SI — source register — 源变址寄存器,保存源操作数地址
  • DI — destination register — 目的变址寄存器,常保存目的操作数地址
  • SP — stack point – 栈顶指针,只指向栈顶
  • BP — base point – 堆栈指针,可保存堆栈任意位置地址
  • IP — Instruction Pointer— 指令指针

AH,AL,BH,BL,CH,CL,DH,DL等

  • AH&AL=AX,AH是AX中的高位,AL是AX中的低位
  • BH&BL=BX
  • CH&CL=CX
  • DH&DL=DX

数据定义伪指令助记符

在这里插入图片描述

2.段寄存器

  • CS — code segment — 代码段寄存器 —— 用来存放要执行的代码指令,IP指向下一条要执行的指令的偏移地址(CS:IP)
  • DS — data segment — 数据段寄存器 —— 用来存放数据段首地址
  • ES — extra segment — 附加段寄存器 —— 也是存数据
  • SS — stack segment— 堆栈寄存器 —— 用来存放程序运行中需要被临时保护的数据

3.标志寄存器,待补充


http://www.ppmy.cn/embedded/19301.html

相关文章

phpstudy-Ubuntu面板(小皮面板)

Ubuntu安装脚本 :(无docker版本) wget -O install.sh https://notdocker.xp.cn/install.sh && sudo bash install.sh Ubuntu安装脚本 :(有docker版本) wget -O install.sh https://download.xp.cn/install.sh && sudo bash install.sh 参考:linux 完…

【每日算法】理论:深度学习基础 刷题:KMP算法思想

上期文章 【每日算法】理论:常见网络架构 刷题:力扣字符串回顾 文章目录 上期文章一、上期问题二、本期理论问题1、注意力机制2、BatchNorm 和 LayerNorm 的区别3、Bert 的参数量是怎么决定的。4、为什么现在的大语言模型都采用Decoder only架构&#x…

Python小游戏 贪吃蛇(完整版) Pygame sys time

需要安装pip pygame 不会私 import randomimport pygame, sys,time # pygame.init()# 全局变量 SCREEN_WIDTH 640 # 屏幕宽度 SCREEN_HEIGHT 480 # 屏幕高度BLOCK_SIZE 20 # 方格的宽、高长度COLOR_GRAY (150, 150, 150) # 灰色 COLOR_GREEN (0, 150, 0) # 绿色 CO…

Wireshark安装教程

一、下载 地址:https://www.wireshark.org/download.html打开网址后,点击相应的版本下载: 二、安装 下载完成后双击文件开始安装 点击Next 点击Noted 点击Next 点击Next 点击Next 可以点击Browse更改安装路径,默认…

深度学习基础之《TensorFlow框架(14)—TFRecords》

一、什么是TFRecords文件 1、TFRecords其实是一种二进制文件,虽然它不如其他格式好理解,但是它能更好的利用内存,更方便复制和移动,并且不需要单独的标签文件 2、使用步骤 (1)获取数据 (2&…

C语言数据结构之栈

目录 1.栈的概念及结构2.栈的实现3.栈的代码实现4.相关例题 •͈ᴗ•͈ 个人主页:御翮 •͈ᴗ•͈ 个人专栏:C语言数据结构 •͈ᴗ•͈ 欢迎大家关注和订阅!!! 1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插…

JAVA信息传送代码之下载图片

JAVA信息传送代码之下载图片 package xin.week1.day3; import org.junit.Test;import java.io.*; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.UnknownHostException;/*首先开启客户端服务 * 客户端下载服务端侧的图…

webpack和vite

webpack 是一个模块打包工具,使得工程中的各种资源能够被打包成一个整体的bundle.js文件。Webpack具有很高的可配置性和灵活性,使得开发者可以使用各种插件和配置文件来优化它们的工作流程。Webpack适用于大型、复杂的项目,它可以处理多种不…