lec04汇编语言上机操作.ppt
文本预览下载声明
保留字 保留字(Reserved Word)是汇编程序已经利用的标识符(也称为关键字),主要有: 硬指令助记符——例如:MOV、ADD 伪指令助记符——例如:DB、DW 操作符——例如:OFFSET、PTR 寄存器名——例如:AX、CS 预定义符号——例如:@data 汇编语言大小写不敏感 操作数和参数 处理器指令的操作数可以是立即数、寄存器和存储单元 伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号分隔 注释 语句中由分号“;”开始的部分为注释内容,用以增加源程序的可读性 汇编程序在翻译源程序时将跳过注释部分,不对它们做任何处理 分隔符 语句的4个组成部分要用分隔符分开 标号后用冒号,注释前用分号 操作数之间和参数之间使用逗号分隔 其他部分通常采用空格或制表符 多个空格和制表符的作用与一个相同 MASM支持续行符 “\” 汇编语言源程序格式 完整的汇编语言源程序由段组成 可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列 需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内 ;源程序:ex201.asm DSEG SEGMENT ;数据段开始 STRING DB 0DH,0AH,Hello,Assembly!,0DH,0AH,$ DSEG ENDS ;数据段结束 CSEG SEGMENT ; 代码段开始 ASSUME CS:CSEG,DS:DSEG ;设定段寄存器与逻辑段的关系 START: MOV AX,DSEG MOV DS,AX ; 设置数据段段地址 MOV DX,OFFSET STRING ;为DOS调用设置入口参数 MOV AH,9 ;为DOS功能调用设置功能号 INT 21H ;DOS功能调用,显示字符串 MOV AX,4C00H ;为DOS功能调用设置功能号和入口参数 INT 21H ;DOS功能调用,返回DOS操作系统 CSEG ENDS ; 代码段结束 END START ; 汇编结束 [例2-1]在屏幕上显示字符串“Hello,Assembly!”。 完整汇编语言源程序格式 逻辑段定义 利用SEGMENT和ENDS一对伪指令定义,必须成对出现 需要配合ASSUME伪指令指明逻辑段是代码段、堆栈段、数据段还是附加段 完整汇编语言程序框架一 .8086 ;处理器选择伪指令 data1 SEGMENT ;数据段定义, (可据需要设定,也可无) …… ;变量定义 data1 ENDS data2 SEGMENT ;数据段定义 (可据需要设定,也可无) …… data2 ENDS code SEGMENT ;代码段 ASSUME CS: code, DS:data1, ES:data2 start: MOV AX,data1 ; 起始点, MOV DS,AX ;设置段寄存器 、、、 ;程序主体部分 、、、 MOV AX, 4C00H ;结束点,返回DOS INT 21H code ENDS END start ;汇编结束 (1) 处理器选择伪指令 .386 .386P .486 .486P .586 .586P .686 .686P .386表示程序选用80386的基本指令集,.386P表示选用80386的基本指令和保护模式下的特权指令。 缺省的处理器选择伪指令是.8086 (2) 逻辑段定义伪指令 段名 segment 定位 组合 使用 类别 ... ;语句序列 段名 ends 段定义指令后的4个关键字用于确定段的各种属性,堆栈段要采用stack组合类型,代码段应具有‘code’类别,其他为可选属性参数 如果不指定,则采
显示全部