第4章汇编语言程序设计 4.1汇编语言的基本语法 4.2汇编语言程序设计
第4章 汇编语言程序设计 4 .1 汇编语言的基本语法 4 .2 汇编语言程序设计
4.1汇编语言的基本语法 ◆汇编语言源程序的格式 常量、标识符和表达式 指示性语句 ◆名字与变量 ◆指令性语句
4 .1 汇编语言的基本语法 ❖汇编语言源程序的格式 ❖常量、标识符和表达式 ❖指示性语句 ❖名字与变量 ❖指令性语句
411.汇编语言源程序的格式 DATA SEGMENT AT 2000H ARRAY DB a1,a2,a3,a10(al~a10为立即数) COUNT EQU S-ARRAY SUM DW DATA ENDS STACK SEGMENT PARA STACKSTACK STAK DB 10 DUP (? TOP EQU LENGTH STAK STACK ENDS
4.1.1. 汇编语言源程序的格式 DATA SEGMENT AT 2000H ARRAY DB a1,a2,a3,…a10(a1~a10为立即数) COUNT EQU $ - ARRAY SUM DW ? DATA ENDS STACK SEGMENT PARA STACK ‘STACK’ STAK DB 10 DUP (?) TOP EQU LENGTH STAK STACK ENDS
CODE SEGMENT ASSUME CS CODE. DS DATA. SS: STACK START: MOV AX, DATA MOV DS, AX MOV AX, 0 MOV DI, OFFSET SUM MOV BX, OFFSET ARRAY MOV CX, COUNT LOP ADD AL, BXI ADC AH, 0 INC BX LOOP LOP MOV DI, AX MOV AH, 4CH INT 21H CODE ENDS END START
CODE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,0 MOV DI,OFFSET SUM MOV BX,OFFSET ARRAY MOV CX,COUNT LOP: ADD AL,[BX] ADC AH,0 INC BX LOOP LOP MOV [DI],AX MOV AH,4CH INT 21H CODE ENDS END START
汇编语言源程序格式的特点是: 分段结构 2.语句行 汇编语言程序的语句有两类: (1)指令性语句 (2)指示性语句
汇编语言源程序格式的特点是: 1 .分段结构 2 .语句行 汇编语言程序的语句有两类: ( 1 ) 指令性语句 ( 2 ) 指示性语句
(1)指令性语句 格式为: [标号]:操作码[操作数][;注释] 带方括号的为任选项, 标号是指令的符号地址 操作码和操作数是用汇编语言指令表示的指令部分, 注释是对该语句在本程序中的功能的说明
( 1 ) 指令性语句 格式为: [ 标号 ]: 操作码 [ 操作数 ] [; 注释 ] 带方括号的为任选项, 标号是指令的符号地址, 操作码和操作数是用汇编语言指令表示的指令部分, 注释是对该语句在本程序中的功能的说明
(2)指示性语句 格式为: [名字/变量]命令[参数][;注释] 命令指示汇编程序进行某种汇编操作 参数是有关的数据, 名字是段名、符号名等标识符,变量用变量名表示
( 2 ) 指示性语句 格式为: [ 名字 / 变量 ] 命令 [参数] [; 注释 ] 命令指示汇编程序进行某种汇编操作, 参数是有关的数据, 名字是段名、符号名等标识符,变量用变量名表示
4.1.2.常量、标识符和表达式 量 其值在程序中不能改变的量, 在汇编语言源程序中的常量有: 数字常量、字符常量和符号常量 (1)数字常量可以是二进制数、八进制数、十进 制数或十六进制数表示 (2)字符常量是用单引号‘’括起来的ASC字 符 其值是该字符的ASCⅡ代码值
4 .1. 2. 常量、标识符和表达式 一、常量 其值在程序中不能改变的量, 在汇编语言源程序中的常量有: 数字常量、字符常量和符号常量 ( 1 ) 数字常量可以是二进制数、八进制数、十进 制数或十六进制数表示 ( 2 ) 字符常量是用单引号‘ ’括起来的ASCII字 符, 其值是该字符的ASCII代码值
(3)符号常量是用标识符定义的常量。 例如,采用符号定义语句 PORTA EQU80H, 则指令 MOV AL, PORTA 与指令 MOV AL,80H等价。 标识符 在编程时建立的有特定意义的字符序列,标识符 可用作符号常量、名字、变量和标号等 组成标识符有如下规定:
( 3 ) 符号常量是用标识符定义的常量。 例如,采用符号定义语句 PORTA EQU 80H, 则指令 MOV AL,PORTA 与指令 MOV AL,80H 等价。 二、标识符 在编程时建立的有特定意义的字符序列,标识符 可用作符号常量、名字、变量和标号等。 组成标识符有如下规定:
(1)组成标识符的字符有 英文大写字母:A~Z; 英文小写字母:a-z; 数字0~9; 字符?、@ (2)字符长度不超过3个; (3)首字符不能是数字; (4)?不能单独作为一个标识符 (5)不能把保留字用作标识符,保留字包括助记符 寄存器名等
( 1 ) 组成标识符的字符有: 英文大写字母:A~Z; 英文小写字母: a-z; 数字0~9; 字符?、@、_ 、$; ( 2 )字符长度不超过3l个; ( 3 ) 首字符不能是数字; ( 4 ) ? 不能单独作为一个标识符; ( 5 ) 不能把保留字用作标识符,保留字包括助记符、 寄存器名等