汇编语言篇(一) -------- 知识难点详解与易错点汇总

本文深入解析了计算机运算基础,包括补码表示法的范围限制、减法运算的本质。此外,介绍了微型计算机结构中的寻址方式,强调段寄存器的作用。在汇编语言部分,讨论了非法数据的判断、字符和字符串的存储,以及数据存储位置的注意事项。还详细阐述了顺序结构程序设计中的各种指令使用限制及其对标志位的影响,如加法、减法、乘法、除法、移位运算等,并分析了立即数在不同指令中的应用规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文是一篇对在学习中一些易错和难理解知识点的解释和汇总的博文,因此不会将所有的知识点列出(如易理解的知识点)

第二章计算机运算基础

为什么补码范围是-128~127

课本上肯定和我们说过补码在正数上与原码相同,对于负数,是对原码除了符号位以外,其余位取反之后的值加一。而这本质上就是用0 减去其绝对值的原码就得到其负数的补码了。如

5 : 00000101
-5 : 0000 0000 - 00000101 = 1101110001011 按照定义操作得到的结果是一样的

那么对于-128 我们得到128的原码为:10000000(在原码中是-0的原码) 那么我们用0 减去 原码得到:10000000我们惊人的发现和原来的原码是一样的。(我们无法用定义的方式得到),因此可以说这个比原码多出的一个范围,是将原码中0的两种形式中负数的形式的意义变成了-128.好了到了这里你应该明白了把。

为什么减法可以看出是对减数取负之后的加法

我们对于一个减式 X - Y ,我们等价变成X + 0 - Y,由于具有结合性,那么0 - Y不就是我们上面所说的Y的取负操作后的值嘛。因此这就得到了解释。

第三章微型计算机结构

寻址方式中哪几种是存储器操作数

分别是
存储器寻址方式:( 直接寻址方式,寄存器间接寻址方式,变址和基址寻址方式,基址变址寻址方式)。它们有一个共同的特点就是操作数中含有[]符号。了解好这个在后面的章节能更好的理解指令运用的限制。

段寄存器都能存放指令和数据嘛?

  1. (段寄存器)程序指令的所有指令都在代码段中(CS),其余的不能存放指令。
  2. 段寄存器)程序运行所使用的数据都可以放在四个代码段的任意一个。存数据一般在隐含段(若不是,则需要显示指明)

为什么说SP中所含的偏移地址是堆栈段中的偏移地址

虽然寻址方式中(不涉及夸段)没有用到SP,但是SP是堆栈指针
。它的内容是PUSH和POP指令或调用等指令从堆栈段中存取栈顶单元信息的
偏移量。因此可以说SP中所含的地址是堆栈中的偏移地址。

在求解存储器操作数的有效地址和实际地址有哪些注意事项

一般的步骤如下,

  1. 判断出隐含寻址段的类型。(段的基址)。一般除使用BP做基址寄存器的指令是堆栈段(SS)外,其余情况下,均为DS。这个在没有涉及段跨越的时候,如果有,就是跨越段。
  2. 判断寻址的方式。
  3. 求出有效地址(偏移量)
  4. 通过段基址 + 偏移量 得到实际地址。在这一步注意,段基址要先向左移4个二进制位再相加。

第四章汇编语言

判断哪些数据是非法的(重要)

  1. 第一个是不能出现不是该进制下出现的字符。如8进制,数字只能是0–7,那么就不能出现8,9这两个数字。
  2. 对于16进制来说,如果首部是字母,则需要在前边添加一个0.这是为了避免与标识符冲突。如A45H要写成0A45H
  3. 最关键的是在表达式中,在书本上的定义为:用运算符号将常数,标识符号等连接起来且有正
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落春只在无意间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值