我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 指令寄存器 >

汇编语言的HIGH和LOW指令怎么用

归档日期:08-18       文本归类:指令寄存器      文章编辑:爱尚语录

  书上说:HIGH/LOW运算符不能用来分离一个变量、寄存器或存储器单元的高字节与低字节。那为什么DA1DB10HDUP(0)MOVBH,HIGH(OFFSETDA1)没有错呢?DA1不算存储器单元吗...

  书上说:HIGH/LOW运算符不能用来分离一个变量、寄存器或存储器单元的高字节与低字节。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  2)HIGH,LOW伪指令以返回常量(包括地址偏移量比如 OFFSET X,X为变量名)的高8位(HIGH)或低8位(LOW)

  不可以分割寄存器,变量(即存储单元的内容)因为他是伪指令,不是汇编指令。是不可以执行的,变量的内容,寄存器只有汇编指令,才可以读写。

  4)地址单元的数值(地址本身)是个常量(包括段地址和偏移量),偏移量(全名段内偏移量)也是常量,所以可以用HIGH,LOW处理,变量名,代表存储单元(地址)和存储单元的内容(数据),是二者的统一体; 所以不可以使用 HIGH,LOW处理。寄存器是CPU内部的存储单元和执行部件,同样也包括地址和数据两个方面,是二者的统一体,所以HIGH,LOW 这样的伪指令是不能处理寄存器的。

  5)Offset 伪指令可以获取变量的段内偏移量(地址的一部分),而变量的偏移量是个常数,所以可以用伪指令操作。

  6)86系列CPU的寄存器的地址是不对外不公开的,寄存器是直接写到使用寄存器的指令内部的;

  7)外部不能单独使用寄存器地址;寄存器的内容只有指令可以获取;伪指令是不能操作的!

  知道合伙人软件行家采纳数:14887获赞数:27868国家科技进步奖向TA提问展开全部汇编语言中HIGH是取立即数的高八位,LOW是取立即数的低八位数,举例如下:

本文链接:http://f-taiken.net/zhilingjicunqi/682.html