之前本来打算学操作系统的但发现需要汇编与计组的基础。因此这个星期看了一些汇编,做一些笔记。
对于初学者来说,初学汇编真的是会很迷惑,因为你会了解到汇编不止一种,一种处理器架构就会有一种汇编,面对各种各样的汇编我真是不知道学哪种了,最后问了学过的人,其实没什么关系,选一种认真学就好了,我选的是8086的汇编。
一.关于寄存器
8086有四种寄存器:1.数据寄存器:AX,BX,CX,DX
2.地址寄存器:SI,DI,SP,BP 3.段寄存器:CS,DS,ES,SS 4.控制寄存器:IP,FLAGS
其中数据寄存器又可以分为两个8位寄存器。分别为AH,AL,BH,BL,...其中AH,AL分别是
AX的高八位和低八位。
二,关于数的表示。
用0和1数码的组合在计算机中表达的数值称为机器数;对应地,现实中真实的数值被称为真值。无符号数表示起来很简单,直接按二进制的加权转换就行。比如8位二进制可以表示0-255的无符号数,直接就是00000000,00000001 ,...,11111111。
有符号数的表示多种,如原码,反码和补码。计算机中默认用补码表示。
原码:最高有效位表示符号(正数0,负数1),其他位置直接表示数值大小
反码:正数的反码和原码相同,最高位为0,其余位为数值位。负数的反码则不同
最高位仍是1,但数值位按位取反。对于数值0,在原码和反码中有+0和-0两种表示法。
所以,8位二进制原码和反码能表示的数值范