吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 2552|回复: 13

[转载技术] 菜鸟先飞汇编学习之路(三)——数值表达式

[复制链接]
Shark_鹏 发表于 2015-3-24 16:06 | 显示全部楼层 |阅读模式

还是纯手工打的,希望大家一起进步

常量和数值表达式
   常量
   常量是一个立即数,直接写在汇编语言语句中,在程序的执行过程中,它不可能发生变化。通常,我们用二进制、八进制、十进制或十六进制来书写常量。
   常量主要用于伪指令数据中给变量赋值,或者用作机器指令中的立即操作数,变址寻址和基址加变址中的位移量等,
   常量可以以数值的形式出现在汇编语言中,这种常量称之为数值常量,但对于经常引用的数值常量,可以事先给它定义一个名字,然后在语句中以该名字来代替这个常量,这种常量称为符号常量。
  (注:伪指令,用于告诉汇编程序如何进行汇编的指令,它既不控制机器的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。 将相对于程序或相对于寄存器的地址载入寄存器中。)
   伪指令中EQU和“=”何以实现将数值常量转变成符号常量。
   数值表达式
   数值表达式是由常量与以下运算符组成的有意义的式子。
   1、算数运算
      算术运算包括:加(+)、减(-)、乘(*)、除(/)、模除(MOD)。
     (注:模除表示两整数相除后取余。如42 MOD 10 ;结果为2。)   
   2、逻辑运算
      逻辑运算符包括按位操作符和移位操作符。
      具体是:逻辑与(AND)、逻辑或(OR)、异或(XOR)、逻辑非(NOT)、右移(SHR)和左移(SHL)。由于逻辑运算是按位进行的,  所以运算结果仍为整数常量。这些逻辑运算符和常量、括号可组成数值表达式。
     (注:异或,其运算法则为:真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。 不同为1,相同为0。
      异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0 XOR 0=0, 1 XOR 0=1,0 XOR 1=1,1 XOR 1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。)
     (注:左移和右移为移位运算,表示将二进制常量左移或右移运算符右边所规定的次数(正整数),所空出的位数由0补齐。)
      例如:11111111B SHL 2  结果为 11111100B
   3、关系运算符
      关系运算符包括:相等(EQ)、不等(NE)、小于(GT)、大于(GT)、小于等于(LE)、大于等于(GE).
   4、数值回送(Value_returning)操作符
      数值回送操作符有:标识符类型(TYPE)、变量长度(LENGTH)、变量容量(SIZE)、OFFSET、SEG等。
      数值操作符把一些特征或存储器地址的一部分作为数值回送。
      OFFSET 回送变量或标号的偏移地址。   用法:OFFSET 变量或标号
      SEG 回送变量或标号的段地址.         用法:SEG 变量或标号
      TYPE 回送代表该标号类型的数值.DB为1,DW为2,DD为4,DF为6,DQ为8,DT为10,NEAR为-1,FAR为-2;常数为0.
      LENGTH 对于DUP回送分配给该变量的单元数,对于其他情况则送1.
      SIZE 回送分配给该变量的字节数.此值是LENGTH值和TYPE值的乘积.
   4、属性操作符
      属性操作符主要有:PTR、段操作符、SHORT、THIS、HIGH、LOW等。
      PTR
  用法:类型 PTR 符号地址
  PTR用来给已分配的存储地址(用符号地址表示)赋予另一种属性,使该地址具有另一种类型。
           类型可有BYTE、WORD、DWORD、FWORD、QWORD、TBYTE、NEAR和FAR等几种,所以PTR也可以用来建立字、双字、四字或段内及段间的指令单元等。


          (注:字,计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word)。如32位机器一次处理32位的数据。
             字长:在同一时间中处理二进制数的位数叫字长。
             字节:计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成。
             位:位是计算机内部数据储存的最小单位,一个二进制位只可以表示0和1两种状态。)
      段操作符    段操作符用来表示一个标量、变量或地址表达式的段属性。

          格式为:段寄存器∶地址表达式
  段名∶地址表达式
  组名∶地址表达式


   SHORT
  用来修饰JMP指令中转向地址的属性,指出转向地址是在下一条指令地址的±127个字节范围之内。


    THIS
  格式为: THIS 属性或类型
  THIS可以象PTR一样建立一个指定类型(BYTE、WORD、DWORD)或指定距离(NEAR或FAR)的地址操作数。该操作数的段地址和偏移地址与下一个存储单元地址相同。


      HIGH和LOW
  称为字节分离操作符,它接收一个数或地址表达式,HIGH取其高位字节,LOW取其低位字节。
                  (注:如16位的数据它会取前8位作为高位字节,后8位做低位字节。)
   5、运算符和操作符的优先级
      在汇编语言中,有许多各种运算符和操作符,它们的优先级按从高到低的排列如下:
      优先级:高
      LENGTH、SIZE、WIDTH、MASK、()、[]、.(用于结构字段)、<>(用于记录类型)   
      PTR、SEG、OFFSET、TYPE、THIS、:(用于段超越前缀)
      *、/、MOD、SHL、SHR
      HIGH、LOW
      +、-
      EQ、NE、LT、LE、GT、GE
      NOT
      AND
      OR、XOR
      SHORT
      优先级:低     
      优先级自上而下从高到低

评分

参与人数 19HB +20 THX +12 收起 理由
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
Jawon + 1
后学真 + 1
行行行行行行 + 1
冷亦飞 + 1
temp + 1
极速菜 + 1
消逝的过去 + 1
飞刀梦想 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
三月十六 + 1
jaunic + 2
bnjzzheng + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
hackysh + 1
lies + 1
向往神鹰 + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
苦笑丶 + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
逍遥绝尘 + 6 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
逍遥枷锁 + 4 + 1 好人有好报!你的热心我永远不忘!谢谢!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
逍遥绝尘 发表于 2015-3-24 18:07 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hackysh 发表于 2022-2-9 17:25 | 显示全部楼层


[快捷回复]-感谢楼主热心分享!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
bnjzzheng 发表于 2022-2-26 16:09 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
别管我了行 发表于 2022-3-10 04:22 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zg2600 发表于 2022-7-30 09:32 | 显示全部楼层

[吾爱汇编论坛52HB.COM]-每天都能学到新知识,赞!正在寻找,非常感谢楼主!顶帖,不仅谢谢楼主,也能赚HB
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-10-12 08:00 | 显示全部楼层

很实用,感谢大神分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
冷亦飞 发表于 2022-11-23 10:36 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2022-11-23 20:27 | 显示全部楼层

Thank you!!!Thank you!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
一生逍遥 发表于 2022-12-14 07:08 | 显示全部楼层

好好来学习一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表