分隔符 ■语句的4个组成部分要用分隔符分开 ■标号后用冒号,注释前用分号 ■操作数之间和参数之间使用逗号分隔 其他部分通常采用空格或制表符 ■多个空格和制表符的作用与一个相同 MASM支持续行符“\
分隔符 ◼ 语句的4个组成部分要用分隔符分开 ◼ 标号后用冒号,注释前用分号 ◼ 操作数之间和参数之间使用逗号分隔 ◼ 其他部分通常采用空格或制表符 ◼ 多个空格和制表符的作用与一个相同 ◼ MASM支持续行符 “\
汇编语言源程序的组成原则 ■完整的汇编语言源程序由段组成 个汇编语言源程序可以包含若干个代码段、数据段 附加段或堆栈段,段与段之间的顺序可随意排列 需独立运行的程序必须包含一个代码段,并指示程序 执行的起始点,一个程序只有一个起始点 所有的可执行性语句必须位于某一个代码段内,说明 性语句可根据需要位于任一段内 通常,程序还需要一个堆栈段
汇编语言源程序的组成原则 ◼ 完整的汇编语言源程序由段组成 ◼ 一个汇编语言源程序可以包含若干个代码段、数据段、 附加段或堆栈段,段与段之间的顺序可随意排列 ◼ 需独立运行的程序必须包含一个代码段,并指示程序 执行的起始点,一个程序只有一个起始点 ◼ 所有的可执行性语句必须位于某一个代码段内,说明 性语句可根据需要位于任一段内 ◼ 通常,程序还需要一个堆栈段
汇编语言源程序 ■源程序分别用两种格式书写 第一种格式从MASM5.0开始支持 简化段定义格式 冷第二种格式MASM50以前就具有 完整段定义格式 Hello, Everybody 程序功能
汇编语言源程序 ◼ 源程序分别用两种格式书写 ❖ 第一种格式从MASM 5.0开始支持 ◼ 简化段定义格式 ❖ 第二种格式MASM 5.0以前就具有 ◼ 完整段定义格式 Hello, Everybody ! 程序功能
test1.asm(文件名) model small ;定义程序的存储模式 stack ;定义堆栈段 data 定义数据段 g db Hello, Everybody!',Odh,Oah,′$′ ;在数据段定义要显示的字符串 code 定义代码段 startup 程序起始点,建立DS、SS moy dx, offset string;指定字符串 mov ah, int 21h 利用功能调用显示信息 exit o 程序结束点,返回Dy end 汇编结束 心抛象
;test1.asm(文件名) .model small ;定义程序的存储模式 .stack ;定义堆栈段 .data ;定义数据段 string db ’Hello, Everybody !’,0dh,0ah,’$’ ;在数据段定义要显示的字符串 .code ;定义代码段 .startup ;程序起始点,建立DS、SS mov dx,offset string ;指定字符串 mov ah,9 int 21h ;利用功能调用显示信息 .exit 0 ;程序结束点,返回DOS end ;汇编结束
ampleA. ASM 简化段定义格式 mode sma MASM6X支持 stack data ;在数据段定义数据 code startup (注1) 在代码段填入指令序列 exit o ;(注2) 子程序代码 end (注3)
;SampleA.ASM .model small .stack .data ... ;在数据段定义数据 .code .startup ;(注1) ... ;在代码段填入指令序列 .exit 0 ;(注2) ... ;子程序代码 end ;(注3) 简化段定义格式 MASM 6.x支持