汇编语言程序设计基础

  |   0 评论   |   1,542 浏览

    u  常用数字

    Ø  存储容量

    1K  = 1024    =  210  (Kilo)

    1M = 1024K  =  220  (Mega)

    1G  = 1024M =  230   (Giga)

    Ø  1个二进制位:bit     (比特)

    Ø  8个二进制位:Byte  (字节) 1Byte = 8bit

    Ø  2个字节:    Word (字) 

    Ø  1Word = 2Byte = 16bit

    u  补码的特性

    Ø    求补

      [x]补         [-x]补

      [x + y]补 = [x]补 + [y]补

      [x - y]补 = [x]补 + [-y]补    

    说明:

    •  在计算机内部,补码减法是通过对减数求补后将减法转换为加法进行的。

    •  一个带符号数在不同位数下,其二进制补码表示可能是不同的。例如,8位数-1的补码表示是0FFH, 16位数-1的补码表示是0FFFFH。

    u  非压缩BCD码

          以8个二进制位表示1个十进制位,低4位与压缩BCD码相同,高4位无意义。

       例如,十进制数6429的非压缩BCD码表示为 xxxx0110 xxxx0100 xxxx0010 xxxx1001 B


       有时,要求非压缩BCD码的高4位为0,这时,6429的非压缩BCD码为06040209H。

       可以看出,数字字符 '0'~'9' 的ASCII码恰好是0~9的非压缩BCD码。

    u  二进制与十六进制变换        

     0011 0101 1011 1111
    ¯¯¯¯
     3  5  B F


         ∴  0011,0101,1011,1111B = 35BFH

     A19C
    ¯¯¯¯
    1010000110011100

     ∴   A19CH = 1010,0001,1001,1100B

    u  补码(Two’s  Complement)表示法:

    正数的补码: 同原码

    负数的补码:(1)写出与该负数相对应的正数的补码

                (2)按位求反

                (3)末位加一

    例: 机器字长8位,[- 46]补码 = ?

              [46]补码 =0 0 1 0  1 1 1 0

                      1 1 0 1  0 0 0 1

                      1 1 0 1  0 0 1 0 = D2H

       机器字长16位,[- 46]补码  = FFD2H

              [+0]补码 =0 0 0 0  0 0 0 0

                       1 1 1 1  1 1 1 1

                       0 0 0 0  0 0 0 0 = [- 0]补码

     \ 0 的表示惟一



    >