例:求从1开始连续50个奇数之和并将结果存放在名字为 SUM的字存储单元中。 DATA SEGMENT ;定义数据段,DATA为段名 SUM DW 0 ;由符号叫变量名SUM指定的内存 单元类型定义为一个字初值为0 DATA ENDS ;定义数据段结東 STACK SEGMENT STACK 定义堆栈段这是组合类型伪指令, 它规定在伪指令后须跟 STACK类 型名 DB 200 DUP(O) 定义堆栈段为200个字节的连续存 储区,且每个字节的值为0 STACK ENDS ;定义堆栈段结束 CODE SEGMENT ;定义代码段 ASSUME DS: DATA. SS: STACK. CS: CODE ;由 ASSUM伪指令定义各段寄存器 的内容 80868088 汇编谣言程序设计
例:求从1开始连续50个奇数之和,并将结果存放在名字为 SUM的字存储单元中。 DATA SEGMENT ;定义数据段,DATA为段名 SUM DW 0 ;由符号(叫变量名)SUM指定的内存 单元类型定义为一个字,初 值为0 DATA ENDS ;定义数据段结束 STACK SEGMENT STACK ;定义堆栈段,这是组合类型伪指令, 它规 定在伪指令后须跟STACK类 型名 DB 200 DUP(0) ;定义堆栈段为200个字节的连续存 储区, 且每个字节的值为0 STACK ENDS ;定义堆栈段结束 CODE SEGMENT ;定义代码段 ASSUME DS:DATA,SS:STACK,CS:CODE ;由ASSUM伪指令定义各段寄存器 的内容
START MOV AX DATA 将DS初始化为数据段首址 MOV DS.AX 的段值DATA MOV CX. 50 ;CX置入循环计数值 MOV AX, O 清AX累加器 MOV BX. 1 BX置常量1 NEXT ADD AX BX 累加奇数和计50次 INC BX 求下一个奇数 INC BX DEC CX 循环计数器作减1计数 JNE NEXT 未计完50次时,转至NEXT循环 MOV SUM.AX ;累加和送存SUM单元 MOV AH.4CH DoS功能调用语句机器将结束本 INT 21H 程序的运行并返回DoS状态 CODE ENDS 代码段结束 END START 整个程序汇编结束 80868088 汇编谣言程序设计
START: MOV AX,DATA ;将DS初始化为数据段首址 MOV DS,AX 的段值DATA MOV CX,50 ;CX置入循环计数值 MOV AX,0 ;清AX累加器 MOV BX,1 ;BX置常量1 NEXT: ADD AX,BX ;累加奇数和,计50次 INC BX ;求下一个奇数 INC BX DEC CX ;循环计数器作减1计数 JNE NEXT ;未计完50次时,转至NEXT循环 MOV SUM,AX ;累加和送存SUM单元 MOV AH,4CH ;DOS功能调用语句,机器将结束本 INT 21H 程序的运行,并返回DOS状态 CODE ENDS ;代码段结束 END START ;整个程序汇编结束
段 汇编源程序一般由若干段组成每个段 都有一个名字(叫段名,以 SEGMENT作为 段的开始以ENDS作为段的结束这两者 (伪指令)前面都要冠以相同的名字。 80868088 汇编谣言程序设计
段 汇编源程序一般由若干段组成,每个段 都有一个名字(叫段名),以SEGMENT作为 段的开始,以ENDS作为段的结束,这两者 (伪指令)前面都要冠以相同的名字
段 段可以从性质上分为代码段、堆栈段、数据段 和附加段4种但代码段与堆栈段是不可少的数据 段与附加段可根据需要设置。 在上面这个例子中一共定义了3个段: 1个数据段 1个堆栈段 1个代码段 80868088 汇编谣言程序设计
段 段可以从性质上分为代码段、堆栈段、数据段 和附加段4种,但代码段与堆栈段是不可少的,数据 段与附加段可根据需要设置。 在上面这个例子中,一共定义了3个段: 1个数据段 1个堆栈段 1个代码段
二、8086/8088汇编语言语句 (一)汇编语言语句的种类和格式 1语句的种类 在8086/8088汇编语言中,有3种基本语句 指令语句 伪指令语句 宏指令语句 80868088 汇编谣言程序设计
二、8086/8088汇编语言语句 (一)汇编语言语句的种类和格式 1 语句的种类 在8086/8088汇编语言中,有3种基本语句: 指令语句 伪指令语句 宏指令语句