汇编期末复习

本章博客贴了很多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运算符

 

 这个倒是常规经常使用。

 

 PTR运算符

PTR是用来修改属性的,用来让两个东西进行比较时可以真的可以进行比较

 

MOV指令

 注意前面是目标操作数,后面是源操作数,将源传入目

 MOVSX/MOVZX

LEA指令

 

 XCHG指令

 PUSH/POP等堆栈指令

 

 

 ADD/SUB/ADC/SBB

 INC/DEC

int/delete

 NEG(二进制求补)

实际应用在求负数

 CMP (比较指令)

这个是很经常用的

可以搭配jnz,jmp等等等等

 MUL/ I MUL

 注意MUL无法接立即数

如果IMUL有目标操作数时,源操作数可以是立即数。

 转移类指令

 分为无条件和有条件

 

 CALL和PROC和RET

 

 

逻辑运算指令

 移位指令

 

posted @   逆世混沌  阅读(32)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 狂迪 卢广仲
狂迪 - 卢广仲
00:00 / 00:00
An audio error has occurred.

作词 : 卢广仲/討海人/黄少雍

作曲 : 卢广仲

在我眼前消失不见

今天的什么都不对

楼下的店听见熟悉的音乐

谁离开我谁爱着我

剩下一半的小火锅

别乱牵拖直到你出现

满天星光月亮出来了

神魂颠倒这是真的吗

管不住我自己的步伐

戒不掉你致命的魔法

谁教我蜿蜒的弹跳

谁教我崎岖的舞蹈

我爱你你知不知道

OH Dónde estás Bongria

想要见面有点抱歉

下午才跟你晚上约

请放轻松看着公园的落叶

摇摇晃晃我的形状

一边海洋一边天堂

你拉着我这一步叫做永远

满天星光月亮出来了

神魂颠倒这是真的吗

管不住我自己的步伐

戒不掉你致命的魔法

谁教我蜿蜒的弹跳

谁教我崎岖的舞蹈

我爱你你知不知道

OH Dónde estás Bongria

我丢掉太多的不必要

朝着有你的方向跑

跑到你眼前逗你笑

听到电影里的配乐响起

全场只为了等你说一句

说欸你要不要跟我一起

去教堂

Yes I do希望你也一样

先说好一起永保安康

每一天蜿蜒的弹跳

每一天崎岖的舞蹈

我爱你你知不知道 OH

如果爱我让我看见你

的脚