8789211 2007-3-12 10:22
汇编语言格式
[font=黑体][size=10pt]◆解编辑程序、汇编程序、连接程序的功能及其输入、输出文件的类型。[/size][/font]
[font=黑体][size=10pt]◆了解汇编语言源程序框架,熟悉程序段定 义和过程定义伪操作。[/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=黑体][size=10pt]
◆熟悉数据类型和数据定义伪操作。[/size][/font][size=3][font=宋体] [/font][/size][font=黑体][size=10pt]◆熟练掌握并运用8086指令集及各类寻址方式。[/size][/font]
[b]3.1 汇编语言程序格式[/b]
[size=10pt] [/size][font=黑体][size=10pt] 汇编语言程序主要由一系列伪指令语句或汇编语言指令组成,伪指令指示汇编程序如何将汇编语言指令转换为机器代码。一条汇编语言指令由助记符,一个或两个操作数项组成。操作数项指出要处理的数据,助记符是对CPU发出的命令,告诉CPU执行什么操作。[/size][/font][size=3][font=宋体] [/font][/size] [img=336,224]http://www.sgrtvu.net.cn/jx_data/lg_data/czs/wjjk/chapte217.gif[/img]
[b][font=黑体]3.1.1.一个简单程序实例[/font][/b][font=宋体] [/font]
[font=宋体][/font][size=10pt];THE FORM OF AN ASSEMBLY LANGUAGE PROGRAM[/size][size=3] [/size]
[size=3][/size][size=10pt]
[/size][size=10pt][font=宋体] STSEG SEGMENT[/font][/size][size=3][color=#000000][font=宋体] [/font][/color][/size]
[font=宋体][size=3][color=#000000][/color][/size][/font][size=10pt]
[/size][size=10pt][color=#000000]DB 64 DUP(?)[/color][/size][size=3][color=#000000] [/color][/size]
[size=3][color=#000000][/color][/size][size=10pt]
[/size][size=10pt][font=宋体] STSEG ENDS[/font][/size][size=3][color=#000000][font=宋体] [/font][/color][/size]
[font=宋体][size=3][color=#000000][/color][/size][/font][size=10pt]
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[/size][size=3] [/size]
[size=3][/size][size=10pt]
[/size][size=10pt][font=宋体] DTSEG SEGMENT[/font][/size][size=3][color=#000000][font=宋体] [/font][/color][/size]
[font=宋体][size=3][color=#000000][/color][/size][/font][size=10pt]
[/size][size=10pt][font=宋体] DATA1 DB 36H[/font][/size][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][size=10pt]
[/size][size=10pt][font=宋体] DATA2 DB 4BH[/font][/size][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][size=10pt]
[/size][size=10pt][font=宋体] SUM DB ?[/font][/size][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][size=10pt]
[/size][size=10pt][font=宋体] DTSEG ENDS[/font][/size][size=3][color=#000000][font=宋体] [/font][/color][/size]
[font=宋体][size=3][color=#000000][/color][/size][/font][size=10pt]
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[/size][size=3] [/size]
[size=3][/size][size=10pt]
[/size][size=10pt][font=宋体] CDSEG SEGMENT[/font][/size][size=3][color=#000000][font=宋体] [/font][/color][/size]
[font=宋体][size=3][color=#000000][/color][/size][/font][size=10pt]
[/size][size=10pt][font=宋体] MAIN PROC FAR ;this is the program entry point[/font][/size][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][size=10pt]
[/size][size=10pt][font=宋体] ASSUMECS:CDSEG,DS:DTSEG,SS:STSEG[/font][/size][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][size=10pt] [/size][size=10pt][font=宋体] START: MOV AX,DTSEG ;load the data segment address[/font][/size][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][size=10pt]
MOV DS,AX ;assign value to DS[/size][size=3] [/size]
[size=3][/size][size=10pt]
MOV AL,DATA1 ;get the first operand[/size][size=3] [/size]
[size=3][/size][size=10pt]
MOV BL,DATA2 ;get the second operand[/size][size=3][color=#000000] [/color][/size]
[size=3][color=#000000][/color][/size][size=10pt]
ADD AL,BL ;add the operands[/size][size=3][color=#000000] [/color][/size]
[size=3][color=#000000][/color][/size][size=10pt]
MOV SUM,AL[/size][size=10pt][color=#000000] ;store result in location SUM[/color][/size][size=3][color=#000000] [/color][/size]
[size=3][color=#000000][/color][/size][size=10pt]
MOV AH,4CH ;set up to[/size][size=3] [/size]
[size=3][/size][size=10pt]
INT 21H ;return to DOS[/size][size=3] [/size]
[size=3][/size][size=10pt]
MAIN[/size][size=10pt] [/size][size=10pt]ENDP[/size][size=3][color=#000000] [/color][/size]
[size=3][color=#000000][/color][/size][size=10pt]
CDSEG[/size][size=10pt] [/size][size=10pt]ENDS[/size][size=3][color=#000000] [/color][/size]
[size=3][color=#000000][/color][/size][size=10pt]
END START ;this is the program exit point[/size][size=3] [/size]
[size=3][/size][b][font=黑体][size=10pt]汇编语句组成[/size][/font][/b][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=黑体][size=10pt]
四个域:[标号:] 助记符 [操作数] [;注释][/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=黑体][size=10pt]
(1)[b][color=maroon]标号域[/color][/b]通过标号名或变量名与紧跟其后的代码行地址发生对应关系,标号域不能超过31个字符。[/size][/font][size=3][font=宋体] [/font][/size][size=2] ◆伪指令的标号域不需要冒号( :)作结束符。 [/size]
[font=黑体][size=10pt]
如: DATA1 DB 36H ;变量-----数据的符号地址。[/size][/font][size=3][font=宋体] [/font][/size][font=黑体][size=10pt] [/size][/font][size=2]◆[/size][font=黑体][size=10pt]汇编语言指令行的标号必须用“:”作结束符,它表示其后一条指令的地址。[/size][/font]
[font=黑体][size=10pt] 如:START: MOV AX, DTSEG ;标号----- 指令的符号地址[/size][/font]
[font=黑体][size=10pt]
(2)[b][color=maroon]助记符[/color][/b][/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=黑体][size=10pt] 汇编语言助记符(指令 )及其操作数转换成机器代码后,由CPU执行规定的工作。伪指令是汇编程序对源程序进行汇编时处理的操作命令。[/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=黑体][size=10pt]
(3)[b][color=maroon]与伪指令[/color][/b](伪操作)[/size][/font][size=3][font=宋体] [/font][/size][font=黑体][size=10pt] 伪指令不能生成机器代码,它只为汇编程序提供转换源程序的命令。[/size][/font]
[font=黑体][size=10pt](4)[b][color=maroon]注释[/color][/b][/size][/font]
[font=黑体][size=10pt] 注释以“;”开始,它可以在一行的后部,也可以在一行的第一个字符开始,汇编程序对“;”后的注释不进[/size][/font][font=宋体][size=2]行处理。注释通常用来说明一条指令或一段程序的功能。 [/size][/font]
[font=宋体][/font][b][font=黑体][size=10pt]练习题4. [/size][/font][/b][font=楷体_GB2312][size=10pt][color=#000000]下列标号为什么是非法的?[/color][/size][/font][size=3][color=#000000][font=宋体] [/font][/color][/size]
[font=宋体][size=3][color=#000000][/color][/size][/font][font=楷体_GB2312][size=10pt]
(1) GET.DATA [/size][/font][font=宋体][size=3] [/size][/font][font=楷体_GB2312][size=10pt](2) 1_NUM[/size][/font]
[font=楷体_GB2312][size=10pt](3) TEST-DATA [/size][/font][size=10pt] [/size]
[font=楷体_GB2312][size=10pt](4) RET[/size][/font][size=10pt] [/size]
[font=楷体_GB2312][size=10pt](5) NEW[/size][/font][size=10pt] [/size][font=楷体_GB2312][size=10pt] ITEM[/size][/font]
[font=楷体_GB2312][size=10pt]
答案:[/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=楷体_GB2312][size=10pt]
非法标号: [/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=楷体_GB2312][size=10pt]
(1)标号不运行使用“.”[/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=楷体_GB2312][size=10pt]
(2)第一个字符不能为数字[/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=楷体_GB2312][size=10pt]
(3)不允许出现‘-’[/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=楷体_GB2312][size=10pt]
(4)不能是保留字,如助记符 [/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][font=楷体_GB2312][size=10pt]
(5)不能有空格[/size][/font][size=3][font=宋体] [/font][/size]
[font=宋体][size=3][/size][/font][b][size=10pt]常用伪操作:[/size][/b][size=3] [/size]
[size=3][/size][b][size=10pt]
(1) [/size][font=宋体][size=10pt]程序结构伪操作[/size][/font][/b][size=3][color=#000000] [/color][/size]
[b][size=10pt]段定义伪操作[/size][/b][font=Times New Roman][size=10pt] [/size][/font]
[font=华文中宋][size=10pt]段名[/size][/font][size=10pt] [color=#ff0066]SEGMENT[/color][/size]
[b][size=10pt] [/size][size=10pt]…[/size][/b][size=3] [/size]
[size=3][/size][font=华文中宋][size=10pt]
段名[/size][/font][font=宋体][size=10pt][color=#000000] [/color][color=#ff0066]ENDS[/color][/size][size=3][color=#000000] [/color][/size][/font]
[font=宋体][size=3][color=#000000][/color][/size][/font][b][size=10pt]
过程定义伪操作[/size][size=10pt] [/size][/b][color=#000000][font=Times New Roman][size=10pt] [/size][/font][/color][font=华文中宋][size=10pt]过程名[/size][/font][size=10pt] [color=#ff0066]PROC[/color] [NEAR/FAR][/size]
[size=10pt]
[/size][b][size=10pt]…[/size][/b][size=3] [/size]
[size=3][/size][font=华文中宋][size=10pt]
过程名[/size][/font][font=宋体][size=10pt][color=#000000] [/color][color=#ff0066]EDP[/color][/size][size=3][color=#000000] [/color][/size][/font]
[font=宋体][size=3][color=#000000][/color][/size][/font][b][size=10pt]
程序开始伪操作[/size][/b][size=10pt][color=#000000] [/color][color=#ff0066]TITLE[/color][color=#000000] 程序名 ---- 程序说明(<60个ASCII字符)[/color][/size][size=3][color=#000000] [/color][/size]
[size=3][color=#000000][/color][/size][b][size=10pt]
程序结束伪操作[/size][/b][size=10pt][color=#000000] [/color][color=#ff0066]END [/color][color=#000000]START[/color][/size][size=3][color=#000000] [/color][/size]
[size=3][color=#000000][/color][/size][b][size=10pt]
段分配伪操作[/size][/b][size=10pt][color=#000000] [/color][color=#ff0066]ASSUME[/color][color=#000000] CS:CODE,DS:DATA,SS:STACK,ES:DATA[/color][/size][size=3][color=#000000] [/color][/size]
8789211 2007-3-12 10:23
[align=left][align=left][b][font=黑体]3.1.2 汇编、连接和运行一个程序[/font][/b] [font=宋体][size=12pt][/size][/font][/align][/align][size=10pt] [/size][font=黑体][size=10pt] 建立可执行的汇编语言程序的三个步骤:[/size][/font]
[size=10pt] [/size][font=黑体][size=10pt] (1)用编辑程序(EDIT)建立ASM源文件;[/size][/font]
[size=10pt] [/size][font=黑体][size=10pt] (2)用汇编程序(MASM)把ASM文件转换为OBJ文件;[/size][/font]
[size=10pt] [/size][font=黑体][size=10pt] (3)用连接程序(LINK)把OBJ文件转换为EXE文件。[/size][/font]
[img=273,222]http://www.sgrtvu.net.cn/jx_data/lg_data/czs/wjjk/chapte219.gif[/img]
[b][font=宋体][size=9pt]建立[/size][/font][size=9pt], [/size][font=宋体][size=9pt]运行汇编语言程序[/size][/font][/b]
[size=10pt]C>[i]EDIT MYFILE.ASM<CR>[/i][/size]
[size=10pt]C>[i]MASM MYFILE.ASM<CR>[/i][/size]
[size=10pt] Microsoft (R) Macro Assembler Version 5.10[/size]
[size=10pt] Copyright (C) Microsoft Corp 1981,1988.All rights reserved.[/size]
[size=10pt] Object filename [MYFILE.OBJ]: [i]<CR>[/i][/size]
[size=10pt] Source listing [NUL.LST]: MYFILE.LST[i]<CR>[/i][/size]
[size=10pt] Cross-reference [NUL.CRF]: [i]<CR>[/i][/size]
[size=10pt] 47962 + 413345Bytes symbol space free[/size]
[size=10pt] 0 Warning Errors[/size]
[size=10pt] 0 Severe Errors[/size]
[size=10pt]C>[i]LINK MYFILE.OBJ<CR>[/i][/size]
[size=10pt] Microsoft (R) Overlay Linker Version 3.64[/size]
[size=10pt] Copyright (C) Microsoft Corp 1983-1988. All rights reserved.[/size]
[size=10pt] Run File [MYFILE.EXE]: [i]<CR>[/i][/size]
[size=10pt] List File [NUL.MAP]:[i] <CR>[/i][/size]
[size=10pt] Libraries [.LIB]: [i]<CR>[/i][/size]
[size=10pt] LINK : warning L4021: no stack segment[/size]
[align=left][align=left][size=10pt] [/size][size=10pt]C>[i]MYFILE<CR>[/i][/size][/align][/align][b][size=10pt]练习题3. [/size][/b][size=10pt]将下列文件类型填入空格:[/size]
[size=10pt](1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map[/size]
[size=10pt] 编辑程序输出的文件有_________________;[/size]
[size=10pt] 汇编程序输出的文件有_______________;[/size]
[size=10pt] 连接程序输出的文件有_______________。[/size]
[size=10pt]答案:[/size]
[size=10pt] [/size][size=10pt] 编辑程序输出文件: (4)[/size]
[size=10pt] [/size][size=10pt] 汇编程序输出文件: (1), (3), (5)[/size]
[size=10pt] [/size][size=10pt] 连接程序输出文件: (2), (6)[/size]
[b][font=黑体]3.1.3 数据类型和数据定义[/font][/b]
[b][font=黑体][size=10pt]1. 数据类型[/size][/font][/b]
[size=10pt] [/size][font=黑体][size=10pt] 8086/8088使用的数据类型是8位或16位的正数和负数。在计算机内部,负数用补码形式表示。[/size][/font]
[b][font=黑体][size=10pt]2. 数据定义伪操作[/size][/font][/b]
[font=黑体][size=10pt] [/size][/font][b][size=10pt]ORG[/size][font=黑体][size=10pt] 指定数据的存储地址或代码段的起始地址[/size][/font][/b]
[font=黑体][size=10pt]例: ORG 100H[/size][/font]
[font=黑体][size=10pt] DATA1 DB 100[/size][/font]
[size=10pt] [/size][font=黑体][size=10pt]例: ORG 100H[/size][/font]
[font=黑体][size=10pt] START: MOV AX,BX[/size][/font]
[b][size=10pt] [/size][size=10pt] [/size][size=10pt] DB[/size][font=Times New Roman][size=10pt] [/size][/font][font=黑体][size=10pt]定义字节, 是唯一能定义字符串的伪操作.[/size][/font][/b]
[size=10pt]; List File for DB Examples[/size]
[size=10pt] 0000 19 DATA1 [color=#cc00cc]DB[/color] 25 [/size]
[size=10pt] 0001 89 DATA2 [color=#cc00cc]DB[/color] 10001001B [/size]
[size=10pt] 0002 12 DATA3 [color=#cc00cc]DB[/color] 12H [/size]
[size=10pt] 0010 ORG 0010H[/size]
[size=10pt] 0010 32 35 39 31 DATA4[color=#cc00cc]DB[/color] ‘2591’[/size]
[size=10pt] 0018 ORG 0018H[/size]
[size=10pt] 0018 00 DATA5 [color=#cc00cc]DB[/color] [/size][font=宋体][size=10pt]?[/size][/font][size=10pt] [/size]
[size=10pt] 0020 ORG 0020H [/size]
[size=10pt] 0020 4D 79 20 6E 61 6D DATA6 [color=#cc00cc]DB [/color]‘My name is Joe’[/size]
[size=10pt] 65 20 69 73 20 4A[/size]
[size=10pt] 6F 65[/size]
[size=10pt] 002E 0A 10 02 31 30 42 DATA7 [color=#cc00cc]DB[/color] 10,10H,10B,‘10B’[/size]
[b][size=10pt] [/size][size=10pt] DW[/size][size=10pt] [/size][font=黑体][size=10pt]字[/size][/font][/b]
[size=10pt] ; List File for DW Examples[/size]
[size=10pt]0070 ORG 70H[/size]
[size=10pt]0070 03BA DATA DW 954[/size]
[size=10pt]0072 0954 DATA9 DW 100101010100B[/size]
[size=10pt]0074 253F DATA10 DW 253FH[/size]
[size=10pt]0076 FFFB DATA11 DW -5[/size]
[size=10pt]0080 ORG 80H[/size]
[size=10pt]0080 0009 FFFF 0007 000C [/size]
[size=10pt] 0020 0064 4849[/size]
[size=10pt] DATA11 DW 9,-1,7,0CH,00100000B,100,‘HI’[/size]
[b][font=宋体][size=10pt]练习题[/size][/font][size=10pt]6.[/size][/b][size=10pt] [/size][font=宋体][size=11]对于下面两个数据段,偏移地址为[/size][/font][size=11]10H[/size][font=宋体][size=11]和[/size][/font][size=11]11H[/size][font=宋体][size=11]的两个字节中的数据是一样的吗?为什么?[/size][/font]
[font=黑体][size=10pt]◆[/size][/font][size=10pt]DTSEG SEGMENT [/size]
[size=10pt] ORG 10H [/size]
[size=10pt] DATA1DB 72H[/size]
[size=10pt] DB 04H[/size]
[size=10pt] DTSEG ENDS [/size][size=11] [/size]
[font=黑体][size=10pt]◆[/size][/font][size=10pt]DTEG SEGMENT[/size]
[size=10pt] [/size][size=10pt] ORG 10H[/size]
[size=10pt] [/size][size=10pt] DATA1 DW 7204H[/size]
[size=10pt] [/size][size=10pt] DTSEG ENDS[/size]
[size=10pt] [/size][size=10pt] 答案[/size][size=11]:[/size][size=11] [/size][size=11]不一样. 分别是72H, 04H和04H, 72H. 存储字时低8位存在低字节,高8位存在高字节.[/size]
[b][size=10pt]练习题7.[/size][/b][size=10pt] 下面的数据项设置了多少个字节?[/size]
[size=10pt] (1) ASC_DATA DB ‘1234’[/size]
[size=10pt] (2) HEX_DATA DB 1234H[/size]
[size=10pt]答案: (1) 设置了4个字节;(2) 设置了2个字节[/size]
[b][size=10pt]DD[/size][size=10pt] 定义双字[/size][/b]
[size=10pt] ; List File for DD Examples[/size]
[size=10pt] 00A0 ORG 00A0H[/size]
[size=10pt] 00A0 000003FF DATA13 DD 1023[/size]
[size=10pt] 00A4 0008965C DATA14 DD 10001001011001011100B [/size]
[size=10pt] 00A8 5C2A57F2 DATA15 DD 5C2A57F2H[/size]
[size=10pt] 00AC 00000023 00034789 DATA16 DD 23H,34789H,65533[/size]
[align=left][align=left][size=10pt] 0000FFFD[/size][/align][/align][b][size=10pt]DQ[/size][font=宋体][size=10pt]定义[/size][/font][size=10pt]4[/size][font=宋体][size=10pt]字[/size][/font][/b]
[b][size=10pt]DT[/size][size=10pt] [/size][font=宋体][size=10pt]为压缩的[/size][/font][size=10pt]BCD[/size][font=宋体][size=10pt]数据分配存储单元[/size][/font][/b]
[size=10pt] ; List File for DQ ,DT Examples[/size]
[size=10pt] 00C0 ORG 00C0H[/size]
[size=10pt] 00C0 C223450000000000[/size][size=8] [/size][size=10pt]DATA17 DQ 4523C2H[/size]
[size=10pt] 00C8 4948000000000000 DATA18 DQ ‘HI’ [/size]
[size=10pt] 00D0 0000000000000000 DATA19 DQ ?[/size]
[size=10pt]00E0 ORG 00E0H[/size]
[size=10pt]00E0 2998564379860000 DATA20 DT 867943569829[/size]
[size=10pt] 0000[/size]
[size=10pt]00EA 0000000000000000[/size][size=8] [/size][size=10pt]DATA21 DT ?[/size]
[size=10pt] 0000[/size]
[align=left][align=left][color=#cc00cc]•[/color][b][size=10pt]DUP [/size][size=10pt] [/size][font=宋体][size=10pt]按照给定的次数来复制某个[/size][/font][size=10pt]([/size][font=宋体][size=10pt]某些[/size][/font][size=10pt])[/size][font=宋体][size=10pt]操作数[/size][/font][/b][/align][/align][size=10pt]; List File for DUP Examples[/size]
[size=10pt] 0100 ORG 0100H [/size][font=宋体][size=10pt];[/size][/font][font=宋体][size=10pt]设置[/size][/font][size=10pt]32[/size][font=宋体][size=10pt]个字节空间[/size][/font]
[size=10pt]0100 0020[ DATA22 DB 32 DUP(?)[/size]
[size=10pt] ??[/size]
[size=10pt] ][/size]
[size=10pt] 0120 ORG 0120H[/size]
[size=10pt]0120 0005[ DATA23 DB 5 DUP(2 DUP(99))[/size][font=宋体][size=10pt];以[/size][/font][size=10pt]99[/size][font=宋体][size=10pt]充满[/size][/font][size=10pt]10[/size][font=宋体][size=10pt]个字节[/size][/font][size=10pt] [/size]
[size=10pt] 0002[[/size]
[size=10pt] 63[/size]
[size=10pt] ][/size]
[size=10pt] ][/size]
[size=10pt]012A 0008[ DATA24 DW 8 DUP(?) [/size][font=宋体][size=10pt];设置[/size][/font][size=10pt]8[/size][font=宋体][size=10pt]个字空间[/size][/font]
[size=10pt] ????[/size]
[size=10pt] ][/size]
[b][font=宋体][size=10pt]练习题[/size][/font][size=10pt]5.[/size][/b][size=10pt] [/size][font=宋体][size=10pt]下面的数据项定义了多少个字节?[/size][/font]
[size=10pt] DATA_1 DB 6 DUP(4 DUP(0FFH))[/size]
[font=宋体][size=10pt]答案[/size][/font][size=10pt]: 24[/size][font=宋体][size=10pt]字节[/size][/font]
[size=16pt]•[/size][b][size=10pt]EQU [/size][font=黑体][size=10pt]赋值伪操作[/size][/font][/b]
[size=10pt]•[/size][b][size=10pt] = [/size][font=黑体][size=10pt]赋值伪操作[/size][/font][/b]
[size=10pt]COUNT EQU25[/size]
[size=10pt]COUNTER1 DB COUNT[/size]
[align=left][align=left][size=10pt]COUNTER2 DB COUNT[/size][/align][/align][size=10pt]TEMP=25[/size]
[size=10pt]TEMP=TEMP+1[/size]