首页 > 编程语言 >汇编期末复习

汇编期末复习

时间:2023-11-09 19:57:17浏览次数:32  
标签:汇编 复习 补码 地址 寻址 期末 寄存器 ASCII 原码

本章博客贴了很多PPT的内容,可能需要开白天模式看的清晰

 

第一章

字长,原码,反码,补码,真值,进制之间的转换

字长:字长是计算机中存储和处理数据的基本单元大小。它通常以位(bits)为单位来表示,例如,一个8位字长可以表示256个不同的值。

编码:

1. 原码(Sign-Magnitude Representation):

  • 最高位是符号位,0表示正数,1表示负数。
  • 剩余位表示数值的绝对值。
  • 例如,+5的原码是00000101,-5的原码是10000101。

2. 反码(One's Complement):

  • 用于表示负数,正数与原码相同。
  • 对于负数,反码是将原码中的非符号位取反(0变为1,1变为0)。
  • 例如,+5的反码是00000101,-5的反码是11111010。

3. 补码(Two's Complement):

  • 用于表示有符号整数,包括正数和负数。
  • 对于正数,补码与原码相同。
  • 对于负数,补码是将原码中的非符号位取反,然后加1。
  • 例如,+5的补码是00000101,-5的补码是11111011。

4. 真值(True Value):

  • 真值表示的是数的绝对值,不包含符号位。
  • 真值通常用于数学运算,而不是计算机内部表示。
  • 例如,+5的真值是5,-5的真值是5。

真值到原码、反码和补码:

  • 首先确定数的符号。
  • 如果是正数,将真值转换为二进制,得到原码、反码和补码,它们相同。
  • 如果是负数,将真值转换为二进制,然后根据符号位生成原码、反码和补码。

这里的转换只需要记住求反并加1,记得区分非符号位

 

 

冯.诺依曼计算机硬件系统包括哪几部分

存储器,运算器,控制器,输入设备,输出设备

 

常见符号的ASCII码 (大小写字母A-F a-f 数字0-9)

大写字母A的ASCII码:65 (0x41)

大写字母B的ASCII码:66 (0x42)

大写字母C的ASCII码:67 (0x43)

大写字母D的ASCII码:68 (0x44)

大写字母E的ASCII码:69 (0x45)

大写字母F的ASCII码:70 (0x46)

小写字母a的ASCII码:97 (0x61)

小写字母b的ASCII码:98 (0x62)

小写字母c的ASCII码:99 (0x63)

小写字母d的ASCII码:100 (0x64)

小写字母e的ASCII码:101 (0x65)

小写字母f的ASCII码:102 (0x66)

数字0的ASCII码:48 (0x30)

数字1的ASCII码:49 (0x31)

数字2的ASCII码:50 (0x32)

数字3的ASCII码:51 (0x33)

数字4的ASCII码:52 (0x34)

数字5的ASCII码:53 (0x35)

数字6的ASCII码:54 (0x36)

数字7的ASCII码:55 (0x37)

数字8的ASCII码:56 (0x38)

数字9的ASCII码:57 (0x39)
ascii码

 

第二章

 寄存器的基础知识

 (1)通用寄存器

 

 

 通用寄存器,有自己的一些作用,但是该通用还是通用

依据课本的定义

通用寄存器分为数据寄存器(AX,BX,CX,DX),变址寄存器(SI(源变址寄存器),DI(目的变址寄存器)),指针寄存器(BP(基址指针寄存器),SP(堆栈指针寄存器))

 

 (2)段寄存器

 

记忆方法就是英语哈哈哈哈

CS就是code,代码段

DS就是DATA,数据段

ES就是extra,附加段

SS就是stack,堆栈段

(3)指令指针寄存器

 IP是一个专属的寄存器,与CS段联合使用以确定下一条指令的存储单元地址

(4)标志寄存器

 

 微处理器的基本功能模块

 补码运算及标志值的判断 (6个标志位),溢出判断 (程序员判断/CPU判断)

 

  1. Z,零标志位 (ZF,Zero Flag):当运算的结果为零时,零标志位被设置为1。它用于判断运算结果是否为零,通常在条件分支中使用。

  2. S,符号标志位 (SF,Sign Flag):符号标志位用于指示运算结果的符号。如果结果为负数,则符号标志位被设置为1,如果结果为正数,则设置为0。它用于判断运算结果的符号。

  3. C,进位标志位 (CF,Carry Flag):进位标志位在无符号整数运算中使用,它用于指示是否发生了进位。如果运算结果溢出了最高位,进位标志位被设置为1。

  4. O,溢出标志位 (OF,Overflow Flag):溢出标志位用于指示是否发生了有符号整数运算的溢出。如果结果无法用固定位宽的寄存器表示,则溢出标志位被设置为1。

  5. P,奇偶标志位 (PF,Parity Flag):奇偶标志位用于指示运算结果的二进制表示中1的个数是奇数还是偶数。如果1的个数为偶数,奇偶标志位被设置为1。

  6. A,辅助进位标志位 (AF,Auxiliary Carry Flag):辅助进位标志位通常用于二进制BCD码运算(二进制编码的十进制数)。它用于指示从低位到高位的进位。

有关于溢出判断

O标判断方式:

加数与被加数最高位相同,但与结果最高位不同,O置1

C标判断方式

产生进位或借位时C置1

 

微处理的工作模式(三种),实模式是重点

 

 物理地址与逻辑地址的转换

 

 段基址是指定了一个逻辑地址段在内存中的起始位置的值

 16位字节作为段基址

16位二进制数寻址,即为偏移地址

存储空间,寻址范围,地址线与存储容量的关系

 

  1. 存储空间(存储器):存储空间是计算机用于存储数据和程序的地方。它通常是计算机的主内存,也可以包括硬盘驱动器、固态硬盘、闪存等各种存储设备。存储空间用于存储二进制数据,包括程序指令、变量、数据结构和操作系统代码等。

  2. 寻址范围:寻址范围是指计算机可以访问的存储空间的范围。它决定了计算机能够寻址的地址范围,通常以地址范围的上下限表示。例如,一个32位计算机的寻址范围为0x00000000到0xFFFFFFFF,这意味着它可以访问4GB的内存。

  3. 地址线:地址线是计算机用来传递地址信息的电子线路。每根地址线代表一个地址位,它决定了寻址范围中的特定地址。地址线的数量决定了计算机能够寻址的地址空间大小。例如,一个32位计算机具有32根地址线,它可以寻址$2^{32}$个不同的地址,即4GB的地址空间。

  4. 存储容量:存储容量是指计算机存储空间的总大小,通常以字节、千字节、兆字节或其他单位表示。它表示存储设备可以容纳的数据总量。存储容量与寻址范围不同,它表示存储空间的实际大小,而寻址范围表示计算机能够寻址的地址范围。

第三章

寻址方式

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

基本指令的使用方法 (ADD SUB MUL CMP PUSH POP INC AND OR XOR SHL SHR ROL CALL 。。)

 

 

 

 

    

 EQU

$运算符

 如:

 SEG运算符

SEG是计算后续段名/变量名/标号名 的段基址

 OFFSET运算符

 

标签:汇编,复习,补码,地址,寻址,期末,寄存器,ASCII,原码
From: https://www.cnblogs.com/nish1hundun/p/17818286.html

相关文章

  • 拓扑学 复习笔记 & 题目整理
    非常好友链,爱来自害羞:https://bluenine9.github.io/2023/09/21/拓扑学笔记/复习笔记懒得tex化了,我猜大家应该看得懂我的字^^......
  • (十二)C#编程基础复习——break、continue、goto:跳出循环
    在使用循环语句时,并不是必须等待循环完成后才能退出循环,我们也可以主动退出循环,C#为我们提供了break、continue和goto三种方式来跳出循环:1、break它不仅可以用来终止switch语句,在循环语句中使用时还可以用来跳出循环,执行循环外的下一条语句。如果是在嵌套循环中使用,例如在内层的......
  • (十一)C#编程基础复习——foreach循环
    除了前面介绍的几种循环语句外,C#同样也支持foreach循环,使用foreach可以遍历数组或者集合对象中的每一个元素。foreach会在每次循环的过程中,依次从数组或集合对象中取出一个新的元素放到foreach()里定义的变量中,直到所有元素都成功取出后退出循环。代码示例如下:int[]a=newin......
  • (十)C#编程基础复习——do while循环
    在C#中,dowhile循环同样可以多次迭代一部分程序,但它与我们前面学习的for循环和while循环不同,for循环和while循环会在循环开始之前先判断表达式的结果,只有表达式结果为真时才会开始循环,而dowhile循环会先执行一遍循环主体中的代码,然后再判断表达式的结果。也就是说,不论表达式的结......
  • [机器学习复习笔记] BGD, SGD, MBGD
    BGD,SGD,MBGD1.BGD批量梯度下降法(BatchGradientDescent)1.1批量梯度下降法介绍在梯度下降法每次迭代中,将所有样本用来进行参数\(\theta\)(梯度)的更新,这其实就是批量梯度下降法。批量梯度下降法的损失函数表达式:\[E=\frac{1}{2n}\sum_{i=1}^{n}(y^{(i)}-f......
  • 2008秋-计算机软件基础-结构体与指针复习
    //结构体与指针#include<string.h>#include<stdio.h>structstudent{intnumber;charname[10];};voidmain(){structstudenta;structstudent*ptr=&a;a.number=10;//ptr->number=10;strcpy(a.name,"li");//strcpy(ptr->......
  • 汇编-当前位置计数器$
    符号$被称为当前位置计数器.dataselfPtrDWORD$;声明了一个变量selfPtr,并将其初始化为该变量的偏移量       ......
  • (九)C#编程基础复习——while循环
    在C#中,while循环用于多次迭代一部分程序,特别是在迭代的次数不固定的情况下,建议使用while循环而不是for循环。其中,循环主体可以是一个单独的语句,也可以是多条语句组成的代码块,当表达式的为真时,循环会一直执行下去。示例代码如下:inti=1;while(i<9){Console.Write("{0}",......
  • 《数据结构》概念复习一
    1.考前必背的知识点(干货)数据(Data):数据是描述客观事物的数值,字符以及能输入到计算机中且能被处理的各种符号集合。数据元素(DataElement):数据元素是组成数据的基本单位,是数据集合的个体,在数据结构中作为一个整体进行考虑和处理,一个数据元素由多个数据项构成数据对象(DataObject):......
  • 《MySQL》复习必刷知识点
    1.数据库SQL语言的缩写DDL:数据定义语言DataDefinitionLanguage,定义语言就是定义关系模式、删除关系、修改关系模式以及创建数据库中的各种对象,比如表、聚簇、索引、视图、函数、存储过程和触发器关键字包括:Create,Alter,Drop,TruncateDML:数据操纵语言全称是DataManipulationLa......