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

    

标号

1.标号的定义:
    隐含方式 在指令语句的标号域,由一个标识符和其后跟一个冒号组成。这样该标号就被定义成类型为NEAR的标号。
    使用PROC定义 使用过程定义伪指令PROC定义一个过程时,该过程名字也可作为标号,它可作为CALL指令的操作数使用。
    使用LABEL定义 用隐含方式定义的标号是NEAR型的,也就是只允许在段内使用。而有时往往需要段间使用,甚至希望在不同段使用同一程序语句,这时就需预先使用LABEL伪指令给这一程序语句建立一个新的名称,以便补充和刷新这些标号原有的属性。
    定义FAR属性的标号:
    INPUT_POINT LABEL FAR
    IN AL,BYTE_PORT
    MOV BL,AL.
    定义NEAR属性的标号:
    SUM_DOB LABEL MEAR
    MOV AX,[BX]
    ADD AX,[BX 2]
    2.标号的属性:
    段属性 与变量的段属性相同
    偏移属性 与变量的偏移属性相同
    类型属性 与变量的类型属性相同
    3.标号的引用:标号一旦被定义,即可在操作数域引用,作为循环指令、转移指令和调用指令中的操作数。
    4.标号与变量的区别:变量是在程序运行期间可以随时修改数值的数据对象,是内存中的一个数据区的名字,它可以作为指令的存储器操作数;变量名是由标识构成。 标号表示指令地址,是为一组指令语句所起的字。它对应的值在汇编时就自动计算并设置好的;标号是由标识及后跟一个冒号构成。
    

3.2.4 数值表达式

数值表达式  由常量和算术运算符、逻辑运算符、关系运算符组合成的表达式,其结果为数值。
    算术运算符  算术运算符有加( )、减(-)、乘(*)、除(/)和模除(MOD)。其中除法表示两个数相除只取商的整数部分,而模除则表示两个整数相除后取余数。在使用算数运算符构成的表达式作为操作数时,表达式的值必须满足指令对操作数的要求,否则会产生错误。
    例如:219/7=31
    219 MOD 7的结果为2
    表3.2:算术运算符
    

运算符
    
语法
    
运算
    

    ─
    *
    /
    MOD
    
    ─
    SHR
    SHL
    [ ]
    
 表达式
    ─表达式
    表达式1 * 表达式2
    表达式1 / 表达式2
    表达式1 MOD 表达式2
    表达式1   表达式2
    表达式1 — 表达式2
    表达式 SHR 次数
    表达式 SHL 次数
    表达式1[表达式2]
    
正数(单项运算符)
    负数(单项运算符)
    乘法
    除法
    模除(求余数)
    加法
    减法
    右移
    左移
    下标操作符
    

 
    表中后面两个运算符是进行逻辑移位。SHR进行右移时,最左边以0填之,SHL进行左移时,最右边以0填之。移位的位数由运算符SHR/SHL右边的次数决定。如次数≥16,则结果恒为零。移位运算符与移位指令是完全不相同的两回事。移位运算符是对某一个具体的数(常数)在汇编时完成移位的,而移位指令是对一个寄存器或存储单元内容,在程序运行时执行移位的。根据它们在一条语句中出现的位置可以判断出它是移位运算符还是移位指令。例如:
    NUM=11011011B
    ┆
    MOV  AX,NUM  SHL  3
    MOV  BX,NUM  SHR  2
    MOV  DX,NUM  SHR  6
    上述三条指令于下面三条指令一一对应等效:
    MOV  AX,11011000B
    MOV  BX,00110110B
    ADD  DX,3
    表中最后一个是下标运算符,它对存取数组元素是很有用的。[]表示加法,把表达式1和表达式2相加后形成一个存储器操作数地址。但是两个存储器操作数地址(如两个变量名)不能相加。例如下面两语句是等价的:
    MOV   AX,DA_WORD[20H]
    MOV   AX,DA_WORD 20H
    即源操作数是以DA_WORD为首址的第20H,21H两个字节组成的一个字。[20H]是一个数组的下标变量,也可以用寄存器来存放下标变量.例如下面5个语句是相互等价的:
    MOV  AX,ARRAY[BX][SI]
    MOV  AX,ARRAY[BX SI]
    MOV  AX,[ARRAY BX][SI]
    MOV  AX,[ARRAY SI][BX]
    MOV  AX,[ARRAY BX SI]
    逻辑运算符 逻辑运算符包括与(AND)、或(OR)、异或(XOR)、非(NOT)和逻辑右移(SHR)、逻辑左移(SHL)。 逻辑运算符对整数常量进行按位操作,因而运算的结果仍为整数常量。 
    AND、OR、XOR、NOT、SHR、SHL既是逻辑运算符,也是指令助记符。作为运算符时,则必定出现在操作数域,而且在源程序汇编时进行计算的;而作为指令助记符时,则应放在助记符域,其运算是在程序执行期间才进行。 
    例如:设NUMBER=01101011B    
    NUMBER AND OFH的结果是00001011B
    NUMBER XOR 11110000B结果是10011011B
    NUMBER SHR 2 的结果是00011010B
    关系运算符  关系运算符有六种:相等(EQ)、不相等(NE)、小于(LT)、大于(GT)、小于等于(LE)和大于等于(GE)。 关系运算符是在两个常量之间进行的,其结果只有两种情况:若关系成立则结果为0FFFFH(16为全1);否则结果为零。 
    表3.3:关系运算符
    

运算符
    
语法
    
运算
    
EQ
    NE
    LT
    LE
    GT
    GE
    
表达式1  EQ  表达式2
    表达式1  NE  表达式2
    表达式1  LT  表达式2
    表达式1  LE  表达式2
    表达式1  GT  表达式2
    表达式1  GE  表达式2
    
两个表达式相等为真
    两个表达式不相等为真
    表达式1表<达式2为真
    表达式1=<表达式2为真
    表达式1>表达式2为真
    表达式1>=表达式2为真
    

 
    例如:设NUM1=50
    则表达式“NUM1 NE 100”的值为0FFFFH
    而表达式“NUM1 EQ 100”的值为0
    

 

相关新闻

testtest
上善制度的炼成
新时代呼唤管理理论创新——大卫�梯斯与动态能力理论
创业的不变逻辑
创新管理需要回答的5个问题
十一、弥离
十、转院
九、生机
八、传染
七、求血

您可能对这些感兴趣  

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

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

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