Hello,Assembly(汇编语言)

;class001.asm in DOS
	;程序的存储模型(Memory Model)
	.model small															;程序的存储模型
	;存储模型决定一个程序的规模,
	;也确定进行子程序调用,指令转移和数据访问的缺省属性
	;须有存储模型语句,且位于简化段定义之前
	;.MODEL	存储模型,语言类型
	;创建运行于DOS操作系统下的应用程序
	;根据需要选择前6种模型
	;一般小型程序选用SMALL模型
	
	;逻辑段的简化定义
	;堆栈段定义伪指令.STACK创建一个堆栈段
	.stack																			;定义堆栈段(默认1KB)
	;默认是1KB空间
	;堆栈段名是:STACK,用@STACK预定义操作符
	;数据段定义伪指令.DATA,用@DATA预定义操作符
	.data																			;定义数据段
	;数据段名是:_DATA,用@DATA预定义操作符
	;数据定义(数据待填)
	
msg1 db 'Hello,Assembly!',13,10,'$'			;定义要显示的字符串
	
	;代码段定义伪指令.CODE创建一个代码段
	.code																			;定义代码段
	;代码段名是:_TEXT,用@CODE预定义操作符
	.startup																		;程序执行起始
	;指明本程序开始执行的位置
	;使DS等于用.DATA伪指令定义的数据段基地址
	;MASM汇编程序
	;根据程序的起始位置设置代码段的CS(代码段寄存器)和IP(指令指针)值
	;根据堆栈大小设置堆栈段的SS(堆栈段寄存器)和SP(堆栈指针)值
	;但没有设置DS(数据段寄存器)和ES(附加段寄存器),以及FS(附加段寄存器)和GS(附加段寄存器)值
	;主程序(指令待填)
	
	mov dx,offset msg1			;指定字符串偏移地址
	mov ah,9									;AH赋值9
	int 21h										;功能调用显示信息
	
	.exit																			;程序正常执行结束
	;子程序(指令待填)
	
	end																				;汇编结束
	
	
	
	
上一篇:深入理解JVM内幕:从基本结构到Java 7新特性


下一篇:爬虫——简单处理js中嵌入的json数据