zoukankan      html  css  js  c++  java
  • 汇编语言学习--基础知识(一)

    一、基础知识

    1、数值数据表示

    (1)二进制:数据后面紧跟一个字母B

    (2)八进制:数据后面紧跟一个字母Q

    (3)十进制:数据后面紧跟一个字母D

    (4)十六进制:数据后面紧跟一个字母H,当十六进制数的第一个字符是字母时,在第一个字符之前必须添加一个‘0’。如:100H、56EFH、0FFH、0ABCDH等都是十六进制数。

    (5)宏汇编MASM系统(待了解)

    在宏汇编MASM系统中,程序员可用二种方法来处理源程序:命令行和集成环境。

    (6)补码

    补码的最高位用来表示正负数:0—正数,1—负数。正数的补码是其自身的二进制形式,负数的补码是把其正数的二进制编码变“反”,再加1而得。

    (7)二进制数的符号扩展

    在汇编语言中,我们经常要对字/字节的数据进行操作。当把“字节”转换成“字”,或“字”转换成“双字”时,就需要进行符号扩展(正数补0,负数补1)。符号扩展的具体操作就是把已知信息的最高位扩展到所有更高位。

    例1.1 把8位补码01011010、10101100分别扩展成16位补码。

    解:根据符号扩展的含义,“字节→字”的具体扩展结果如下:

     

    01011010

     

    10101100

    00000000

    01011010

    11111111

    10101100

    例1.2 把16位补码0101101111001010、1010111101011011别扩展成32位补码。

    解:根据符号扩展的含义,“字→双字”的具体扩展结果如下:

     

    0101101111001010

     

    1010111101011011

    0000000000000000

    0101101111001010

    1111111111111111

    1010111101011011

    (8)n位二进制的表示范围

    n位二进制所能表示的无符号整数的范围:0≤x≤2n-1。

    n位二进制所能表示的有符号整数(补码表示)的范围:-2n-1≤x≤2n-1-1。

    在汇编语言中,常用到n为8和16时的数值范围:

    n=8时,无符号整数的范围:0~255,有符号整数的范围:-128~127;

    n=16时,无符号整数的范围:0~65535,有符号整数的范围:-32768~32767。

    (9)BCD码

    把每位十进制数转换二进制的编码,简称为BCD码(Binary Coded Decimal)。(注意和二进制数的区别,BCD编码实际上就是0~9的“等值”二进制数。)

    例1.3 求十进制数2000的BCD编码和其二进制数。

    2000的BCD编码:0010 0000 0000 0000。

    2000的二进制数是:11111010000,它们在数值上是相等的。

    2、非数值数据表示

    (1)ASCII码

    ASCII码(American Standard Code for Information Interchange) 是一种7位二进制编码,针对英文的字母、数字和其它特殊字符进行编码,需要的时候可查表。

    (2)汉字编码

    我国在1981年5月对6000多个常用的汉字制定了交换码的国家标准,即:GB2312-80。该标准规定了汉字交换用的基本汉字字符和一些图形字符,它们共计7445个,其中汉字有6763个。该标准给定每个字符的二进制编码,即国标码。

    3、基本数据类型

    (1)字节

    一个字节有8位二进制组成,其最高位是第7位,最低位是第0位,如右图所示。在表示有符号数时,最高位就是符号位。通常情况下,存储器按字节编址,读写存储器的最小信息单位就是一个字节。

    (2)字

    由2个字节组成一个字,其最高位是第15位,最低位是第0位。高8位称为高字节,低8位称为低字节,如右图所示。

    (3)双字

    用2个字(4个字节)来组成一个双字,其高16位称为高字,低16位称为低字,如右图所示。双字有较大的数据表示范围,它通常是为了满足数据的表示范围而选用的数据类型,也可用于存储远指针。

  • 相关阅读:
    ORACLE时间字段取年、月、日、季度【转】
    Oracle查询指定索引提高查询效率【转】
    ORACLE常用命令【转】
    ORACLE中LOB字段的使用和维护
    Oracle建立DBLINK的详细步骤记录【转】
    Oracle实用日期函数总结[转]
    js脚本中过滤特殊字符的正则表达式
    获取上一页面的URL的方法
    Repeat控件绑定数据格式显示
    我刚做的一个TreeView的CheckBox进行选中插入数据库,从数据库中读取数据后让CheckBox勾选的代码!
  • 原文地址:https://www.cnblogs.com/CIreland/p/9737164.html
Copyright © 2011-2022 走看看