当前位置: 网学 > 编程文档 > 汇编语言 > 正文

学习汇编前你应该知道的知识1

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
p;    9        1001
        10      A        1010
        11      B        1011
        12      C        1100
        13      D        1101
        14      E        1110
        15      F        1111
  
    好了,结合6,7,8三条。大家来算一个“题”。某一组数据显示时,每个数据占了四个位置,
每行共十六个。问:十六进制的13位置在哪里(第几行,第几列)。
    格式如下:m m m m n n n n o o o o p p p p ''注:之所以没用ABC是怕与上面十六进制弄混。
              r r r r s s s s t t t t u u u u
第一讲 基础知识

1 访问内存
    程序在内存中,访问内存是几乎每一程序都要进行的操作,计算机对内存编址是线性的,也就是说是一维的,比如256M的内存,地址就应该是从0~(256M-1),这个地址称为物理地址或绝对地址。
1.1 地址表示
    但从汇编程序员的角度看,内存却是二维的,要说明一个地址,需要给出两个值,就象你在平面上指定一点需要说出(X,Y)坐标一样,汇编程序员的内存视角也需要两个“坐标”,前一个称为段地址(Segment),后一个称为偏移地址(Offset),该地址称为逻辑地址。
    比如“1234:3DF5”就是一个地址。“1F3F:”不是一个地址,因为他只有段地址,没有编移地址。注意此后的地址都用十六进制表示。
1.2 地址计算
    前面提到,计算机编址是一维的,汇编程序员是二维的,那么二者怎么换算呢?由后者到前者的换算方法是,“段地址串”后面加个“0”,然后再加上偏移地址。
    比如“1234:3DF5”(十六进制的加减运算参见相关资料
12340 ‘串后加了一个0
3DF5
-----
16135    ’注意此串仍然是十六进制。
      所以,汇编程序员眼中的地址“1234:3DF5”就是物理地址(计算机编址):16135。
      知道了由后者向前者的转换,那么由前者向后者的转换呢?
    “不知道”,为什么不知道,继续往下看。
1.3 到底哪个地址对。
      知道了1.2的地址算法后,我又发现一个问题:
      “1000:6135”的物理地址是多少呢? 10000+6135=16135。
      “1001:6125”的物理地址呢? 10010+6125=16135。
     
      那么到底哪个对呢?问题的回答是这样的:假设我现在让你按一下“L”键,我可以告诉你如下几种方法中的一种或几种。1 请按一下“L”键; 2请按一下键盘上第四行第十

  • 上一篇资讯: 汇编语言的重要性
  • 下一篇资讯: 汇编语言的准备知识
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号