第4章80x86汇编语言程序设计2.运算符运算符类型运算符号及说明算术运算符+(加)一(减)*(乘)/(除)MOD(取余)逻辑运算符AND(与)OR(或)XOR(异或)NOT(非)移位运算符SHL(逻辑左移)SHR(逻辑右移)EQ(相等)NE(不相等)GT(大于)LT(小于)关系运算符GE(大于等于)LE(小于等于)HIGH(高字节)LOW(低字节)高低运算符HIGHWORD(高字)LOWWORD(低字)11
11 第4章 80x86汇编语言程序设计 2. 运算符 运算符类型 运算符号及说明 算术运算符 +(加) −(减)(乘)/(除)MOD(取余) 逻辑运算符 AND(与)OR(或)XOR(异或)NOT(非) 移位运算符 SHL(逻辑左移) SHR(逻辑右移) 关系运算符 EQ(相等)NE(不相等)GT(大于)LT(小于) GE(大于等于)LE(小于等于) 高低运算符 HIGH(高字节)LOW(低字节) HIGHWORD(高字)LOWWORD(低字)
第4章80x86汇编语言程序设计3.运算符的优先级优先级运算符1O <> I ·LENGTH SIZE WIDTH MASK2PTR OFFSET SEG TYPE THIS :3HIGH LOW4* / MOD SHL SHR5+-6EQNEGTLTGELE7NOT8AND9OR XOR10SHORT12
12 第4章 80x86汇编语言程序设计 3. 运算符的优先级 优先级 运算符 1 ( ) < > [ ] · LENGTH SIZE WIDTH MASK 2 PTR OFFSET SEG TYPE THIS : 3 HIGH LOW 4 / MOD SHL SHR 5 + − 6 EQ NE GT LT GE LE 7 NOT 8 AND 9 OR XOR 10 SHORT
第4章80x86汇编语言程序设计4.表达式■数字表达式例:MOV DX, (6*A-B)/2地址表达式例:MOV AX, ES:[BX+SI+1000]13
13 第4章 80x86汇编语言程序设计 4. 表达式 ◼ 数字表达式 例: MOV DX, (6A-B)/2 ◼ 地址表达式 例: MOV AX, ES:[BX+SI+1000]
第4章80x86汇编语言程序设计变量及其属性4.2.21.变量定义伪指令一定义字节DB/BYTE(MASM6.x)定义字DW/WORD定义双字DD/DWORD定义6字节(FarPointer)DF/FWORD定义8字节DQ/OWORD定义10字节DT/TBYTE例:DATASEGMENTXDB 'a',-5DB 2 DUP(100),?YDB 'ABC'DATAENDSMOV AL,XDEC X+1MOV Y,AL14
14 4.2.2 变量及其属性 1. 变量定义伪指令 ◼ DB/BYTE(MASM 6.x)——定义字节 ◼ DW/WORD——定义字 ◼ DD/DWORD——定义双字 ◼ DF/FWORD——定义6字节(Far Pointer) ◼ DQ/QWORD——定义8字节 ◼ DT/TBYTE——定义10字节 例: DATA SEGMENT X DB 'a', -5 DB 2 DUP(100), ? Y DB 'ABC' DATA ENDS MOV AL, X DEC X+1 MOV Y, AL 第4章 80x86汇编语言程序设计
第4章80x86汇编语言程序设计.ORG定位伪指令(Origin),指定程序或数据的起始地址。参数ORG例:ORG100HORG$+1012,34,56ARRAYDBLENEQU一当前地址S-ARRAY; S-字对齐-EVEN定位ALIGNALIGNn; n=2,4,8,.DATASEGMENTDATA01DB 1,2,3EVENDATA02DW 5ALIGN 4DATA03DD 6ORGS+10HDATA04DB 'ABC'DATAENDS15
15 ◼ ORG——定位伪指令(Origin),指定程序或数据的起始地址。 ORG 参数 例: ORG 100H ORG $+10 ARRAYDB 12,34,56 LEN EQU $-ARRAY ; $——当前地址 ◼ EVEN——字对齐 ◼ ALIGN——定位 ALIGN n ; n=2,4,8,. DATA SEGMENT DATA01 DB 1, 2, 3 EVEN DATA02 DW 5 ALIGN 4 DATA03 DD 6 ORG $+10H DATA04 DB 'ABC' DATA ENDS 第4章 80x86汇编语言程序设计