• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >汇编语言 > 数值型参数

数值型参数

作者:汇编爱好者 字体:[增加 减小] 来源:互联网 时间:2017-06-17

汇编爱好者通过本文主要向大家介绍了断层数值模拟参数,参数数值,数值型,数值型变量,数值型转字符型等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
</div>

在源程序语句格式的 4 个组成部分中,参数是指令的操作对象(在学习硬指令时被称为操作数),参数之间用逗号分隔
参数根据指令不同可以没有,可以有 1 个、 2 个或多个
汇编语言程序中,指令参数有数值型,它的主要形式是常数和数值表达式;
硬指令的操作数有立即数;立即数就要用数值型参数表达

1. 常数
常数(常量)表示一个固定的数值
它又分成多种形式:
( 1 )十进制常数
( 2 )十六进制常数
( 3 )二进制常数
( 4 )八进制常数
( 5 )字符串常数
( 6 )符号常数
十进制常数
由 0 ~ 9 数字组成,以字母 D 或 d 结尾
缺省情况下,后缀 D 或 d 可以省略
汇编语言大小写不敏感, D 和 d 通用
例如: 100 、 255D
由 0 ~ 9 、 A ~ F 组成,以字母 H 或 h 结尾
以字母 A ~ F 开头的十六进制数,前面要用 0 表达,以避免与其他符号混淆
汇编语言大小写不敏感, H 和 h 通用
例如: 64H 、 0FFh 、 0B800H
二进制常数
由 0 或 1 两个数字组成,以字母 B 或 b 结尾
汇编语言大小写不敏感, B 和 b 通用
例如: 01101100B
八进制常数
由 0 ~ 7 数字组成,以字母 Q 或 q 结尾
汇编语言大小写不敏感, Q 和 q 通用
例如: 144Q
各种进制的数据以后缀字母区分,默认不加后缀字母的是十进制数
MASM 提供基数控制 .RADIX 伪指令可以改变默认进制,其格式是: .RADIX n
字符串常数
用单引号或双引号括起来的单个字符或多个字符,其数值是每个字符对应的 ASCII 码的值
例如: 'd' = 64H
'AB'= 4142H
‘1'= 31H
'Hello, Everybody !'
符号常数
利用一个标识符表达的一个数值 ,MASM 提供等价机制,用于常量定义
符号定义伪指令:
等价 EQU 伪指令
符号名 EQU 数值表达式
符号名 EQU < 字符串 >
等号 = 伪指令
符号名 = 数值表达式
常数若使用有意义的符号名来表示,可以提高程序的可读性,同时更具有通用性
符号定义
DosWriteChar equ 2
CarriageReturn = 13
CallDOS equ <int 21h>
符号应用(左边程序段等价右侧的符号形式)
mov ah,2 ;mov ah,DosWriteChar
mov dl,13 ;mov dl,CarriageReturn
int 21h ;CallDOS

2. 数值表达式
数值表达式一般是指由运算符连接的各种常数所构成的表达式 , 汇编程序在汇编过程中计算表达式,最终得到一个数值,程序运行之前,就已经计算出了表达式;所以,程序运行速度没有变慢,但增强程序的可读性
MASM 对除伪指令外各种汇编时处理的指令统称为操作符( Operator )
    运算符
    算术运算符: + - * / MOD
    逻辑运算符 AND OR XOR NOT
    移位运算符 SHL SHR
    关系运算符 EQ NE GT LT GE LE
    高低分离符 HIGH LOW HIGHWORD LOWWORD
算术运算符:
•  实现加、减、乘、除、取余的算术运算
    mov ax,3*4+5 ; 等价于 mov ax,17
•  其中 MOD 也称为取模,它产生除法之后的余数,如 19 mod 7 = 5
•  加 + 和减 - 运算符还可以用于地址表达式
•  除加、减外,其他运算符的参数必须是整数

逻辑运算符:
•  实现按位相与、相或、异或、求反的逻辑运算
     or al,03h AND 45h
     ; 等价于 or al,01h

移位运算符:
•  实现对数值的左移、右移的逻辑操作;移入低位或高位的是 0
•  格式为:
     数值表达式 SHL/SHR 移位次数
     mov al,0101b SHL (2*2)
     ; 等价于 mov al,01010000b

 

关系运算符:
•  用于比较和测试符号数值
•  MASM 用 0FFFFH (补码 -1 )表示条件为真
•  MASM 用 0000H 表示条件为假
     mov bx,((PORT LT 5)AND 20)OR((PORT GE 5)AND 30)
     ; 当 PORT<5 时,汇编结果为 mov bx,20
     ; 否则,汇编结果为 mov bx,30

高低分离符:
•  取数值的高半部分或低半部分

3. 运算符的优先级
1 () <> [] · LENGTH SIZE WIDTH MASK
2 PTR OFFSET SEG TPYE THIS :
3 HIGE LOW
4 * / MOD SHL SHR
5 + -
6 EQ NE GT LT GE LE
7 NOT
8 AND
9 OR XOR
10 SHORT
建议采用圆括号“()”显式表达,它可以极大地提高程序的可阅读性

4. 地址型参数
汇编语言程序中,指令参数还有地址型,它的主要形式是标号和名字(变量名、段名、过程名等)
硬指令的操作数有存储单元;存储单元就应该用地址型参数(存储器操作数)表达

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 数值型参数

相关文章

  • 2017-06-28汇编源码系列之ctrladel
  • 2017-06-2880386的异常类型
  • 2017-06-28汇编xor小妙用
  • 2017-06-28汇编DeviceIoControl接口详解
  • 2017-06-28汇编源码系列之cdcheck
  • 2017-06-17输入输出指令
  • 2017-06-17逻辑运算指令
  • 2017-06-17建立汇编语言的工作环境
  • 2017-06-17汇编语言的基本知识
  • 2017-06-28汇编源码系列之comint

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 汇编语言编写DOS下的内存驻留程序
    • 汇编源码系列之cobload
    • Win32中调试API
    • 标志寄存器传送指令
    • 工具提示控件介绍
    • 中断指令
    • 虚拟8086模式的内存管理
    • 鼠标控制CD-Audio播放程序
    • 乘运算指令
    • 汇编处理程序多重启动

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有