zoukankan      html  css  js  c++  java
  • 80X86学习笔记汇编语言的语句

    (1)语句的种类和格式

    1.语句的种类

    指令语句和伪指令语句两类,指令语句有着与其对应的机器指令,伪指令语句没有与其对应的机器指令,只是指示汇编程序如何汇编源程序,包括符号的定义,变量的定义,段的定义。

    2.语句格式

    指令语句和伪指令语句的格式相似,都由四部分组成。

    格式:

    [标号] 指令助记符 [操作数] [;注释]

    伪指令语句格式:

    [名字] 伪指令定义符 [参数…,参数] [;注释]

    一般伪指令语句都有参数,用于说明伪指令的操作对象,有时参数是常数(数值表达式),有时参数是一般符号,有时是具有特殊意义的符号。

    标号和名字一般最多由31个字母,数字及规定的特殊字符(?@$)等组成,并且不能用数字开头。

    汇编语言中的保留字主要是指令助记符,伪指令的ing一符和寄存器名,还有一些其他的特殊保留字。

    汇编程序不区分保留字中字母的大小写。

    (2)数值表达式

    表达式分为数值表达式和地址表达式。

    1.常数

    常数有多种类型和表达式,常用类型和表示方式如下:

    (1)十进制常数

    可以用字母D结尾例:248D,通常轻快下,常数用十进制表示,所以表示十进制常数一般不加后缀字母D。

    汇编语言提供改版基数的伪指令:RADIX

    例:

    MOV BX, 0FFH

    MOV BX , 178

    RADIX 16

    MOV BX, 0FF

    MOV BX, 178D

    (2)十六进制数

    必须以H结尾,为了避免与普通符号的混淆,16进制必须以数字开头,所以,凡是以字母开头的十六进制数,必须在前面加一个0.

    (3)二进制常数

    必须以字母B结尾。

    (4)八进制常数

    必须以Q结尾。

    (5)字符串常数

    一个字符串常数是用引号括起来的一个或多个字符。串常数的值是包括在引号中字符ASCII代码值,因此串常数与整常数有时可以交替使用。

    2.算术运算符

    + – */ MOD

    3.关系运算符

    EQ NE LT GT LE GE 运算结果是一个数字值,若关系不成立为0,若关系成立则结果为0FFFFH。

    4.逻辑运算符

    AND OR XOR NOT SHL SHR

    逻辑运算结果是数值。

    5.在数值表达式中使用的操作符

    (1)HIGH

    格式:

    HIGH 数值表达式

    结果是数值表达式值的高8位,优先级高于+ -

    (2)LOW

    6.运算符和操作符的优先级

    由高到低排列如下;

    (1)圆括号 尖括号 方括号 圆点符 LENGTH SIZE WIDTH MASK 其中,尖括号使用于记录中,圆点符使用于结构中。

    (2)PTR OFFSET SEG TYPE THIS 冒号(用于表示段超越前缀)

    (3)* / MOD SHL SHR

    (4)HIGH LOW

    (5)+ -

    (6)EQ NE LT LE GT GE

    (7)NOT

    (8)AND

    (9)OR XOR

    (10)SHORT

    (3)地址表达式

    地址表达式表示的是存储器操作数的地址。

    单个标号 变量 和 右方括号扩起的基址火变址寄存器是地址表达式的特例。

    在一个存储地址上加一个或减一个数字量,结果仍为存储器地址。

  • 相关阅读:
    [CF 351B]Jeff and Furik[归并排序求逆序数]
    [置顶] 道德经之常与善人
    银联手机支付(.Net Csharp),3DES加密解密,RSA加密解密,RSA私钥加密公钥解密,.Net RSA 3DES C#
    SPOJ 375 (树链剖分+线段树)
    I.MX6 eMMC分区挂载
    I.MX6 android 4.2 源码下载
    I.MX6 android 源码下载
    Android 动态注册 亮屏、息屏广播
    Android 如何进入充电模式
    I.MX6 新版u-boot分析
  • 原文地址:https://www.cnblogs.com/seebro/p/2430753.html
Copyright © 2011-2022 走看看