安防监控知识
电气知识|数值型参数
2017-01-23  浏览:44
安防之家讯:在源程序语句格式的 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. 地址型参数

汇编语言程序中,指令参数还有地址型,它的主要形式是标号和名字(变量名、段名、过程名等)

硬指令的操作数有存储单元;存储单元就应该用地址型参数(存储器操作数)表达

安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 监控 的产品:
  • 安防监控资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved