上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
分析运算符
作者:未知 申领版权
2010年12月12日 共有 2542 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    1、 分析运算符1(SEG,OFFSET,TYPE)
    语句格式:分析运算符(SEG,OFFSET,TYPE)    变量或标号
    功能及说明:
    ① SEG 取出其后变量或标号所在段的段首址。
    当运算符SEG加在一个变量名或标号的前面时,得到的运算结果是这个变量名或标号所在段的段基值。例如:
    MOV    AX,SEG  K1
    MOV    BX,SEG,  ARRAY
    如变量K1所在段的段基值为0915H,变量ARRAY的段基值为0947H,那么上面两条指令就分别等效于:
    MOV    AX,0915H
    MOV    BX,0947H
    由于任一个段的段基值是十六位二进制数,所以SEG运算符返回的数值也是十六位二进制数。
    ② OFFSET取出其后变量或标号的偏移首址。
    当运算符OFFSET加在一个变量名或标号前面时,得到的运算结果是这个变量或标号在它段内的偏移量。
    例如:
    MOV    SI,OFFSET  KZ
    设KZ在它段内的偏移量是I5H,那么这个指令就等效于:
    MOV  SI,15H
    ③ TYPE取出其后变量或标号的类型。 变量类型用字节个数表示,标号类型用NEAR和FAR对应值(见表3.3)。其中变量的类型数字正好分别是它们所占有的存储单元字节数.而标号的类型数字没有什么物理意义。
    例如:
    V1  DB    ‘ABCDE’
    V2  DW   1234H,5678H
    V3  DD    V2
    MOV  AL,TYPE  V1
    MOV  CL,TYPE  V2
    MOV  CH,TYPE  V3 
    上述三条指令与下面指令完全等价:
    MOV AL,01H
    MOV CL,02H
    MOV CH,04H
    
    表3.4:存储器操作数类型值

    
存储器操作数
    
类型值
    
字节变量
    
1
    
字变量
    
2
    
双字变量
    
4
    
NEAR标号
    
-1
    
FAR标号
    
-2
    

 
    2、 分析运算符2(LENGTH,SIZE)
    语句格式:分析运算符(LENGTH,SIZE)    变量
    功能及说明:
    ①LENGTH  取出其后变量元素的个数(注意LENGTH只对用重复运算符定义过的变量有效)。
    这个运算符仅加在变量的前面,返回的值是指数组变量的元素个数。如果变量是用重复数据操作符DUP说明的,则返回外层DUP给定的值:如果没有DUP说明,则返回的值总是1。例如:
    K1    DB    1OH  DUP(0)
    K2    DB    10H,20H,30H,40H
    K3    DW    20H DUP(0,1,2  DUP(2))
    K4    DB    ‘ADCDEFGH’
    ┆
    MOV  AL,LENGTH  K1   ;(AL):10H
    MOV  BL,LENGTH  K2   ;(EL):1
    MOV  CX,LENGTH  K3   ;(CX):20H
    MOV  DX,LENGTH  K4   ;(Dx)=1
    ②SIZE  取出其后变量所占存贮空间的总字节数。
    这个运算符仅加在变量的前面,返回数组变量所占的总字节数,且等于LENGTH和TYPE两个运算符返回值的乘积。例如对于前面例子中K1,K2,K3,K4变量,下面指令就表示出SIZE运算符的返回值:
    MOV  AL,SIZE  K1       ;(AL)=10H
    MOV  BL,SIZE  K2       ;(BL)=1
    MOV  CL,SIZE  K3       ;(CL)=40H
    MOV  DL,SIZE  K4       ;(DL)=1
    三个运算符TYPE,LENGTH,SIZE对处理数组类型变量是很有用的。

    

3.3.3属性修改(Attribute modifying operators)伪指令

这种运算符用来对变量、标号或某存储器操作敷的类型属性进行修改。
    1.PTR运算符
    这是类型属性修改运算符.使用格式为;
    类型    PTR    地址表达式
    其中;地址表达式是指要修改类型属性的标号、变量或用作地址指针的寄存器。这运算符的含意是指定由地址表达式确定的存储单元的类型--BYTE、WORD、DWORD、NEAR和FAR等。这种修改是临时性的,仅在有这修改运算符的语句内有效。
    DA_BYTE   DB  20H  DUP(0)
    DA_WORD  DW  30H  DUP(0)
    ┆
    MOV  AX,WORD  PTR  DA_BYTE[10]
    ADD  BYTE  PTR  DA_WORD[20],BL
    INC   BYTE  PTR  [BX]
    SUB  WORD  PTR[SI],30H
    AND  AX,WORD  PTR  [BX][SI]
    JMP  FAR  FIR  SUB1
    上面前两个指令语句主要作用是临时修改变量的类型属性。第三,四条语句,由于目的操作数是用寄存器作地址指针,汇编该指令语句时,就不知道它指的是字节单元还是字单元,因此.这两条语句必须用PTR运算符对类型加以指定。否则汇编源程序时将会产生语法错误。第5条语句不用PTR运算符也可以,因为另一操作数为AX,这样本语句一定为字操作指令。最后一条语句是指标号SUBl不在本语句的同一段内。

    

 

相关新闻

(2)解决问题的8大原则
(1)如何思考和分析问题
第五节 企业价值分析
第四节 现金流量表对财务分析的帮助与不足
第三节 现金流量分析(2)
第三节 现金流量分析(1)
第二节 现金流量项目分析(2)
第二节 现金流量项目分析(1)
第一节 现金流量概述
第四节 分部报告

您可能对这些感兴趣  

干货分享|10本最受国外孩子喜爱的英文词典——上
从孩子的表现看父母的缺点!请家长对号入座,看看你是哪一类?
20条制作PPT的视觉原则
培训简史:培训者必知的历史轨迹
广田丰管理培训生人才培养调查报告
第4讲 作为上司的职业经理
第3讲 作为同事的职业经理
第2讲 作为下属的职业经理
第1讲 培养经理人的管理素养
酒店前台新员工上岗培训计划

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》