文本显示器汇编源代码程序
汇编语言程序格式
汇编语言程序格式编程语言是计算机与人之间交流的桥梁,通过编写程序代码,我们可以指导计算机执行特定的任务。
汇编语言是一种底层的编程语言,它直接与计算机硬件进行交互,并提供了对机器指令的精细控制。
在编写汇编语言程序时,我们需要遵循一定的格式,以确保程序的正确性和可读性。
本文将介绍汇编语言程序的格式要求。
一、程序结构在编写汇编语言程序时,需要明确的程序结构是很重要的。
一个典型的汇编语言程序由如下几个部分组成:1. 数据段(.data):用于定义程序中使用的数据,如变量、常量等。
2. 代码段(.text):包含实际的机器指令,用于执行特定的任务。
3. 其他段(如堆栈段):根据需要定义的其他段。
二、指令格式每个汇编指令都有特定的格式,以便告诉计算机应该执行什么操作。
一个标准的汇编指令格式通常包含如下几个部分:1. 操作码(Opcode):用于指定要执行的操作,如“mov”用于将数据从一个位置移动到另一个位置。
2. 操作数(Operand):操作数描述了要对其进行操作的数据。
操作数可以是立即数、寄存器或内存地址等。
3. 注释(Comment):注释用于解释指令的作用和目的,提高程序的可读性。
三、指令的排列在编写汇编语言程序时,指令的排列很重要。
正确的指令排列可以提高程序执行效率和可读性。
一般而言,指令按照执行的顺序排列,具有逻辑关系的指令可以分组编写。
四、标签和跳转在程序中,我们常常需要使用标签和跳转指令来实现条件执行和循环等功能。
标签是程序中的一个标记,用于标识某个位置,而跳转指令则会根据一定的条件,跳转到指定的标签处继续执行。
在使用标签和跳转指令时,需要注意以下几点:1. 标签需要以冒号(:)结尾,以便与其他变量或指令进行区分。
2. 跳转指令一般以条件代码作为前缀,如“je”(等于跳转)、“jne”(不等于跳转)等。
五、宏定义宏定义是一种将一段常用代码片段定义为简单的符号表示的方式。
在汇编语言中使用宏定义可以提高代码的可读性和重用性。
编写汇编语言源程序的流程或步骤
编写汇编语言源程序的流程或步骤下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!揭秘汇编语言源程序的编写流程与步骤汇编语言,作为计算机科学的基础,是直接对应机器指令的编程语言。
汇编语言源程序ppt课件
编辑版pppt
34
数据定义语句的具体形式和功能
(4)用DB伪指令在内存中定义一个字符串。字符串 中的每一个字符用它的ASCII码值来表示,为一个字 节,所以字符串的定义必须用DB命令。
例如:MESSAGE DB ‘HELLO’
编辑版pppt
20
汇编语言的语句格式(续)
其中,方括号中的内容为可选部分,操作数部分或是0、 1操作数,或是由逗号隔开的多个操作数。
(1)标号和名字:标号和名字分别是给指令单元和伪 指令起的符号名称,用符号汇编语言规定的标识符来表 示。标号后面必须有冒号,名字后面没有。
标号和名字的选择有一些限制。首先,它们必须符号汇 编语言的标识符定义,即以字母开头,由字母(A~Z或 a~z,汇编程序不区分大小写)、数字及部分特殊字符 (?、@、$和下划线_等)组成的字符串表示,字符串 长度不能超过31个。此外,标识符不能是汇编言中有特 定意义的保留字。
编辑版pppt
22
操作数
常量 —— 数值或字符、字符串 寄存器 存储器单元 变量或标号 表达式 —— 可包括各种运算符
编辑版pppt
23
常量
在汇编时已经确定其值且程序运行期间不变化 的量为常量,如语句中的立即数或端口地址等。
这些常量的形式各不相同,常用的有二、十、 八或十六进制的整型数值常量、字符串常量和 已赋值的常标识符。
17
语句的种类(续)
宏指令语句 是以某个宏名字定义的一段指令序列。汇编时,
凡有宏指令语句的地方都将用相应的指令序列 的目标代码插入。
编辑版pppt
18
汇编语言的语句格式
指令性语句 —— 由CPU执行的指令 语句格式:
汇编语言源程序格式
2.1 汇编语言语句格式
同其他程序设计语言一样,汇编语言的翻译器 (汇编程序)对源程序有严格的格式要求。这样, 汇编程序才能确切翻译源程序,形成功能等价的 机器指令(目标代码),连接后能直接运行。汇 编语言程序格式就是汇编语言必须遵循的语法规 则。
汇编语言语句类型
汇编语言源程序由语句序列构成,汇编语言程序中的语句可以分为 指令语句、伪指令语句和宏指令语句三种。 (1) 指令语句:对应于CPU指令系统中的一条机器指令,由 CPU执行,能完成一定操作功能,能够翻译成机器代码的语句。 (2) 伪指令语句:无对应的机器指令,不由CPU执行,只为汇编 程序在翻译汇编语言源程序时提供有关信息,并不翻译成机器代码 的语句。 (3) 宏指令语句:就是由若干条指令语句形成的语句,一条宏指 令语句的功能相当于若干条指令语句的功能,详见第5章。
汇编语言语句格式
汇编语言源程序中的每个语句可以由4项组成,格式如下: [名字:] 操作码 [操作数[,操作数]] [;注释] 其中,名字项是一个符号项。 操作码项是一个操作码的助记符,它可以是指令、伪指令或宏指令 名。 操作数项由一个或多个表达式组成,它提供为执行所要求的操作而 需要的信息。 注释项用来说明程序或语句的功能。“;”为识别注释项的开始。 带方括号的项是可选项,需要根据具体情况而定。 汇编语言源程序中的每条语句一般占一行,各项之间必须用空格或 制表符作为分隔符,操作数之间用逗号分隔。
【例2.3】AND AL,78H AND 0FH
等价于: AND AL,08H
【例2.4】设VALUE是字节型变量,分析下面这条语句执 行完AL寄存器的内容。
MOV AL,VALUE AND 01H
在汇编后,该语句的源操作数(VALUE AND 01H)可 能产生两个结果之一:当VALUE值的D0位为1时, VALUE和01与操作的结果为01H,则该语句变成MOV AL,01H;当VALUE值的D0位为0时,VALUE和01与操 作的结果为00H,则该语句变成MOV AL,00H。因此, 执行后AL寄存器的内容为01H或00H。
汇编_文本方式下的屏幕编程
有一个中断向量号,例如 10H 为显示器 I/O、13H 为磁盘 I/O 等。所谓 BIOS 功能调用就是 指对 BIOS 模块中的中断子程序的调用。BIOS 功能调用的方式如下: 1):设置入口参数 2):执行中断调用指令: INT XXH 3):分析出口参数(可选) 通过 BIOS 10H 功能调用比直接读写屏幕缓冲区更加方便,为此下面介绍一些常用的 BIOS 10H 功能调用。 【00H 号功能】 设置显示方式 入口参数: AL = 显示方式值 00 40×25 黑白文本方式 01 40×25 彩色文本方式 02 80×25 黑白文本方式 03 80×25 彩色文本方式 04 320×320 彩色图形方式 功能号:AH = 00H 出口参数:无 实现功能:将显示方式设置为指定形式 例:将显示方式设置为 80×25 彩色文本方式 MOV AL, 03H MOV AH, 00 INT 10H 【06H 号、07H 号功能】 屏幕上卷、下卷 入口参数: AL = 上卷、下卷的行数,0=清屏 CH = 窗口左上角行号 CL = 窗口左上角列号 DH = 窗口右下角行号 DL = 窗口右下角列号 BH = 窗口属性 功能号:AH = 06H(屏幕上卷) 或 AH = 07H(屏幕下卷) 出口参数:无 实现功能:使屏幕内容上卷或下卷的指定的行数。如果窗口左上角行列号不为(0,0),窗口 右下角行列号不为(24,79),则屏幕只有一个窗口区域具有上卷或下卷的功能。 例:清除屏幕显示,将其属性置为白底红字显示。 MOV AL, 0 ;清屏功能 MOV BH, 74H ;白底红字 MOV CH, 0 ;左上角行号 MOV CL, 0 ;左上角列号 MOV DH, 24 ;右下角行号 MOV DL, 79 ;右下角列号 MOV AH, 6 ;功能号 INT 10H ;中断调用
12864显示程序(汇编语言)
ACALL DELAY
ACALL DELAY
LCALL DELAY ;延迟39uS
MOV COM,#06H ;DDRAM的地址计数器(AC)加1
ACALL WRI ;调用写指令子程序
LCALL DELAY ;延迟39uS
MOV A,#8
MOV R3,A
DISP32: MOV R2,A
MOV A,R1
ADD A,#2
MOV R0,A
MOV R1,A
ACALL DELAY1
ACALL DELAY
DJNZ R4,DISP2
;右移显示,时间间隔为1秒
MOV R0,#00H
MOV R1,#00H
MOV R2,#1
MOV R3,#1
DISP4: MOV COM,B
ACALL WRI
ACALL DISP21
MOV R0,#00H
INC R3
MOV A,R3
CJNE A,#9,DISP42
MOV R3,A ;保存显示位数
DISP22: MOV R2,A
DEC B ;取下一次显示首地址,并进行判断
MOV A,B
CJNE A,#8FH,DISP23
INC R3 ;取下一次显示文字个数
MOV A,R3
CJNE A,#9,DISP12 ;判断文字个数是否超过8
MOV A,#8 ;超过8个就定死显示个数
ACALL WRI ;调用写指令子程序
ACALL DELAY ;延时
ACALL DELAY
ACALL DELAY
DJNZ R4,DISP1 ;判断移位显示是否完毕
2.8吋彩色液晶屏汇编语言实验程序
上一次发表的是用C语言编写的2.8 吋彩色液晶屏实验程序,这一次是汇编语言编写的2.8 吋彩色液晶屏实验程序,两个程序的运行结果是完全一样的,只是编程用的编程语言不同而已。
对于初学C51单片机的朋友们学习不同语言编程能有所帮助,本程序是经过本人上机测试完全通过Keil 4 验证的,可以放心的使用。
本程序驱动ILI9341 或RM68090 芯片驱动的2.8 吋彩色液晶屏。
显示点阵数:240RGB(W)×320(H)。
芯片为宏晶科技公司的STC12C5A60S2或STC12LE5A60S2 芯片。
注:RGB 为565 格式的16bit。
$INCLUDE(STC12C5A.INC);===============================================;编程日期:2014年09月25日;===============================================;初始化定义和数据单元;;===============================================RSB BIT P3.3 ;寄存器选择,0:寄存器,1:参数CSB BIT P3.4 ;片选,低电平有效RESET BIT P3.5 ;复位WRB BIT P3.6 ;写数据信号RDB BIT P3.7 ;读数据信号;===============================================;主程序开始;===============================================ORG 0000HLJMP MAIN ;开始ORG 0100HMAIN:MOV R0,#7FHCLR ACLEARED:MOV @R0,ADJNZ R0, CLEAREDMOV SP,#0E0HSETB RESETLCALL DELAY1MSCLR RESETLCALL DELAY10MSSETB RESETLCALL DELAY120MSLCALL REGISTER_SETTINGS ;配置9341;===============================================;循环程序;===============================================CYCLE:MOV R7,#0FFHMOV R6,#0FFHLCALL DISPLAY ;显示白色MOV R7,#00HMOV R6,#00HLCALL DISPLAY ;显示黑色LCALL DELAY1SLCALL PICTURES ;显示图片LCALL DELAY1SMOV R7,#0F8HMOV R6,#00HLCALL DISPLAY ;显示红色ACALL DELAY1SMOV R7,#07HMOV R6,#0E0HLCALL DISPLAY ;显示绿色ACALL DELAY1SMOV R7,#00HMOV R6,#1FHLCALL DISPLAY ;显示蓝色LCALL DELAY1SMOV R7,#0FFHMOV R6,#0E0HLCALL DISPLAY ;显示黄色LCALL DELAY1SMOV R7,#0F8HMOV R5,#1FHLCALL DISPLAY ;显示紫色LCALL DELAY1SMOV R7,#07HMOV R6,#0FFHLCALL DISPLAY ;显示青色LCALL DELAY1SCPL P4.3LJMP CYCLE ;返回循环程序;=============================================== ;显示设置,区域和数据240x320;=============================================== DISPLAY:MOV 22H,R7MOV 23H,R6LCALL SETTINGS_AREA ;设置区域CLR AMOV R3,AMOV R2,ADISPLAY01:MOV R4,#0F0HDISPLAY02:MOV R7,22HLCALL TWO_DATA ;写双字节显示数据DJNZ R4, DISPLAY02 ;240列INC R3CJNE R3,#00H,DISPLAY03INC R2DISPLAY03:CJNE R2,#01H,DISPLAY01CJNE R3,#40H,DISPLAY01 ;320行RET;=============================================== ;显示图片;=============================================== PICTURES:LCALL SETTINGS_AREA ;设置区域MOV R1,#04H ;显示4幅图片PICTURES01:MOV DPTR,#IMAGE_PIXELSMOV R2,#50HPICTURES02:MOV R3,#0F0HPICTURES03:CLR AMOVC A,@A+DPTRMOV R7,AINC DPTRCLR AMOVC A,@A+DPTRMOV R6,AINC DPTRLCALL TWO_DATA ;写DAT文件,双字节DJNZ R3,PICTURES03DJNZ R2,PICTURES02DJNZ R1,PICTURES01RET;=============================================== ;设置区域;=============================================== SETTINGS_AREA:MOV R7,#2AH ;列地址时钟LCALL COMMAND ;写8位命令MOV R7,#00HLCALL WRITE_DATA ;写8位数据参数MOV R7,#00HLCALL WRITE_DATA ;写8位数据参数LCALL WRITE_DATA ;写8位数据参数MOV R7,#0EFHLCALL WRITE_DATA ;写8位数据参数MOV R7,#2BH ;页地址设置LCALL COMMAND ;写8位命令MOV R7,#00HLCALL WRITE_DATA ;写8位数据参数MOV R7,#00HLCALL WRITE_DATA ;写8位数据参数MOV R7,#01HLCALL WRITE_DATA ;写8位数据参数MOV R7,#3FHLCALL WRITE_DATA ;写8位数据参数MOV R7,#2CH ;存储器写LJMP COMMAND ;写8位命令RET;=============================================== ;写寄存器命令;=============================================== COMMAND:CLR RSBSETB RDBCLR CSBMOV P0,R7CLR WRBSETB WRBSETB CSBRET;=============================================== ;写数据参数;=============================================== WRITE_DATA:SETB RSBSETB RDBCLR CSBMOV P0,R7CLR WRBSETB WRBSETB CSBRET;=============================================== ;写双字节显示数据;===============================================SETB RSBSETB RDBCLR CSBMOV P2,R7MOV P0,R6CLR WRBSETB WRBSETB CSBRET;=============================================== ;延时1mS;=============================================== DELAY1MS:MOV R6,#8DHDL0:MOV R5,#39HDJNZ R5,$DJNZ R6,DL0NOPRET;=============================================== ;延时10mS;=============================================== DELAY10MS:MOV R7,#0BDHDL1:MOV R6,#0AEHDL2:MOV R5,#01HDJNZ R5,$DJNZ R6,DL2DJNZ R7,DL1RET;=============================================== ;延时120mS;=============================================== DELAY120MS:MOV R7,#75HDL3:MOV R6,#78HDL4:MOV R5,#45HDJNZ R5,$DJNZ R6,DL4DJNZ R7,DL3DJNZ R5,$RET;=============================================== ;延时1S;=============================================== DELAY1S:MOV R7,#0DFHDL5:MOV R6,#0D4HDL6:MOV R5,#0ADHDJNZ R5,$DJNZ R6,DL6DJNZ R7,DL5MOV R5,#03HDJNZ R5,$NOPRET;=============================================== ;ILI9341寄存器配置;=============================================== REGISTER_SETTINGS:MOV R7,#0CFH ;LCALL COMMAND ;写寄存器命令MOV R7,#00H ;LCALL WRITE_DATA ;写8位数据MOV R7,#0D9HLCALL WRITE_DATAMOV R7,#30HLCALL WRITE_DATAMOV R7,#0EDHLCALL COMMANDMOV R7,#64HLCALL WRITE_DATAMOV R7,#03HLCALL WRITE_DATAMOV R7,#12HLCALL WRITE_DATAMOV R7,#81HLCALL WRITE_DATAMOV R7,#0E8HLCALL COMMANDMOV R7,#85HLCALL WRITE_DATAMOV R7,#10HMOV R7,#78H LCALL WRITE_DATA MOV R7,#0CBH LCALL COMMAND MOV R7,#39H LCALL WRITE_DATA MOV R7,#2CH LCALL WRITE_DATA MOV R7,#00H LCALL WRITE_DATA MOV R7,#34H LCALL WRITE_DATA MOV R7,#02H LCALL WRITE_DATA MOV R7,#0F7H LCALL COMMAND MOV R7,#20H LCALL WRITE_DATA MOV R7,#0EAH LCALL COMMAND MOV R7,#00H LCALL WRITE_DATA MOV R7,#00H LCALL WRITE_DATA MOV R7,#0C0H LCALL COMMAND MOV R7,#21H LCALL WRITE_DATA MOV R7,#0C1H LCALL COMMAND MOV R7,#12H LCALL WRITE_DATA MOV R7,#0C5H LCALL COMMAND MOV R7,#32H LCALL WRITE_DATA MOV R7,#3CH LCALL WRITE_DATA MOV R7,#0C7H LCALL COMMAND MOV R7,#0C1H LCALL WRITE_DATA MOV R7,#36H LCALL COMMAND MOV R7,#08HLCALL COMMAND MOV R7,#55H LCALL WRITE_DATA MOV R7,#0B1H LCALL COMMAND MOV R7,#00H LCALL WRITE_DATA MOV R7,#18H LCALL WRITE_DATA MOV R7,#0B6H LCALL COMMAND MOV R7,#0AH LCALL WRITE_DATA MOV R7,#0A2H LCALL WRITE_DATA MOV R7,#0F2H LCALL COMMAND MOV R7,#00H LCALL WRITE_DATA MOV R7,#26H LCALL COMMAND MOV R7,#01H LCALL WRITE_DATA MOV R7,#0E0H LCALL COMMAND MOV R7,#0FH LCALL WRITE_DATA MOV R7,#20H LCALL WRITE_DATA MOV R7,#1EH LCALL WRITE_DATA MOV R7,#09H LCALL WRITE_DATA MOV R7,#12H LCALL WRITE_DATA MOV R7,#0BH LCALL WRITE_DATA MOV R7,#50H LCALL WRITE_DATA MOV R7,#0BAH LCALL WRITE_DATA MOV R7,#44H LCALL WRITE_DATA MOV R7,#09HLCALL WRITE_DATA MOV R7,#05H LCALL WRITE_DATA MOV R7,#23H LCALL WRITE_DATA MOV R7,#21H LCALL WRITE_DATA MOV R7,#00H LCALL WRITE_DATA MOV R7,#0E1H LCALL COMMAND MOV R7,#00H LCALL WRITE_DATA MOV R7,#19H LCALL WRITE_DATA MOV R7,#19H LCALL WRITE_DATA MOV R7,#00H LCALL WRITE_DATA MOV R7,#12H LCALL WRITE_DATA MOV R7,#07H LCALL WRITE_DATA MOV R7,#2DH LCALL WRITE_DATA MOV R7,#28H LCALL WRITE_DATA MOV R7,#3FH LCALL WRITE_DATA MOV R7,#02H LCALL WRITE_DATA MOV R7,#0AH LCALL WRITE_DATA MOV R7,#08H LCALL WRITE_DATA MOV R7,#25H LCALL WRITE_DATA MOV R7,#2DH LCALL WRITE_DATA MOV R7,#0FH LCALL WRITE_DATA MOV R7,#11H LCALL COMMAND LCALL DELAY120MSLJMP COMMANDRET;===============================================;显示图像38400字节;===============================================IMAGE_PIXELS:DB 0xC4,0x8,0xBC,0x2A,0x8B,0x6A,0x49,0xA8,0x18,0x88,0x31,0x4D,0x41,0xCE,0x31,0x4B DB 0x18,0xA8,0x18,0x87,0x10,0x85,0x10,0x85,0x10,0x85,0x10,0xA5,0x10,0xA5,0x18,0xA6 DB 0x10,0xA5,0x10,0x85,0x10,0xA6,0x8,0xA6,0x8,0x64,0x38,0x64,0x88,0xE7,0xD1,0x69 DB 0xD1,0x6,0xD1,0x7,0xD1,0x8,0xD9,0x8,0xD8,0xE8,0xD0,0xE7,0xC9,0x7,0xC1,0x47DB 0xD0,0xE8,0xD0,0xE8,0xD0,0xE7,0xD0,0xE7,0xD1,0x7,0xD1,0x7,0xD1,0x7,0xD1,0x7 DB 0xD0,0xE7,0xC8,0xE6,0xC9,0x7,0xD0,0xE7,0xD0,0xA6,0xC0,0xE7,0xC2,0x4B,0xCB,0xF0 DB 0xFE,0xBB,0xFF,0xBE,0xF7,0xFF,0xEF,0xBE,0xFF,0x9F,0xFF,0xBF,0xEF,0x7F,0xC7,0x3D DB 0xCE,0xFC,0xDF,0x5E,0xEF,0x9E,0xEF,0xDF,0xEF,0xFF,0xEF,0xDE,0xFF,0xBF,0xFF,0xBF DB 0xEF,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDFDB 0xF7,0xDF,0xF7,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF DB 0xF7,0xDD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0x9E,0xEF,0x7E,0xFF,0xBF,0xFF,0xFFDB 0xF7,0xBD,0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBFDB 0xC6,0x39,0x8C,0xD4,0x7C,0x93,0x8D,0x35,0xAE,0x3A,0xAE,0x5A,0xB6,0x9A,0xCF,0x1C DB 0xCF,0x5D,0xCF,0x5D,0xCF,0x7E,0xCF,0x7E,0xCF,0x7E,0xCF,0x5E,0xCF,0x5D,0xCF,0x5D DB 0xCF,0x3D,0xC6,0xFC,0xBE,0xBB,0xB6,0x9A,0xAE,0x39,0x9D,0xD7,0x95,0x96,0x95,0x76 DB 0x8C,0xB2,0xA5,0x96,0xD7,0x1C,0xF7,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF DB 0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xFE,0x1A,0xE3,0xD3,0xE3,0x72,0xE3,0x72,0xEA,0xF1 DB 0xE2,0xD1,0xE2,0xD1,0xE2,0xB1,0xE2,0xB1,0xDA,0xF2,0xDB,0x53,0xE3,0xD4,0xE4,0x36 DB 0xB5,0x16,0xAC,0xB5,0xC4,0xF7,0xE5,0x38,0xEC,0xD7,0xEC,0xB7,0xED,0x18,0xE5,0x37 DB 0xE5,0x38,0xE3,0xF4,0xDA,0x2F,0xE9,0xF0,0xE2,0x50,0xD2,0x50,0xE2,0xD1,0xE2,0xD2 DB 0xE2,0xD1,0xE2,0xD1,0xE2,0xD1,0xE2,0x91,0xE2,0xB1,0xE3,0x53,0xDC,0xB6,0xD5,0xB8 DB 0xB5,0x99,0xD6,0x9D,0xD6,0xDD,0xE7,0x7F,0xF7,0xDF,0xFF,0xDF,0xFF,0xFF,0xEF,0xBE DB 0xFF,0x5D,0xDC,0xB3,0xB1,0xC9,0xB8,0xA5,0xD1,0x28,0xE1,0xEB,0xE2,0x4D,0xDA,0x6D DB 0xD1,0xEA,0xB9,0x7,0xA8,0xE6,0x90,0xE5,0x98,0xE6,0xC1,0x28,0xD9,0x69,0xDA,0xA DB 0xEA,0x4E,0x89,0xEC,0x20,0xE9,0x29,0x4C,0x39,0x4D,0x29,0xC,0x39,0xAE,0x39,0x6D DB 0x39,0x8E,0x39,0x8E,0x39,0xAE,0x41,0xAE,0x41,0xAF,0x41,0xAF,0x41,0xAE,0x41,0xAE DB 0x39,0xAE,0x39,0x8E,0x39,0x8D,0x31,0x6D,0x31,0x4C,0x31,0x2C,0x29,0xB,0x29,0xB DB 0x29,0xA,0x20,0xA8,0x18,0x87,0x10,0x67,0x10,0xA6,0x41,0x88,0xAC,0xE,0xD4,0x6D DB 0x9B,0x25,0x9B,0x67,0x5A,0x25,0x18,0x84,0x18,0xA9,0x29,0x2D,0x29,0x2B,0x21,0x7 DB 0x18,0x86,0x18,0xA6,0x10,0x85,0x10,0x84,0x10,0x84,0x10,0xC5,0x10,0x85,0x8,0x45 DB 0x18,0xA5,0x10,0x65,0x10,0x66,0x8,0x65,0x10,0x64,0x58,0xC6,0xB9,0x28,0xE8,0xC8 DB 0xC9,0x6,0xD1,0x7,0xD1,0x8,0xD0,0xE8,0xC8,0xE8,0xC9,0x8,0xC9,0x27,0xC8,0xE6DB 0xD0,0xE8,0xD0,0xE8,0xD0,0xE8,0xD0,0xE7,0xD1,0x7,0xD1,0x7,0xD1,0x7,0xD1,0x7 DB 0xD9,0x7,0xD1,0x7,0xC9,0x7,0xD1,0x8,0xC8,0xE7,0xC9,0xEB,0xEC,0xF4,0xFF,0xDDDB 0xFF,0xDF,0xFF,0xFF,0xF7,0xDF,0xEF,0xFF,0xE7,0xFF,0xD7,0x7E,0xDE,0xDD,0xE6,0xBD DB 0xDF,0x7D,0xEF,0xDF,0xF7,0x9F,0xF7,0x7F,0xFF,0xFF,0xFF,0xFF,0xF7,0xDE,0xFF,0xFFDB 0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xF7,0xBF,0xF7,0xBF,0xF7,0xBF,0xF7,0xBFDB 0xF7,0xDE,0xF7,0xDE,0xF7,0xBE,0xF7,0xBE,0xF7,0xBE,0xF7,0xBF,0xF7,0xBF,0xF7,0xBE DB 0xF7,0xBF,0xF7,0x9F,0xF7,0x9F,0xF7,0xBF,0xF7,0xDE,0xF7,0xDE,0xF7,0xDD,0xF7,0xDC DB 0xFF,0xFF,0xF7,0xBF,0xF7,0xBE,0xF7,0xDE,0xF7,0xDF,0xF7,0xDF,0xFF,0xFF,0xFF,0xFFDB 0xF7,0xFE,0xE7,0x9E,0xA5,0xB7,0x84,0xF5,0x95,0x77,0xA6,0x19,0xBE,0xDB,0xBE,0x9A DB 0xCF,0x3D,0xCF,0x5D,0xCF,0x5E,0xCF,0x7E,0xCF,0x7E,0xCF,0x5D,0xCF,0x5D,0xC7,0x3D DB 0xC7,0x1D,0xBE,0xDB,0xB6,0x7A,0xAE,0x59,0xA5,0xF8,0x9D,0x97,0x95,0x76,0x95,0x96 DB 0xDE,0x9B,0xFF,0xDF,0xF7,0xFF,0xF7,0xDF,0xFF,0xFF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xFE,0x5B,0xE3,0xB3,0xDB,0x31,0xE2,0xF1,0xE2,0x6FDB 0xE2,0x70,0xE2,0x70,0xE2,0x91,0xE2,0xD1,0xDB,0x53,0xDB,0xF4,0xDC,0xB6,0xDD,0x38 DB 0x85,0x55,0x84,0xB3,0xA5,0x36,0xD5,0xDA,0xE5,0x79,0xE5,0x58,0xE5,0x98,0xDD,0x77 DB 0xC5,0x16,0xDB,0xD4,0xE2,0xF,0xF1,0xCF,0xE2,0xF,0xD2,0x50,0xE2,0xD1,0xDA,0x30DB 0xE2,0x90,0xE2,0xB1,0xE2,0xB1,0xE2,0xB1,0xEA,0xF2,0xEB,0xD5,0xDD,0x17,0xCD,0xF9 DB 0xBE,0x3A,0xD7,0x3D,0xD7,0x7D,0xEF,0xDF,0xF7,0xDE,0xEF,0x7D,0xF7,0xDF,0xF7,0xFF DB 0xEF,0xFF,0xFF,0xBE,0xFD,0x15,0xC9,0xA9,0xB8,0x85,0xE1,0xCA,0xF2,0xAE,0xDA,0x2C DB 0xE2,0x2C,0xC1,0x8,0xA0,0xC6,0x88,0xC5,0x98,0xE6,0xC1,0x28,0xD1,0x69,0xD2,0xA DB 0xEA,0x2D,0x9A,0x4D,0x21,0x9,0x29,0x6C,0x41,0xAE,0x31,0x2C,0x41,0xCE,0x39,0x8E DB 0x41,0xAF,0x41,0xAF,0x41,0xCF,0x41,0xCF,0x41,0xCF,0x41,0xCF,0x41,0xCF,0x41,0xCF DB 0x41,0xAE,0x39,0xAE,0x39,0x8E,0x39,0x8E,0x31,0x6D,0x31,0x4C,0x31,0x2C,0x29,0x2C DB 0x29,0xA,0x20,0xC8,0x28,0xE9,0x10,0x87,0x0,0x25,0x41,0x88,0x9B,0x8C,0xE4,0xCEDB 0xA3,0xA5,0x59,0xA4,0x20,0x66,0x10,0x46,0x20,0xE9,0x31,0x4C,0x20,0xCA,0x18,0xC7 DB 0x10,0x86,0x10,0x85,0x10,0xA5,0x10,0xA5,0x10,0xA5,0x10,0xA5,0x10,0x85,0x10,0xA6 DB 0x8,0x85,0x28,0x47,0x18,0x88,0x8,0x86,0x40,0x3,0xB1,0x28,0xC9,0x7,0xD0,0xE7DB 0xC9,0x27,0xD1,0x28,0xD0,0xE7,0xD1,0x7,0xC9,0x27,0xB8,0xC6,0xC0,0xE7,0xD1,0x48 DB 0xE0,0x66,0xD9,0x48,0xC1,0x67,0xC1,0x26,0xD9,0x7,0xD8,0xC7,0xC8,0xC6,0xB9,0x48 DB 0xC0,0xE5,0xE1,0x28,0xD0,0xA7,0xB1,0x48,0xD4,0xD4,0xEF,0x5C,0xFF,0xFF,0xFF,0xDF DB 0xFF,0xFF,0xFF,0xFF,0xF7,0xFF,0xF7,0xBF,0xEF,0x9E,0xEF,0x9E,0xE7,0x7E,0xEF,0x9EDB 0xF7,0xBE,0xF7,0xBF,0xF7,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xDF,0xFF,0xDF,0xFF,0xDE,0xFF,0xDF,0xF7,0xBE,0xFF,0xBF,0xFF,0xBF,0xFF,0xBFDB 0xF7,0xBF,0xEF,0xBE,0xEF,0x9E,0xEF,0x9E,0xE7,0x9E,0xE7,0x9E,0xE7,0x9E,0xE7,0x9EDB 0xEF,0x9E,0xE7,0x9E,0xE7,0x7E,0xE7,0x7E,0xE7,0x7E,0xE7,0x7E,0xE7,0x7E,0xEF,0x7E DB 0xEF,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9F DB 0xF7,0x9F,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xF7,0x9E,0xEF,0x9E,0xEF,0x9F,0xEF,0xBFDB 0xF7,0xDE,0xFF,0xFF,0xF7,0xBE,0xB6,0x18,0x8C,0xD3,0x9D,0x97,0xB6,0x9B,0xAE,0x7A DB 0xBF,0x3C,0xC7,0x5C,0xCF,0x7D,0xCF,0x7D,0xCF,0x5D,0xC7,0x3D,0xC7,0x1D,0xBF,0x1C DB 0xBE,0xBC,0xAE,0x5A,0xA6,0x19,0x9E,0x18,0x9D,0xD7,0xA5,0xD7,0xCE,0xBA,0xF7,0xBF DB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xF6,0xDD,0xE5,0x18,0xCB,0x33,0xDA,0x50,0xEA,0x31 DB 0xDA,0x90,0xDA,0x91,0xE2,0xD2,0xE3,0x74,0xE4,0x56,0xDD,0x18,0xCD,0xB9,0xC5,0xF9 DB 0xAD,0xDA,0xAD,0xDA,0xA5,0xB9,0x9D,0x77,0x9D,0x78,0xA5,0x99,0x9D,0x78,0x94,0xF7 DB 0x74,0x74,0xAC,0x35,0xDB,0x74,0xE2,0x51,0xE1,0xEF,0xDA,0xF,0xE2,0x30,0xE2,0xFDB 0xDA,0x10,0xE2,0x91,0xDA,0xF2,0xDB,0x12,0xE3,0xD4,0xEC,0xD8,0xD5,0xB9,0xBD,0xB9 DB 0xC6,0x7B,0xE7,0x5E,0xF7,0xBF,0xF7,0x9F,0xF7,0xBF,0xF7,0xBF,0xEF,0x9F,0xEF,0x9FDB 0xEF,0x9E,0xDF,0xFD,0xEF,0xFD,0xF6,0x17,0xCA,0x6C,0xC9,0xAB,0xF2,0xB0,0xE9,0xCEDB 0xEA,0xD,0xB1,0x89,0x80,0xC5,0x80,0xA4,0xB0,0xE7,0xC9,0x8,0xD1,0x48,0xD1,0xCA DB 0xE2,0x2B,0xC2,0x2E,0x50,0x8A,0x31,0x6E,0x31,0xAE,0x41,0x6E,0x49,0x8F,0x39,0xEF DB 0x41,0xD0,0x41,0xD0,0x49,0xF0,0x49,0xF0,0x49,0xF0,0x49,0xF0,0x49,0xF0,0x49,0xF0 DB 0x41,0xD0,0x41,0xD0,0x41,0xAF,0x41,0xAF,0x39,0x8E,0x39,0x8E,0x39,0x6D,0x31,0x4D DB 0x31,0x4C,0x20,0xEA,0x18,0xE8,0x10,0x87,0x18,0x68,0x39,0x25,0x9B,0xCA,0xC4,0xD0 DB 0xAC,0x7,0x59,0xC5,0x20,0x86,0x18,0x87,0x20,0xE9,0x29,0xB,0x18,0xA9,0x10,0xA6 DB 0x10,0x85,0x10,0x85,0x10,0xA5,0x10,0xA5,0x10,0x85,0x10,0x85,0x10,0x86,0x10,0xA6 DB 0x8,0xA5,0x20,0x47,0x18,0x89,0x10,0xA7,0x60,0x86,0xC1,0x69,0xC9,0x28,0xD1,0x8 DB 0xC1,0x27,0xC9,0x7,0xC8,0xE7,0xC9,0x7,0xC1,0x7,0xB8,0xE7,0xC9,0x48,0xD9,0x69DB 0xE9,0x8A,0xC0,0x85,0xC8,0xC6,0xE1,0x88,0xD1,0x27,0xD0,0xE7,0xE1,0x8,0xE0,0xC8 DB 0xE9,0x68,0xB8,0x44,0xC1,0x68,0xE4,0x73,0xFF,0x9D,0xFF,0xFF,0xFF,0xFF,0xFF,0x7EDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xDF,0xF7,0xBF,0xF7,0xBF,0xEF,0xBFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xDF,0xFF,0xDF,0xF7,0xBF,0xF7,0xBF,0xF7,0x9F,0xEF,0x9E,0xEF,0x9EDB 0xEF,0x7E,0xEF,0x7E,0xE7,0x7E,0xE7,0x5E,0xE7,0x5D,0xE7,0x5D,0xDF,0x5D,0xDF,0x5D DB 0xE7,0x5E,0xE7,0x5E,0xE7,0x3E,0xE7,0x3E,0xE7,0x3E,0xE7,0x5E,0xE7,0x5E,0xE7,0x5E DB 0xE7,0x5D,0xE7,0x5E,0xE7,0x7E,0xEF,0x7E,0xEF,0x7E,0xEF,0x9E,0xEF,0x9F,0xF7,0xBFDB 0xEF,0x7E,0xEF,0x9E,0xF7,0x9E,0xEF,0x7E,0xEF,0x7D,0xEF,0x5E,0xE7,0x7E,0xE7,0x7FDB 0xEF,0x7D,0xEF,0x9E,0xF7,0xFF,0xE7,0x9E,0xB6,0x39,0x95,0x56,0x9D,0xD7,0xB6,0x9B DB 0xBF,0x1C,0xC7,0x1C,0xC7,0x3D,0xC7,0x5D,0xC7,0x3D,0xC7,0x1D,0xBE,0xFC,0xBE,0xDC DB 0xB6,0x9B,0xAE,0x5A,0x9D,0xD7,0x9D,0xB7,0xBE,0x79,0xE7,0x9E,0xFF,0xFF,0xFF,0xFF DB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x5E,0xED,0xD9,0xDB,0xF4,0xDA,0xD1,0xEA,0x91 DB 0xDA,0x90,0xDA,0xF1,0xE3,0x93,0xEC,0x55,0xE4,0xF8,0xDD,0x99,0xCD,0xF9,0xBE,0x19 DB 0xBE,0x5B,0xC6,0x7B,0xC6,0x7B,0xBE,0x5A,0xBE,0x3A,0xBE,0x3A,0xAD,0xD9,0xA5,0x57 DB 0x8C,0xF6,0xAC,0xD6,0xD4,0x56,0xE3,0x74,0xE2,0x91,0xDA,0x2F,0xDA,0x2F,0xDA,0x50 DB 0xE2,0x91,0xE2,0xD1,0xDB,0x32,0xDB,0x73,0xE4,0x35,0xE5,0x18,0xD5,0xB9,0xB5,0xF9 DB 0xD6,0xDC,0xEF,0x9F,0xF7,0xDF,0xEF,0x9F,0xEF,0x7E,0xEF,0x7E,0xE7,0x5E,0xDF,0x3EDB 0xE7,0x5F,0xF7,0x7F,0xF7,0x7E,0xFF,0xFF,0xFE,0x9B,0xD2,0xEE,0xC1,0x8A,0xD2,0x8D DB 0xEA,0xC,0xB9,0x89,0x88,0xE5,0x88,0xC5,0xB0,0xE7,0xC8,0xE8,0xD1,0x48,0xD1,0xCA DB 0xE2,0xB,0xCA,0x2E,0x58,0xEB,0x31,0x8E,0x31,0xAE,0x41,0x6E,0x49,0xAF,0x39,0xEF DB 0x49,0xF0,0x49,0xF0,0x49,0xF0,0x4A,0x11,0x4A,0x11,0x4A,0x11,0x4A,0x11,0x4A,0x11 DB 0x49,0xF1,0x49,0xF0,0x49,0xF0,0x49,0xD0,0x41,0xCF,0x41,0xAE,0x39,0x8E,0x39,0x8D DB 0x31,0x6C,0x21,0xB,0x21,0x29,0x18,0xA8,0x10,0x29,0x30,0xE5,0x9B,0xAB,0xCC,0xD2 DB 0xB4,0x4A,0x51,0x86,0x18,0x66,0x18,0xC8,0x20,0xE8,0x20,0xEA,0x18,0xA8,0x10,0x85 DB 0x10,0x85,0x10,0x85,0x10,0x85,0x10,0x85,0x10,0x85,0x10,0x86,0x10,0x87,0x10,0xA7 DB 0x10,0xC7,0x20,0x88,0x20,0xC9,0x28,0xC8,0x89,0x49,0xD1,0x69,0xC9,0x27,0xD0,0xE7 DB 0xB9,0x27,0xB8,0xE6,0xC9,0x7,0xC9,0x27,0xB8,0xE6,0xB9,0x27,0xD1,0xA9,0xD9,0xAA DB 0xC9,0x28,0xD9,0x28,0xD8,0xE7,0xD0,0xC6,0xD1,0x7,0xD9,0x7,0xD0,0xA7,0xD0,0x46 DB 0xC8,0xC7,0xA9,0x7,0xEC,0xD4,0xFF,0x7D,0xFF,0xFF,0xEF,0xFE,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xF7,0xDEDB 0xF7,0xBF,0xF7,0x9F,0xEF,0x9F,0xE7,0x7E,0xE7,0x7E,0xE7,0x5E,0xDF,0x5E,0xDF,0x5EDB 0xDF,0x1E,0xDF,0x1D,0xDF,0x1D,0xD7,0x1D,0xD7,0x1D,0xD7,0x1D,0xD7,0x1D,0xD7,0x1D DB 0xD7,0x1E,0xD6,0xFE,0xD6,0xFD,0xD6,0xFD,0xD6,0xFD,0xD6,0xFD,0xD6,0xFD,0xD6,0xFEDB 0xD6,0xFD,0xD7,0x1D,0xD7,0x1D,0xDF,0x3D,0xDF,0x3D,0xDF,0x5E,0xE7,0x5E,0xE7,0x7E DB 0xE7,0x7E,0xEF,0x7E,0xEF,0x7E,0xEF,0x7D,0xE7,0x5D,0xE7,0x3D,0xDF,0x3D,0xDF,0x3D DB 0xEF,0xBF,0xDF,0x5D,0xE7,0x7E,0xF7,0xFF,0xDF,0x7E,0xA5,0xD8,0x95,0x76,0xAE,0x59DB 0xBE,0xDB,0xBE,0xDC,0xBE,0xFC,0xC7,0x3D,0xC7,0x3D,0xBE,0xFC,0xB6,0xBB,0xAE,0x9B DB 0xA6,0x18,0xA5,0xD8,0xAD,0xF8,0xCE,0xBB,0xF7,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xEF,0x7DDB 0xFF,0xDE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFFDB 0xFF,0xDE,0xF7,0xDE,0xF7,0xFF,0xF7,0xBE,0xEE,0x9B,0xDD,0x17,0xDB,0xD3,0xE3,0x32 DB 0xDB,0x52,0xE3,0xD3,0xE4,0x96,0xE5,0x58,0xDD,0xDA,0xD6,0x3B,0xCE,0x7B,0xCE,0xBC DB 0xCE,0xFD,0xD7,0x1D,0xD7,0x1D,0xD6,0xFC,0xD6,0xFC,0xD6,0xDC,0xCE,0xBB,0xC6,0x5A DB 0xAD,0xDA,0xAD,0x99,0xBD,0x37,0xDC,0xB7,0xEB,0xF4,0xEB,0x32,0xE2,0xF1,0xDB,0x11 DB 0xEB,0x12,0xE3,0x32,0xE3,0x93,0xEC,0x55,0xEC,0xF8,0xDD,0x79,0xCD,0xD9,0xBE,0x3A DB 0xE7,0x7E,0xF7,0xFF,0xFF,0xFF,0xEF,0x9E,0xEF,0x7E,0xE7,0x5E,0xD6,0xFD,0xCE,0xBCDB 0xC6,0xBD,0xE6,0xFF,0xD6,0xBD,0xDF,0x9E,0xF7,0xBE,0xDC,0xF5,0xCA,0xCD,0xDA,0xCD DB 0xEA,0xC,0xB9,0x89,0x91,0x6,0x90,0xC5,0xB9,0x7,0xC8,0xE7,0xD1,0x28,0xD9,0xCADB 0xDA,0xA,0xCA,0x4E,0x71,0x4C,0x39,0x8D,0x31,0xAE,0x49,0x8F,0x49,0xD0,0x39,0xEF DB 0x49,0xF0,0x4A,0x11,0x52,0x31,0x52,0x31,0x52,0x52,0x52,0x31,0x52,0x31,0x52,0x31 DB 0x52,0x32,0x52,0x32,0x52,0x31,0x52,0x31,0x4A,0x10,0x4A,0x10,0x41,0xCF,0x41,0xAE DB 0x41,0xAE,0x29,0x2C,0x21,0x29,0x18,0xA9,0x10,0x9,0x30,0xA5,0x93,0x4A,0xBC,0x10 DB 0xA3,0xEB,0x39,0x5,0x10,0x26,0x18,0xC8,0x18,0xC7,0x18,0xA8,0x18,0x87,0x10,0x85DB 0x10,0x85,0x10,0x85,0x10,0x85,0x10,0x86,0x10,0x86,0x10,0x87,0x18,0xA8,0x18,0xC9 DB 0x19,0x9,0x28,0xCA,0x21,0xA,0x40,0xE9,0xB1,0x8B,0xD1,0x28,0xC8,0xE6,0xD0,0xC7DB 0xB1,0x6,0xA8,0xA5,0xC1,0x27,0xC1,0x27,0xB0,0xC6,0xC1,0x68,0xD9,0xEB,0xE1,0xEB DB 0xD9,0x8,0xD9,0x28,0xC8,0xE7,0xD8,0xE7,0xE0,0xE8,0xC0,0x65,0xB9,0x48,0xDB,0x8F DB 0xDB,0xF,0xC3,0xB0,0xF7,0x3C,0xEF,0xFE,0xE7,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xBF,0xF7,0xBF,0xEF,0xBEDB 0xE7,0x5E,0xE7,0x5E,0xDF,0x3E,0xDF,0x3E,0xD7,0x1E,0xD7,0x1D,0xD7,0x1D,0xD7,0x1D DB 0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD,0xCE,0xDD DB 0xCE,0xDD,0xC6,0xDD,0xC6,0xDD,0xC6,0xBD,0xC6,0xBD,0xC6,0xBD,0xC6,0xDD,0xC6,0xDD DB 0xC6,0xDE,0xCE,0xDD,0xCE,0xFD,0xCE,0xFD,0xCE,0xFD,0xD7,0x1D,0xD7,0x1D,0xDF,0x3D DB 0xE7,0x7E,0xE7,0x7E,0xEF,0x9E,0xEF,0x7E,0xE7,0x7D,0xDF,0x3D,0xD7,0x1C,0xD6,0xFC DB 0xDF,0x3E,0xDF,0x1D,0xD6,0xFD,0xE7,0x7E,0xE7,0xBF,0xC6,0xDC,0x9D,0xD7,0x95,0x96 DB 0xAE,0x5A,0xB6,0x7B,0xBE,0xDC,0xC7,0x1D,0xBF,0x1D,0xB6,0xBC,0xAE,0x7A,0xA6,0x39 DB 0x9D,0x96,0xB6,0x39,0xDF,0x3D,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xF7,0xBF,0xF7,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBE,0xAD,0x76DB 0xF7,0xBE,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xF7,0xDF,0xF7,0xBF,0xF7,0xBFDB 0xEF,0x7E,0xE7,0x7D,0xDF,0x9E,0xDF,0x9E,0xDE,0xFC,0xDD,0xFA,0xDC,0xF7,0xE4,0x76 DB 0xEC,0xB6,0xE5,0x18,0xDD,0x99,0xD5,0xDA,0xC6,0x1A,0xB6,0x3A,0xBE,0x9C,0xC6,0xDD DB 0xC6,0xDD,0xCE,0xFD,0xCF,0x1D,0xD7,0x3D,0xDF,0x5E,0xE7,0x7E,0xE7,0x5E,0xDF,0x3D DB 0xC6,0xBD,0xAE,0x3A,0xA5,0xB8,0xBD,0x57,0xE5,0x18,0xFC,0xB7,0xF4,0x55,0xE4,0x34 DB 0xEB,0xD3,0xE3,0xF3,0xEC,0x96,0xF5,0x59,0xE5,0xB9,0xCD,0x99,0xBE,0x19,0xC6,0xBC DB 0xEF,0xDF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0xF7,0x9E,0xE7,0x5E,0xD6,0xBC,0xC6,0x7BDB 0xB6,0x3A,0xB6,0x9C,0xB6,0xBC,0xCE,0xFE,0xDF,0xBF,0xF7,0xDF,0xF5,0x97,0xC9,0xAA DB 0xE2,0xC,0xC1,0xA9,0x99,0x6,0x98,0xE6,0xB9,0x7,0xC8,0xE7,0xD1,0x28,0xD9,0xA9DB 0xD9,0xEA,0xDA,0x6E,0x81,0x8C,0x41,0x6C,0x31,0xAE,0x49,0xB0,0x51,0xD0,0x41,0xEFDB 0x52,0x11,0x52,0x31,0x52,0x52,0x5A,0x52,0x5A,0x73,0x5A,0x72,0x5A,0x52,0x52,0x52 DB 0x5A,0x72,0x5A,0x72,0x5A,0x72,0x5A,0x52,0x5A,0x52,0x52,0x31,0x52,0x10,0x49,0xF0 DB 0x49,0xF0,0x29,0x2C,0x18,0xE8,0x18,0xA8,0x10,0x28,0x41,0x25,0x9B,0x68,0xB3,0xCC DB 0x83,0x2A,0x28,0x85,0x8,0x27,0x18,0xC8,0x18,0xA6,0x18,0x87,0x18,0x87,0x10,0xA5 DB 0x10,0x85,0x10,0x86,0x18,0xA6,0x18,0x87,0x18,0xA8,0x18,0xA8,0x20,0xC9,0x20,0xEA DB 0x21,0xA,0x29,0x2C,0x29,0x2B,0x51,0xA,0xC1,0x8B,0xD0,0xE7,0xC0,0xE6,0xC8,0xE7 DB 0xA0,0xE5,0xA0,0xA4,0xC1,0x47,0xB9,0x7,0xA8,0xE6,0xC9,0xCA,0xDA,0x2C,0xE2,0xB DB 0xE1,0x49,0xD0,0xC7,0xD8,0xE8,0xD8,0xE8,0xC0,0xC7,0xCA,0x8C,0xED,0x96,0xF7,0x7C DB 0xFE,0xFC,0xD6,0x79,0xE7,0xBE,0xE7,0xBE,0xFF,0xDF,0xFF,0xDF,0xF7,0xBE,0xF7,0xFF DB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFFDB 0xF7,0xDF,0xF7,0xBF,0xF7,0xBF,0xEF,0xBF,0xEF,0x9E,0xE7,0x7E,0xE7,0x7E,0xE7,0x5EDB 0xDF,0x3E,0xD7,0x1E,0xD7,0x1E,0xD6,0xFD,0xCE,0xDD,0xCE,0xDD,0xC6,0xBD,0xC6,0xBD DB 0xBE,0xBC,0xBE,0xBC,0xBE,0xBC,0xBE,0x9C,0xBE,0x9C,0xB6,0x9C,0xBE,0x7C,0xB6,0x7C DB 0xB6,0x7C,0xB6,0x7C,0xB6,0x7C,0xB6,0x7C,0xB6,0x7C,0xB6,0x9C,0xB6,0x9C,0xB6,0xBD DB 0xBE,0xBD,0xC6,0xBD,0xC6,0xBD,0xC6,0xBD,0xC6,0xBC,0xC6,0xDC,0xCE,0xDD,0xCE,0xFD DB 0xD7,0x1D,0xDF,0x5D,0xE7,0x7E,0xE7,0x9E,0xE7,0x7E,0xE7,0x5E,0xDF,0x3D,0xD7,0x1D DB 0xBE,0x5B,0xCE,0xDD,0xCE,0xFD,0xD6,0xFD,0xE7,0x9F,0xD7,0x5E,0xAE,0x59,0x95,0x76 DB 0xA5,0xF9,0xAE,0x3A,0xB6,0xBC,0xBE,0xFD,0xB6,0xDC,0xAE,0x5A,0xA5,0xF9,0x9D,0xD8 DB 0xB6,0x38,0xDF,0x7D,0xFF,0xFF,0xFF,0xDF,0xF7,0x7E,0xF7,0x9F,0xF7,0xDF,0xEF,0xBFDB 0xF7,0xBE,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0xFF,0xFF,0xFF,0xFF,0xF7,0x9E,0x6B,0x6EDB 0xF7,0x9E,0xFF,0xFF,0xFF,0xFF,0xF7,0xDF,0xEF,0xBF,0xEF,0x9F,0xE7,0x5E,0xDF,0x5EDB 0xD7,0x1D,0xC6,0xFD,0xBE,0xFC,0xB6,0xFD,0xBE,0xBC,0xCE,0x5B,0xD5,0xDA,0xE5,0x9A DB 0xE5,0xBA,0xDD,0xDB,0xCD,0xFA,0xB5,0xDA,0xA5,0xB9,0x9D,0xB9,0x9D,0xFA,0xA6,0x3B DB 0xAE,0x1B,0xAE,0x3B,0xBE,0x7C,0xC6,0xDD,0xD7,0x3E,0xDF,0x7F,0xD7,0x5E,0xCF,0x1D DB 0xCE,0xFE,0xB6,0xBC,0x9E,0x19,0xA5,0x98,0xCD,0x98,0xED,0x99,0xF5,0x79,0xE5,0x37 DB 0xEC,0xF7,0xEC,0xF7,0xED,0x79,0xED,0xFA,0xCD,0xB9,0xB5,0x77,0xBE,0x3A,0xD7,0x3E DB 0xEF,0xBE,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0xF7,0xBF,0xEF,0x5E,0xD6,0xDC,0xC6,0x7BDB 0xC6,0x59,0xB6,0x18,0xBE,0x3A,0xC6,0x9C,0xAE,0x9B,0xCF,0x7D,0xFE,0xFD,0xF4,0x15 DB 0xE2,0xC,0xC1,0xA9,0xA1,0x6,0xA0,0xE6,0xB9,0x7,0xC0,0xE7,0xC9,0x7,0xD9,0xA9DB 0xE2,0xB,0xDA,0x6E,0x91,0xCC,0x41,0x4B,0x31,0xAE,0x49,0xD1,0x51,0xF1,0x42,0x10 DB 0x52,0x32,0x52,0x52,0x5A,0x72,0x5A,0x93,0x5A,0x93,0x5A,0x93,0x5A,0x73,0x5A,0x73 DB 0x5A,0x73,0x5A,0x73,0x62,0x93,0x62,0x93,0x5A,0x73,0x5A,0x72,0x52,0x32,0x52,0x11 DB 0x49,0xD0,0x29,0xD,0x18,0xC8,0x18,0xA7,0x18,0x46,0x5A,0x6,0xBC,0x89,0xD4,0x8B DB 0x62,0x68,0x20,0x86,0x10,0x48,0x18,0xC8,0x18,0xA6,0x18,0x86,0x10,0x67,0x10,0xA5 DB 0x18,0x86,0x18,0xA6,0x18,0xA7,0x18,0xA8,0x20,0xC9,0x20,0xEA,0x29,0xB,0x29,0x2B DB 0x29,0x2B,0x29,0x4D,0x29,0x4C,0x69,0x4B,0xD1,0x4A,0xD0,0xE7,0xC1,0x26,0xC1,0x7 DB 0x98,0xC5,0xA0,0xA5,0xB9,0x47,0xB0,0xE6,0xB1,0x7,0xD2,0x2B,0xDA,0x2C,0xE2,0xB DB 0xC9,0x28,0xD9,0x8,0xD8,0x66,0xC0,0xC7,0xCB,0x4F,0xFE,0xFB,0xF7,0xFF,0xE7,0xFE DB 0xEF,0xDF,0xCF,0x7D,0xDF,0xBE,0xDF,0x7D,0xFF,0xDF,0xFF,0x9F,0xF7,0x9E,0xF7,0xFFDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xDF,0xF7,0xDFDB 0xEF,0xBF,0xEF,0x9F,0xE7,0x9F,0xE7,0x5E,0xDF,0x3E,0xD7,0x1D,0xD6,0xFD,0xCE,0xFD DB 0xCE,0xDD,0xC6,0xDD,0xC6,0xBC,0xC6,0x9C,0xBE,0x7C,0xBE,0x5C,0xBE,0x5B,0xBE,0x5B DB 0xB6,0x5B,0xB6,0x5B,0xB6,0x5B,0xB6,0x5B,0xB6,0x3A,0xAE,0x1A,0xAE,0x1A,0xAE,0x1A DB 0xAE,0x1A,0xAD,0xFA,0xAE,0x1A,0xAE,0x1A,0xAE,0x3A,0xAE,0x5B,0xAE,0x5B,0xAE,0x7B DB 0xB6,0x5C,0xB6,0x5C,0xB6,0x5C,0xB6,0x5B,0xB6,0x5B,0xB6,0x7B,0xBE,0x7B,0xBE,0x9C DB 0xBE,0xBC,0xCE,0xDD,0xD7,0x3D,0xDF,0x5E,0xE7,0x7E,0xDF,0x7E,0xDF,0x5E,0xDF,0x5EDB 0xC6,0xBC,0xC6,0x9C,0xB6,0x3A,0xBE,0x3A,0xD7,0x1E,0xDF,0x7F,0xC6,0xDC,0xA5,0xF9 DB 0x9D,0xB8,0xA6,0x19,0xAE,0x9B,0xB6,0xBB,0xA6,0x7A,0x9D,0xF8,0xA5,0xD8,0xAE,0x39 DB 0xE7,0xBE,0xEF,0xDF,0xF7,0xBF,0xEF,0x7E,0xEF,0x5E,0xEF,0x7E,0xE7,0x5E,0xDF,0x3DDB 0xE7,0x5D,0xF7,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0x4A,0x8ADB 0xEF,0x7E,0xF7,0xDF,0xF7,0xDF,0xE7,0x7E,0xDF,0x5E,0xD7,0x1D,0xCE,0xDD,0xC6,0xDD DB 0xBE,0x9C,0xB6,0x7C,0xA6,0x3B,0xA6,0x3B,0xAE,0x1B,0xB6,0x1B,0xC5,0xFA,0xD5,0xFB DB 0xCD,0xDA,0xCD,0xFA,0xBD,0xDA,0xB5,0xD9,0xA5,0x98,0x9D,0x98,0xA5,0x99,0xA5,0xB9 DB 0x9D,0xB9,0x9D,0xB9,0x9D,0x99,0xA5,0xDA,0xAE,0x1B,0xB6,0x7C,0xBE,0x9C,0xBE,0xBC DB 0xC6,0xBD,0xBE,0xBD,0xAE,0x7B,0x9D,0xD9,0xAD,0x78,0xC5,0x98,0xDD,0xD9,0xDD,0xD9 DB 0xED,0xFA,0xED,0xDA,0xE5,0xFA,0xD5,0xDA,0xAD,0x78,0x9D,0x77,0xBE,0x5A,0xE7,0x7F DB 0xEF,0x9E,0xF7,0xFF,0xFF,0xFF,0xFF,0xDF,0xFF,0xFF,0xF7,0xBF,0xE7,0x3E,0xDE,0xFDDB 0xBD,0xB6,0xCD,0x15,0xC4,0xD5,0xB5,0xD8,0xB6,0xBB,0xCF,0x1C,0xEE,0xFE,0xDE,0x3B DB 0xDA,0x2C,0xB9,0xA9,0xA0,0xE6,0xA0,0xC5,0xB1,0x7,0xC1,0x7,0xC9,0x7,0xD9,0x89DB 0xE1,0xEB,0xE2,0x4D,0xA2,0xD,0x49,0x4B,0x39,0xAF,0x49,0xB1,0x51,0xF1,0x4A,0x30DB 0x5A,0x52,0x5A,0x53,0x5A,0x73,0x62,0x93,0x62,0x94,0x62,0x94,0x62,0x93,0x62,0x93 DB 0x62,0x93,0x62,0x93,0x62,0x93,0x62,0x93,0x62,0x93,0x62,0x93,0x5A,0x72,0x5A,0x52 DB 0x41,0xB0,0x31,0x2E,0x18,0xC8,0x10,0x86,0x10,0x4,0x6A,0x66,0xCC,0xE9,0xDC,0xCA DB 0x41,0x65,0x18,0x86,0x10,0x89,0x10,0xC7,0x10,0xA5,0x18,0x87,0x10,0x66,0x10,0xA6 DB 0x18,0x86,0x18,0xA7,0x20,0xC8,0x20,0xCA,0x28,0xEA,0x29,0xB,0x31,0x4B,0x31,0x4C DB 0x31,0x4D,0x31,0x8E,0x29,0x6C,0x81,0x8C,0xD1,0xA,0xD9,0x7,0xB9,0x66,0xB9,0x6DB 0x90,0xC4,0xA0,0xC5,0xB9,0x47,0xA8,0xC6,0xB1,0x27,0xDA,0x6C,0xDA,0xB,0xE1,0xEB DB 0xD9,0x68,0xC8,0xC7,0xB8,0xC6,0xD3,0x6F,0xFF,0x5C,0xF7,0xFF,0xE7,0xDE,0xEF,0x9FDB 0xCF,0x3D,0xCE,0xFC,0xCF,0x1D,0xD7,0x1D,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBEDB 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,0xEF,0x9E,0xEF,0x9EDB 0xE7,0x5E,0xDF,0x5E,0xD7,0x3E,0xCE,0xFD,0xCE,0xDD,0xC6,0xBC,0xBE,0x9C,0xBE,0x9C DB 0xBE,0x7B,0xB6,0x7B,0xBE,0x5B,0xBE,0x5B,0xBE,0x3B,0xBE,0x3B,0xBE,0x3B,0xBE,0x3B DB 0xBE,0x3A,0xBE,0x5B,0xBE,0x5B,0xC6,0x5B,0xC6,0x5B,0xC6,0x5B,0xC6,0x3B,0xC6,0x3B DB 0xBE,0x5B,0xBE,0x3B,0xBE,0x3B,0xB6,0x3B,0xB6,0x3B,0xB6,0x5B,0xB6,0x5B,0xB6,0x5B DB 0xB6,0x3B,0xB6,0x3B,0xB6,0x3B,0xAE,0x1B,0xAE,0x1A,0xAE,0x3A,0xAE,0x3B,0xAE,0x5B DB 0xB6,0x7C,0xBE,0x7C,0xC6,0xBC,0xCE,0xDD,0xD6,0xFD,0xD7,0x1D,0xD7,0x3E,0xD7,0x3E DB 0xD7,0x7F,0xC6,0xBC,0xAD,0xF9,0xA5,0xB8,0xB6,0x3A,0xD7,0x1E,0xCF,0x1E,0xB6,0x7B DB 0x95,0x97,0x9D,0xF8,0xA6,0x5A,0xA6,0x7A,0x9E,0x18,0x9D,0xD7,0xB6,0x5A,0xD7,0x3D DB 0xFF,0xFF,0xE7,0x7D,0xD7,0x1C,0xDF,0x7E,0xE7,0x7E,0xD6,0xFD,0xD6,0xDC,0xDF,0x1D DB 0xEF,0x9E,0xE7,0x3D,0xD6,0xDB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0x9E,0x4A,0x69DB 0xD6,0xFC,0xDF,0x5E,0xDF,0x5E,0xCE,0xFD,0xC6,0xBC,0xBE,0x9C,0xB6,0x5B,0xB6,0x5B DB 0xAE,0x1A,0xAD,0xFA,0xAD,0xDA,0xAD,0xDA,0xAD,0xDA,0xBD,0xDA,0xC5,0xFA,0xCE,0x1A DB 0xC5,0xF9,0xC5,0xD9,0xC5,0xB9,0xBD,0xB8,0xBD,0xB8,0xBD,0x98,0xBD,0x98,0xBD,0x78 DB 0xAD,0x98,0xA5,0x98,0xA5,0x79,0xA5,0x79,0x9D,0x79,0xA5,0x99,0xAD,0xFA,0xB6,0x3B DB 0xB6,0x5B,0xBE,0x5B,0xB6,0x3C,0xAD,0xFA,0x9D,0xB9,0x9D,0x98,0xB5,0xB9,0xD5,0xFA DB 0xDE,0x1B,0xDE,0x1B,0xD5,0xDA,0xB5,0x99,0x9D,0x77,0xA5,0xD8,0xC6,0x9B,0xE7,0x3E DB 0xEF,0x7E,0xF7,0xDF,0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xF7,0xBF,0xEF,0x9EDB 0xF7,0x9D,0xEE,0x5A,0xBC,0x52,0xA4,0x51,0xC5,0xD7,0xEE,0xFC,0xF7,0x3E,0xD6,0xDC DB 0xD2,0x2B,0xB9,0x89,0xA0,0xC5,0xA0,0xC5,0xB1,0x6,0xB9,0x6,0xC1,0x7,0xD1,0x88DB 0xD9,0xCA,0xE2,0x4D,0xBA,0x6E,0x59,0x8C,0x41,0xCF,0x41,0xB1,0x51,0xF1,0x5A,0x71 DB 0x5A,0x73,0x5A,0x73,0x62,0x93,0x62,0x94,0x62,0x94,0x62,0x94,0x62,0x94,0x62,0x94 DB 0x62,0x93,0x62,0x93,0x62,0x93,0x62,0x94,0x62,0x94,0x62,0x93,0x62,0x73,0x5A,0x73。
完整的汇编程序
题目:字符游戏1随机显示字符ch,等待用户输入如果输入字符与ch 一致,则随机显示下一个字符ch2;否则显示“输入错误”;如此循环;输入Enter结束点击Enter程序退出;程序清单:1、定义数据段、代DA TA SEGMENTSTR1 DB 0DH,0AH,'$'STR2 DB 'YOU ARE WRONG',0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART:MOV AX,DA TAMOV DS,AXLP:MOV AH,2CH;读取秒的百分之一INT 21HMOV AL,DLMOV AH,0MOV BL,52DIV BLCMP AH,26JB CONTINUEADD AH,6CONTINUE:ADD AH,65MOV BH,AHMOV DL,AHMOV AH,2INT 21HCALL HHMOV AH,1INT 21HCALL HHCMP AL,0DHJE EXITCMP BH,ALJNE LP1JMP LPLP1:CALL CCJMP LPEXIT:MOV AH,4CHINT 21HHH PROC NEARPUSH AXPUSH DXLEA DX,STR1MOV AH,9INT 21HPOP DXPOP AXRETHH ENDPCC PROC NEARPUSH AXPUSH DXLEA DX,STR2MOV AH,9INT 21HPOP DXPOP AXRETCC ENDPCODE ENDSEND START汇编程序说明:1、定义数据段、代码段、堆栈段及其中所用到的变量2、调用2CH号功能,读取当前时间秒的百分之一除以52,余数作为产生随机字符的变量3、当上述变量在0~25之间时,利用JB跳转到CONTINUE。
在CONTINUE中将变量加上65得到大写字母A~Z吃的ASCII值,调用2号功能将其输出;调用子程序HH实现换行后调用1号功能实现键盘输入字符;此字符若是ENTER,退出程序,若与现实的字符相同,继续步骤2,若不同,挑战到CC,显示YOU ARE WRONG4、当上述变量在26~51之间时直接执行CONTINUE指令,与3同5、定义指令语句LP1实现调用过程CC和跳转到步骤2;定义指令语句EXIT,调用4CH功能实现退出程序;6、定义过程HH,调用9号功能,实现换行;定义过程CC实现输入的字符与现实的现实的字符不一致的时候显示YOU ARE WRONG7、代码段结束,程序结束。
常见汇编程序源代码示例
ret
disp endp
done:
call dispcrlf
mov eax,offset maxn
call dispmsg
mov eax,ecx
call dispuid
call dispcrlf
exit 0
end start
;运行结果:
;1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 2
thirdsmall:
mov eax,edx
mov edx,ecx
mov ecx,ebx
mov ebx,eax
jmp order
;如果第三个数在最中间
thirdmid:
xchg ecx,edx
jmp order
;执行至此,三个数(ebx,ecx,edx)已经从小到大排序
order:
mov eax,ebx
jmp last
zhijiao:
mov eax,offset msg_zhijiao
call dispmsg
jmp last
dengbian:
mov eax,offset msg_dengbian
call dispmsg
jmp last
dengyao:
mov eax,offset msg_dengyao
xor edx,edx;数组下标
again:
mov eax,array[edx*4];取出下标为edx的数组元素
inc edx
cmp eax,0
jg positive
msg_wrong byte 'wrong',13,10,0;无法构成三角形
汇编语言程序设计的实验环境及上机步骤
汇编语言程序设计的实验环境及上机步骤一、实验环境汇编语言程序设计的实验环境如下:1.硬件环境微型计算机(Intel x86系列CPU)一台2.软件环境⏹Windows98/2000/XP操作系统⏹任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)⏹汇编程序(MASM.EXE或TASM.EXE)⏹连接程序(LINK.EXE或TLINK.EXE)⏹调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。
二、上机实验步骤注:以下步骤适用于除汇编语言程序设计的实验一到实验四外的所有实验(实验一到实验四仅使用TD.EXE)。
1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。
2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。
下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。
在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“ C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。
图1 文本编辑器EDIT的编辑窗口窗口标题行显示了EDIT程序的完整路径名。
紧接着标题行下面的是菜单行,窗口最下面一行是提示行。
菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。
汇编做的字符显示程序
目录一.论文题目 (2)二.技术参数 (2)三.设计步骤 (2)1.数据段 (2)2. 主程序 (2)3. 清屏子程序 (3)4. 显示子程序 (3)五.程序代码 (4)六.程序运行结果 (16)七.设计体会 (17)八.参考文献 (17)九.附录 (17)一.论文题目字符图案显示程序二.技术参数1.通过编程将字符数据直接置入显示存储区,文本方式下屏幕上的字符位置所对应的显示缓冲区的偏移地址为:行号(0~24)×160+列号(0~79)×2。
2.BOIS功能调用:int 10H在本程序中发回了至关重要的作用。
在图形方式下,可以利用BOIS 的int 10h功能对屏幕上的像素进行读写和处理。
例如设置彩色文本方式:mov ah,0 ,mov al,3,int10h;取当前显示方式:mov ah,0fh ,int 10h,;置光标位置:mov ah,2 ,int 10h;显示字符:mov ah,09 ,int 10h等3.DOS系统功能调用(21H)。
从键盘输入字符:mov ah,01h ,int 21h,带返回码终止:mov ah,4ch ,int 21h。
三.设计步骤1.数据段在数据段中设置要显示“科技大学”图案的字符图形表。
图形表主要包括每个字符的ASCII,属性,以及在显示图形中的相对位移量(行、列坐标)四个参数组成。
其中,ASCII决定了用何种字符显示要求图案。
行、列坐标恰当的排列决定了图形的完整性和美观性。
2.主程序在主程序中完成初始化DOS,设置彩色文本方式等功能。
其中清屏子程序、显示子程序。
并且设置了退出的操作,操作者可以按空格退出,回到DOS界面。
3.清屏子程序INT 10H功能6使屏幕内容上卷指定的行,这个功能需要设置7个参数。
AH、BH、CH、CL、DH、DL分别表示了上卷行数、初始化窗口、卷入行属性、左上角行列号和右上角行列号。
在做这项工作前,将寄存器压栈保护寄存器,最后再出栈回复寄存器。
汇编语言实现文本编辑器
汇编语言实现文本编辑器
1.插入文本:用户可以在光标位置插入文本或者在指定位置插入文本。
通过汇编语言的内存操作指令,我们可以将后续的文本向后移动,腾出空
间来插入新的文本。
2.删除文本:用户可以删除光标位置或者指定位置的文本。
通过汇编
语言的内存操作指令,我们可以将后续的文本向前移动,填补被删除文本
的空白。
3.替换文本:用户可以替换当前光标位置或者指定位置的文本。
通过
汇编语言的内存操作指令,将待替换的文本覆盖到目标位置上即可。
4.查找文本:用户可以输入关键字,查找文本中包含该关键字的所有
位置。
通过汇编语言的循环和比较指令,我们可以逐个字符地遍历文本,
进行关键字的匹配。
除了上述基本功能外,我们还可以添加其他高级功能:
1.定位行:用户可以根据行号直接跳转到指定行。
通过计算行号与内
存地址的偏移,可以在汇编语言中实现该功能。
2.撤销和重做:用户可以撤销或者重做上一次的操作。
通过记录每次
操作的历史,可以在撤销和重做的时候重新应用或者回滚操作。
3.自动缩进:对于一些编程语言,我们可以根据语法规则自动缩进代码。
通过解析文本中的关键字和符号,可以实现自动缩进功能。
12864液晶屏汇编程序
12864液晶屏汇编程序[ 作者:佚名 | 转贴自:本站原创 | 点击数:211 | 更新时间:2005-3-28 | 文章录入:qwll20000 ] XCS BIT 00H ;显示器片选0=CS1,1=CS2 ;20H-2FH为位寻址区,位地址从00H-7FH BZPD BIT 01H ;0=上8X8半字,1=下8X8半字HHBZ BIT 02H ;换行标志HZDH BIT 03H ;0=显示汉字,1=显示动画LCD_RW BIT P3.0LCD_DI BIT P3.1LCD_E BIT P3.3LCD_CS1 BIT P3.5LCD_CS2 BIT P3.4LCD_OPEN DA TA 30HLCD_LINE DATA 31HLCD_PAGE DATA 32HLCD_Y DA TA 33HYCPD DA TA 34H ;左右半屏溢出判断HHPD DA TA 35H ;换行判断XWPD DA TA 36H ;写完一整屏判断ORG 0000HMOV SP,#40HSETB XCS ;选择CS2MOV LCD_OPEN,#01H ;开显示器1,关显示器0LCALL LCDOPENMOV LCD_LINE,#00H ;设置起始行LCALL SETLINEMOV LCD_PAGE,#00H ;设置页地址 LCALL SETPAGEMOV LCD_Y,#00H ;设置列地址 LCALL SETYLJMP CLRST1CLR4:INC LCD_PAGECLRST1:LCALL SETPAGEMOV R7,#40HCLR5:MOV A,#0FFH ;显示校验LCALL LCDWRDATADJNZ R7,CLR5MOV A,LCD_PAGECJNE A,#07H,CLR4MOV LCD_LINE,#00HLCALL SETLINEMOV LCD_PAGE,#00HLCALL SETPAGEMOV LCD_Y,#00HLCALL SETYLJMP CLRST2CLR6:INC LCD_PAGECLRST2:LCALL SETPAGEMOV R7,#40HCLR7:MOV A,#00H ;清显示LCALL LCDWRDATADJNZ R7,CLR7MOV A,LCD_PAGECJNE A,#07H,CLR6CLR XCS ;选择CS1MOV LCD_OPEN,#01H ;开显示器1, 关显示器0 LCALL LCDOPENMOV LCD_LINE,#00HLCALL SETLINE ;设置起始行MOV LCD_PAGE,#00HLCALL SETPAGE ;设置页地址MOV LCD_Y,#00HLCALL SETY ;设置列地址LJMP CLRST3CLR0:INC LCD_PAGECLRST3:LCALL SETPAGEMOV R7,#40HCLR1:MOV A,#0FFH ;显示校验LCALL LCDWRDATADJNZ R7,CLR1MOV A,LCD_PAGECJNE A,#07H,CLR0MOV LCD_LINE,#00HLCALL SETLINEMOV LCD_PAGE,#00HLCALL SETPAGEMOV LCD_Y,#00HLCALL SETYLJMP CLRST4CLR2:INC LCD_PAGECLRST4:LCALL SETPAGEMOV R7,#40HCLR3:MOV A,#00H ;清显示LCALL LCDWRDATADJNZ R7,CLR3MOV A,LCD_PAGECJNE A,#07H,CLR2;初始化完毕************************************************************************* CLR HZDHWRLCD:JNB HZDH,XZFXDH:MOV DPTR,#DHDOT ;写动画或图片LJMP DH0XZF:MOV DPTR,#HZDOT ;写字符(汉字或字母或符号)MOV XWPD,#00HHZ0:CLR XCSMOV LCD_LINE,#00H ;置起始行LCALL SETLINEMOV LCD_PAGE,#00HLCALL SETPAGE ;置页MOV LCD_Y,#00H ;置列LCALL SETYMOV HHPD,#00HHZ7:MOV YCPD,#00HHZ8:CLR BZPDHZ3:MOV R0,#08H ;写左上8个Y列HZ1:MOV A,#00HMOVC A,@A+DPTRLCALL LCDWRDATAINC DPTRINC LCD_YDJNZ R0,HZ1JB BZPD,HZ2CLR C ;Y列减8, 即返回扫描MOV A,LCD_YSUBB A,#08HMOV LCD_Y,ALCALL SETYINC LCD_PAGE ;页地址加1,即换第2页扫描 LCALL SETPAGESETB BZPDLJMP HZ3HZ2:DEC LCD_PAGE ;返回到第1页中,准备下一个半字扫描 LCALL SETPAGEINC YCPDMOV A,YCPDCJNE A,#08H,HZ8JB XCS,HZ9SETB XCS ;换屏LCALL SETPAGEMOV LCD_Y,#00H ;置列LCALL SETYLJMP HZ7HZ9:CLR XCS ;写完一行后从CS2返回到CS1中INC LCD_PAGEINC LCD_PAGELCALL SETPAGE ;下一行开始MOV LCD_Y,#00HLCALL SETYINC HHPDMOV A,HHPDCJNE A,#04H,HZ7INC XWPD ;换第二幅画面MOV A,XWPDCJNE A,#02H,HZ0LJMP$DH0:MOV XWPD,#00HDH1:CLR XCSMOV LCD_LINE,#00H ;置起始行 LCALL SETLINEMOV LCD_PAGE,#00HLCALL SETPAGE ;置页MOV LCD_Y,#00H ;置列LCALL SETYMOV HHPD,#00HDH2:MOV R0,#40H ;写上64个Y列 DH3:MOV A,#00HMOVC A,@A+DPTRLCALL LCDWRDATAINC DPTRDJNZ R0,DH3JB XCS,DH4SETB XCSLCALL SETPAGEMOV LCD_Y,#00HLCALL SETYLJMP DH2DH4:CLR XCS ;写完一行后从CS2返回到CS1中 INC LCD_PAGELCALL SETPAGE ;下一行开始MOV LCD_Y,#00HLCALL SETYINC HHPDMOV A,HHPDCJNE A,#08H,DH2INC XWPD ;换第二幅画面MOV A,XWPDCJNE A,#02H,DH1LJMP$LCDWRINST:NOPJB XCS,INS0CLR LCD_CS1SETB LCD_CS2LJMP INS1INS0:SETB LCD_CS1CLR LCD_CS2INS1:SETB LCD_ECLR LCD_DICLR LCD_RWMOV P1,ALCALL DLY10CLR LCD_ELCALL DLY10RETLCDWRDATA:NOPJB XCS,DA T0CLR LCD_CS1SETB LCD_CS2LJMP DA T1DA T0:SETB LCD_CS1CLR LCD_CS2DA T1:SETB LCD_ESETB LCD_DICLR LCD_RWMOV P1,ALCALL DLY10CLR LCD_ELCALL DLY10NOPRETLCDOPEN:MOV A,LCD_OPEN ;开显示器 ANL A,#3FHORL A,#3EHLCALL LCDWRINSTNOPRETSETLINE:MOV A,LCD_LINEORL A,#0C0H ;设置起始行LCALL LCDWRINSTRETSETPAGE:MOV A,LCD_PAGEANL A,#0BFHORL A,#0B8H ;设置页地址 LCALL LCDWRINSTNOPRETSETY:MOV A,LCD_YANL A,#7FHORL A,#40HNOP ;设置列地址LCALL LCDWRINSTNOPRETDL Y10:NOPMOV R5,#01HDL1:MOV R4,#01HDL2:MOV R6,#0FHDL3:DJNZ R6,DL3DJNZ R4,DL2DJNZ R5,DL1NOPRETHZDOT:;新 CD0C2DB 000H,044H,04CH,07CH,0D7H,0E6H,07CH,05CH DB 000H,022H,01AH,04EH,0FFH,07FH,00EH,09AH DB 044H,0FEH,0FCH,046H,0C2H,0C3H,062H,040H DB 060H,03FH,01FH,000H,0FFH,0FFH,000H,000H;年 CC4EADB 000H,020H,010H,018H,0ECH,0CFH,04AH,048H DB 000H,004H,004H,004H,007H,007H,004H,004H DB 0F8H,0F8H,048H,048H,068H,04CH,008H,000H DB 0FFH,0FFH,004H,004H,004H,004H,006H,004H;快 CBFECDB 000H,0C0H,060H,0FFH,0FEH,030H,060H,008H DB 000H,000H,000H,0FFH,07FH,080H,041H,071H DB 008H,0FFH,0FEH,008H,0F8H,0FCH,008H,000H DB 03DH,00FH,007H,00DH,039H,071H,0E1H,041H;乐 CC0D6DB 000H,000H,080H,080H,0FEH,0FCH,084H,084H DB 000H,040H,020H,030H,01CH,00EH,024H,040H DB 0FEH,0F6H,082H,083H,0C2H,080H,000H,000H DB 0FFH,07FH,000H,002H,00CH,018H,070H,020H;欢 CBBB6DB 000H,034H,0C4H,004H,0C4H,0FCH,03EH,024H DB 000H,040H,038H,00FH,007H,03CH,098H,060H DB 018H,00EH,0EFH,0CAH,048H,038H,01CH,008H DB 030H,01CH,00FH,007H,01CH,070H,0E0H,040H;迎 CD3ADDB 000H,040H,046H,0DCH,0E8H,040H,0FEH,0FCH DB 000H,040H,0E0H,03FH,01FH,032H,067H,0C3H DB 006H,003H,0FDH,0FCH,004H,0FCH,0FEH,004H DB 0C2H,0C1H,0FFH,0DFH,0C2H,0C7H,0C3H,040H;使 CCAB9DB 000H,080H,060H,0F8H,0EFH,006H,008H,0F8H DB 000H,000H,000H,0FFH,07FH,080H,080H,043H DB 0E8H,028H,0FFH,0FEH,028H,0E8H,0FCH,028H DB 065H,039H,01FH,037H,061H,063H,0C1H,040H;用 CD3C3DB 000H,000H,000H,0FFH,0FEH,022H,022H,022H DB 000H,080H,070H,03FH,00FH,002H,002H,002H DB 0FEH,0FEH,022H,022H,022H,0FEH,0FFH,002H DB 07FH,03FH,002H,042H,042H,0FFH,07FH,000H;杭 CBABCDB 000H,010H,0D0H,0FFH,0FEH,090H,010H,008H DB 000H,006H,001H,0FFH,07FH,001H,083H,040H DB 0E8H,0C9H,04FH,04EH,0C8H,0E8H,04CH,008H DB 07FH,03FH,000H,000H,07FH,0FFH,0C0H,070H;州 CD6DDDB 000H,010H,0E0H,0C0H,0FFH,0FEH,010H,0E0H DB 000H,080H,041H,070H,03FH,00FH,000H,001H DB 0C0H,0FEH,0FCH,030H,0E0H,0C0H,0FFH,0FEH DB 000H,03FH,01FH,000H,001H,000H,0FFH,07FH;求 CC7F3DB 000H,000H,008H,068H,0C8H,088H,008H,0FFH DB 000H,010H,070H,038H,00DH,026H,041H,0FFH DB 0FEH,088H,0CBH,07EH,02CH,008H,000H,000H DB 07FH,003H,006H,01CH,038H,070H,020H,000H;是 CCAC7DB 000H,080H,080H,080H,0FFH,0BEH,0AAH,0AAH DB 000H,080H,060H,038H,00FH,01AH,030H,020H DB 0AAH,0AAH,0AAH,0FEH,0BFH,082H,0C0H,080H DB 07FH,07FH,044H,0C4H,0C6H,0C4H,0C0H,040H;医 CD2BDDB 000H,000H,0FFH,0FEH,042H,0A2H,0BAH,09EH DB 000H,040H,0FFH,07FH,060H,050H,058H,04CH DB 096H,0F2H,0F2H,092H,09AH,0D3H,082H,000H DB 046H,043H,041H,046H,04CH,058H,068H,040H;学 CD1A7DB 000H,010H,038H,01CH,00BH,04EH,048H,04BH DB 000H,000H,004H,004H,004H,004H,044H,044HDB 04EH,0C8H,0ECH,04FH,00AH,038H,01CH,008H DB 0FFH,07FH,004H,004H,004H,006H,004H,000H;科 CBFC6DB 000H,024H,0A4H,0FEH,0FEH,0A3H,022H,0C0H DB 000H,00CH,003H,0FFH,07FH,001H,00BH,008H DB 08CH,038H,010H,0FFH,0FEH,000H,000H,000HDB 00BH,005H,004H,0FFH,07FH,002H,003H,002H;技 CBCBCDB 000H,010H,010H,0FFH,0FEH,010H,098H,048H DB 000H,00CH,046H,0FFH,07FH,001H,080H,040H DB 0C8H,048H,07FH,07EH,0C8H,0E8H,04CH,008H DB 061H,037H,01CH,01EH,037H,061H,0E0H,040H;有 CD3D0DB 000H,084H,044H,064H,034H,0FCH,0EFH,026H DB 000H,000H,000H,000H,000H,0FFH,07FH,009H DB 024H,024H,024H,0E4H,0F4H,024H,006H,004H DB 009H,009H,049H,0FFH,07FH,000H,000H,000H;限 CCFDEDB 000H,0FFH,0FEH,042H,0BEH,01FH,002H,0FFH DB 000H,0FFH,0FFH,008H,01FH,00FH,040H,0FFH DB 0FEH,092H,092H,092H,0FEH,0FFH,002H,000H DB 07FH,061H,036H,01CH,039H,06EH,0E4H,040H;公 CB9ABDB 000H,000H,080H,0C0H,070H,03EH,00FH,082H DB 000H,001H,000H,060H,0F0H,078H,06EH,067H DB 0C0H,080H,00FH,03EH,070H,0E0H,0C0H,080H DB 021H,022H,026H,03CH,0F8H,070H,001H,000H;司 CCBBEDB 000H,000H,010H,0D2H,092H,092H,092H,092H DB 000H,000H,000H,01FH,00FH,008H,008H,008HDB 01FH,00FH,000H,040H,040H,0FFH,07FH,000H;地 CB5D8DB 000H,020H,020H,0FEH,0FCH,020H,060H,0F8H DB 000H,010H,030H,01FH,01FH,008H,004H,07FH DB 0F0H,020H,0FFH,0FEH,010H,0F0H,0F8H,010H DB 0FFH,0C0H,0C7H,0C7H,0C2H,0C7H,0F3H,040H;址 CD6B7DB 000H,020H,020H,0FEH,0FCH,020H,020H,0E0H DB 000H,010H,030H,03FH,01FH,058H,048H,07FH DB 0C0H,000H,000H,0FFH,0FEH,040H,060H,040H DB 07FH,040H,040H,07FH,07FH,040H,060H,040H;: CA3BADB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,036H,036H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H;通 CCDA8DB 000H,040H,046H,0DCH,0E8H,040H,000H,0F9H DB 000H,040H,0E0H,03FH,01FH,030H,060H,0FFH DB 0F1H,055H,0FDH,0F9H,057H,0F3H,0F9H,010H DB 0DFH,0C2H,0DFH,0CFH,0D2H,0FFH,0DFH,040H;惠 CBBDDDB 000H,000H,002H,0FEH,0FAH,0AAH,0AAH,0FFHDB 0FFH,0AAH,0AAH,0FAH,0FEH,00AH,000H,000H DB 0FBH,0D2H,0C2H,0F2H,04FH,016H,070H,020H;北 CB1B1DB 000H,020H,020H,020H,020H,0FEH,0FEH,000H DB 000H,020H,060H,020H,010H,0FFH,0FFH,000H DB 000H,0FFH,0FEH,082H,0C0H,060H,038H,010H DB 000H,07FH,0FFH,0C1H,0C0H,0C0H,0F0H,040H;路 CC2B7DB 000H,07FH,03EH,0E2H,0BEH,07FH,002H,010H DB 000H,07CH,060H,03FH,03FH,012H,00BH,001H DB 08CH,0DFH,066H,074H,0DCH,08EH,004H,000H DB 0FFH,07EH,042H,042H,0FEH,07FH,003H,001H;2 CHAR_32DB 008H,00CH,084H,0C4H,064H,03CH,018H,000H DB 00EH,00FH,009H,008H,008H,00CH,00CH,000H;8 CHAR_38DB 0B8H,0FCH,044H,044H,044H,0FCH,0B8H,000H DB 007H,00FH,008H,008H,008H,00FH,007H,000H;号 CBAC5DB 000H,080H,080H,080H,0BFH,09EH,092H,092H DB 000H,000H,000H,000H,004H,00EH,007H,005H DB 092H,092H,092H,0BEH,09FH,082H,0C0H,080H DB 024H,044H,0E4H,07CH,01EH,004H,000H,000H;电 CB5E7DB 000H,000H,0F8H,0F0H,090H,090H,090H,0FFH DB 000H,000H,00FH,007H,004H,004H,004H,07FH DB 0FEH,090H,090H,090H,0F0H,0F8H,010H,000H DB 0FFH,0C4H,0C4H,0C4H,0CFH,0C7H,0F0H,040H;话 CBBB0DB 000H,040H,046H,0DCH,0E8H,040H,020H,024H DB 000H,000H,020H,07FH,03FH,010H,008H,0FFH DB 024H,024H,0FEH,0FEH,026H,023H,032H,020H DB 07EH,042H,043H,043H,042H,0FEH,07FH,002H;: CA3BADB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,036H,036H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H;0 CHAR_30DB 0F8H,0FCH,004H,0C4H,024H,0FCH,0F8H,000H DB 007H,00FH,009H,008H,008H,00FH,007H,000H;5 CHAR_35DB 07CH,07CH,044H,044H,0C4H,0C4H,084H,000H DB 004H,00CH,008H,008H,008H,00FH,007H,000H;7 CHAR_37DB 00CH,00CH,004H,084H,0C4H,07CH,03CH,000HDB 000H,000H,00FH,00FH,000H,000H,000H,000H;1 CHAR_31DB 000H,010H,018H,0FCH,0FCH,000H,000H,000H DB 000H,008H,008H,00FH,00FH,008H,008H,000H;- CHAR_2DDB 080H,080H,080H,080H,080H,080H,080H,000H DB 000H,000H,000H,000H,000H,000H,000H,000H;8 CHAR_38DB 0B8H,0FCH,044H,044H,044H,0FCH,0B8H,000H DB 007H,00FH,008H,008H,008H,00FH,007H,000H;2 CHAR_32DB 008H,00CH,084H,0C4H,064H,03CH,018H,000H DB 00EH,00FH,009H,008H,008H,00CH,00CH,000H;6 CHAR_36DB 0F0H,0F8H,04CH,044H,044H,0C0H,080H,000H DB 007H,00FH,008H,008H,008H,00FH,007H,000H;0 CHAR_30DB 0F8H,0FCH,004H,0C4H,024H,0FCH,0F8H,000H DB 007H,00FH,009H,008H,008H,00FH,007H,000H;4 CHAR_34DB 0C0H,0E0H,0B0H,098H,0FCH,0FCH,080H,000H DB 000H,000H,000H,008H,00FH,00FH,008H,000H;7 CHAR_37DB 00CH,00CH,004H,084H,0C4H,07CH,03CH,000HDB 000H,000H,00FH,00FH,000H,000H,000H,000H;1 CHAR_31DB 000H,010H,018H,0FCH,0FCH,000H,000H,000HDB 000H,008H,008H,00FH,00FH,008H,008H,000H;5 CHAR_35DB 07CH,07CH,044H,044H,0C4H,0C4H,084H,000HDB 004H,00CH,008H,008H,008H,00FH,007H,000HDHDOT:;-------------------------------------------------------------------------------DB000H,000H,000H,000H,000H,000H,000H,000H,007H,0E7H,0E3H,0E1H,0E1H,0E1H,0E1H,0C1H, DB0C1H,081H,081H,081H,083H,083H,083H,083H,087H,087H,08FH,08FH,09FH,0BFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F3H,0F3H,0F1H,0E1H,061H,061H,020H, DB030H,030H,0B0H,0B0H,0B0H,0B8H,0B8H,0BCH,0BCH,03EH,03EH,03FH,03FH,07FH,07FH,07FH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FEH,0FCH,0FCH,0FCH,0FEH,0FFH, DB0F7H,0E3H,0E7H,0EFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H,000H, DB000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,07FH,0FFH,0F3H,083H,083H,081H,DB001H,001H,000H,080H,080H,000H,002H,002H,002H,006H,004H,0A5H,0EDH,0EDH,0EBH,0DBH, DB0F7H,0BFH,07FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F7H,089H,080H,082H,0C0H,080H, DB000H,000H,000H,000H,000H,088H,0C0H,0F8H,0F8H,0F8H,0F0H,0F0H,0E0H,0C0H,0C0H,0F0H, DB0F8H,0F8H,0FCH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FH,000H,000H,000H, DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,07FH,0FFH,0FFH,0FFH,0FFH,DB0FFH,0FEH,0FFH,0FFH,0FFH,0FFH,0FEH,0FEH,0FEH,0FEH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,03FH,00FH,003H,000H,000H,000H,000H,000H, DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,03FH,03FH,07FH,0BFH,03FH,03FH, DB03FH,01FH,01FH,00FH,007H,007H,001H,000H,000H,000H,000H,000H,000H,000H,000H,000H, DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H,03FH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,01FH,000H,000H,07CH,0FFH,0FFH,078H, DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,003H,0FFH,DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0E3H,0E3H,0C3H,087H,08FH,01FH,01FH,0BFH,0BFH,0FFH,0FFH, DB0FFH,0F7H,0F3H,0F3H,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,07FH,07FH,07FH,07FH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FH,000H,000H,000H,000H,000H,000H,000H, DB000H,000H,000H,000H,000H,000H,0E0H,0F8H,0FCH,0FEH,0FEH,0FEH,0FEH,0FEH,0FCH,0FCH, DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0F8H,0FFH,DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,DB0FFH,0FDH,0F9H,0F3H,0E7H,0C7H,087H,007H,007H,0C7H,087H,087H,08FH,08FH,08FH,0CFH, DB0CFH,0DFH,0FFH,09FH,0DFH,0DFH,0FFH,0CFH,0EFH,0EFH,0FFH,0FFH,0CFH,0CFH,0E7H,0E7H, DB0E3H,0E3H,0E3H,0F1H,0F9H,0F9H,0F8H,0FCH,0FCH,0FEH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,03FH,00FH,007H,000H,000H,000H,000H,000H,000H,000H,000H,000H,DB000H,000H,000H,000H,000H,000H,000H,007H,027H,07FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0E0H,0FCH,0FFH,0FFH,DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F8H,0F1H,0F3H,0E7H,0CFH,0CFH,0DFH,0DFH, DB09FH,09FH,0BFH,0BFH,0BFH,09FH,0DFH,0DFH,0DFH,0CFH,0EFH,0FFH,0FFH,0FFH,0FBH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, DB0FFH,0F7H,0FDH,0FCH,0FCH,0FEH,0FFH,0FCH,0C0H,000H,000H,000H,000H,000H,000H,000H, DB000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,0F1H,0FFH,0FFH,。
七段码显示汇编语言程序设计
课程设计任务书学生姓名专业班级指导教师黄珍工作单位自动化学院课程设计题目七段码显示汇编语言程序设计初始条件:采用16位微处理器8086 CPU以及86系列微型计算机的指令系统;软件设计平台为多功能微型计算机实验软件MFS中的微机原理实验集成环境MF2KP。
要求完成的主要任务:设计汇编语言程序,实现七段码显示效果,具体功能要求如下:(1)数字0~9或A~F中的每个数字、字母用“¦”和“—”字符组成的“七段”码图形表示;(2)运行程序后,要求数字0~9或字母A~F依次循环显示;(3)单击“Q”或“q”键退出程序。
根据功能要求绘制程序流程图、编写完整的汇编语言程序并上机调试:撰写课程设计说明书。
课程设计说明书的撰写格式如下:(1)设计说明书包括封面、任务书(指导老师提供)、正文、参考文献(3~5篇)、附录(程序清单,要求有注释)、成绩评定表(指导老师提供)。
(2)说明书正文包含总体方案论证(算法说明);程序流程图设计及其说明;软件设计关键问题或程序段落的说明;程序调试说明、结果记录及分析;课程设计收获及心得体会。
(3)同一选题若为合作完成,设计说明书中需注明本人承担的设计部分。
(本次课程设计时间:2011年1月10日-21日,历时两周)指导教师签名:年月日系主任(或责任教师)签名:年月日目录1 总体方案论证 (1)1.1 七段数码管显示功能分析 (1)1.2 算法说明 (1)2 程序流程图设计及其说明 (3)2.1 程序流程图 (3)2.2 程序流程图说明 (4)3程序段落的说明 (5)3.1 数据段定义 (5)3.2 程序初始化 (5)3.3 清空显示屏 (5)3.4 重置光标 (6)3.5 数码显示处理工作 (6)3.6 取得计数并为下次循环准备 (6)3.7 一个数字的数码管显示 (6)3.8 显示程序 (7)3.9 程序延时部分 (7)3.10 判断键盘输入部分 (7)3.11 结束DOS以及跳出语句 (8)4 程序调试说明、结果记录及分析 (9)5 课程设计收获及心得体会 (13)参考文献 (14)附录 (15)七段码显示汇编语言程序设计1 总体方案论证1.1 七段数码管显示功能分析双击进入程序,运行显示DOS 界面。
汇编语言实验报告源代码
分支程序设计-字母字符转换-源码:.386.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORDINCLUDE io.h ; header file for input/outputcr EQU 0dh ; carriage return characterLf EQU 0ah ; line feed.STACK 4096 ; reserve 4096-byte stack.DATApromot BYTE "Enter a char of letter ",cr,Lf,0warning BYTE "The char isn't a letter,enter again ",0answerLtoU BYTE "The char is a lowercase,it's uppercase is "BYTE cr,Lf,0answerUtoL BYTE "The char is a uppercase,it's lowercase is "BYTE cr,Lf,0char BYTE 1 DUP(?).CODE_start:output promot ;输出提示语句input char,1 ;输入数据doGo:mov bl,charinput char,1cmp char,0dh ;与0dh比较je doWhCMP ;若相等,跳转到doWhCMPjmp doGo ;重新输入数据doWhCMP:cmp bl,41h ;与41h(A)比较jl inputAgain ;若char<A,提示重新输入cmp bl,5Ahjle endUppertoL ;若char<=Z,跳转到大写字母转换为小写字母部分cmpLower:cmp bl,61h ;与61h(a)比较jl inputAgain ;若char<a,跳转到重新输入cmp bl,7Ah ;与7Ah(z)比较jg inputAgain ;若char>z,跳转到重新输入jmp endLowertoU ;跳转到小写字母转换为大写字母部分inputAgain:output warning ;输出错误信息提示语句input char,1 ;输入数据mov bl,charjmp doGo ;跳转到比较部分endUppertoL:mov al,bladd al,32 ;ASCII码加32mov char,aloutput answerUtoL ;输出结果提示语句output char ;输出结果jmp endMain ;跳转到结束部分endLowertoU:mov al,blsub al,32 ;ASCII码减32mov char,aloutput answerLtoU ;输出结果提示语句output char ;输出结果endMain:INVOKE ExitProcess, 0 ; exit with return code 0 PUBLIC _start ; make entry point public END ; end of source code循环程序设计-显示九九乘法表-源码:.386.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORDINCLUDE io.hcr EQU 0dhLf EQU 0ah.STACK 4096.DATAcome BYTE "Welcome to multiplication table!",cr,Lf,0sum BYTE 6 DUP (?),0first BYTE 6 DUP (?),0second BYTE 6 DUP (?),0row WORD ?lie WORD ?prompt1 BYTE "*", 0prompt2 BYTE "=",0prompt3 BYTE cr, Lf,0prompt4 BYTE " ",0.CODE_start:output come ;输出欢迎语句output prompt3 ;换行mov row, 1 ;将行数初始值赋值为1mov lie, 1 ;将列数初始值赋值为1fo:cmp row,9 ;行数与9相比较jg quit ;若行数等于9则退出循环mov bx,row ;bx寄存器中存储行数itoa first,bx ;将bx的值转换为ASCII码值存储到first中output first+5 ;输出行数output prompt1 ;输出乘号mov cx,lie ;cx寄存器中存储列数itoa second,cx ;将cx的值转换为ASCII码值存储到second中output second+5 ;输出列数output prompt2 ;输出等号mov ax,cx ;将cx寄存器中的列数移到ax寄存器为乘法做准备imul bx ;做乘法bx*ax即行数*列数itoa sum,ax ;将结果转换为ASCII码值存储到sum中output sum+4 ;输出乘积运算结果output prompt4 ;输出空格cmp bx,cx ;行数与列数值进行比较je to ;若相等则跳转到换行输出部分inc lie ;列数自增jmp fo ;继续循环to:output prompt3 ;输出换行inc row ;行数自增mov lie,1 ;列数初始化为1jmp fo ;进入循环quit:INVOKE ExitProcess, 0 ; exit with return code 0 PUBLIC _start ; make entry point public END ; end of source code子程序设计-求给定整数的所有素因子-源码:.386.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD INCLUDE io.h ; header file for input/outputcr EQU 0dh ; carriage return characterLf EQU 0ah ; line feed.STACK 4096 ; reserve 4096-byte stack.DATA ; reserve storage for dataflai DWORD ?temp DWORD ?crlf BYTE "*",0eqll BYTE "=",0prompt BYTE "Enter a number to find all the prime factors",cr,Lf,0fl DWORD ?value BYTE 11 DUP(?),0char BYTE 1 DUP(?)PUBLIC _start.CODE ; start of main program code_start:output prompt ;输出提示语句input value,11 ;输入数据atod value ;ASCII码转换为数字push eax ;eax寄存器的值压入堆栈call byteInput ;调用byteInput子程序add esp,4output eqll ;输出等号push eax ;eax寄存器的值压入堆栈call findPfactor ;调用findPfactor子程序add esp,4INVOKE ExitProcess, 0 ; exit with return code 0findPfactor PROC NEAR32 ;寻找素因子子程序push ebp ;ebp内的值压入堆栈mov ebp,espmov eax,[ebp+8]mov flai,eaxmov ecx,2mov ebx,ecxdoFind:mov ecx,ebxcmp ecx,flai ;while循环的条件比较je endFind ;如果ecx的值与flai相等则退出循环doFactor:mov temp,eaxcdq ;为除法做准备idiv ecx ;除法eax=eax/ecxcmp edx,0 ;eax符号位与0进行比较jne endFactor ;若不相等跳转到endFactor部分push ecx ;ecx值压入堆栈output crlf ;输出换行call byteInput ;调用byteInput子程序add esp,4jmp doFactorendFactor:mov eax,tempinc ebx ;ebx值自增jmp doFind ;跳转到doFind部分endFind:pop ebp ;ebp弹出堆栈ret ;返回指令findPfactor ENDP ;findPfactor子程序结束byteInput PROC NEAR32 ;byteInput子程序push ebp ;ebp压入堆栈mov ebp,esppush ebx ;ebx压入堆栈push eax ;eax压入堆栈push edx ;edx压入堆栈mov fl,0mov ebx,10mov eax,[ebp+8]doWh:cdq ;为除法做准备idiv ebx ;除法eax=eax/ebxpush edx ;edx压入堆栈inc fl ;fl值自增cmp eax,0 ;eax与0比较je enddoWh ;若相等则退出循环jmp doWhenddoWh:doPrint:cmp fl,0 ;fl值与0作比较je enddoPrint ;若相等则退出输出循环dec fl ;fl值自减pop edx ;edx弹出堆栈mov char,dladd char,'0'output char ;输出charjmp doPrint ;继续循环enddoPrint:pop edx ;edx弹出堆栈pop eax ;eax弹出堆栈pop ebx ;ebx弹出堆栈pop ebp ;ebp弹出堆栈ret ;返回指令byteInput ENDP ;byteInput子程序结束END ; end of source code位运算指令的使用-双字型数的高低字转换-源码:.386.MODEL FLATExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD INCLUDE io.h ; header file for input/outputcr EQU 0dh ; carriage return characterLf EQU 0ah ; line feed.STACK 4096 ; reserve 4096-byte stack.DATA ; reserve storage for dataprompt BYTE "Input a number: ",0number BYTE 20 dup (?)result BYTE cr,Lf,"The 2's complement representation is: " hexout BYTE 8 DUP(?),cr,Lf,0prompt2 BYTE cr,lf,"After the shift ",0.CODE ; start of main program code Hex PROC NEAR32push eaxlea ebx,hexout+7 ;取最后一个字符的地址mov ecx,8 ;字符个数mov esi,eaxforcount:mov edx,eaxand edx,0000000fhcmp edx,9jnle elseLetteror edx,30h ;转换为字符jmp endifDigitelseLetter:add edx,'A'-10 ;转化为字母endifDigit:mov BYTE PTR [ebx],dldec ebx ;指向下一个字符shr eax,4 ;右移位loop forcountoutput resultpop eaxretHex ENDP_start:output promptinput number,16 ;输入一个数字atod numbercall Hex ;调用子程序Hexrol eax,16 ;循环左移位output prompt2 ;输出转换后的十六进制数call HexINVOKE ExitProcess, 0 ;exit with return code 0 PUBLIC _start ; make entry point public END ; end of source code。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
L0006H:
RET
DB 02H
L0008H:
RET
LJMP L0202H /*产生复位*/
XRL A, #00H
MOV R3, 29H
MOV R2, 28H
CLR 09H
CLR 0AH
LCALL L08A3H
MOV A, #10H
ADD A, 29H
L005DH:
SJMP L003CH
L005FH:
MOV A, R7
JNZ L0065H
SETB C
SJMP L0066H
L0065H:
CLR C
L0066H:
LCALL L0A46H /*开外部中断 0 用于通讯快速响应*/
LCALL L0A40H /*关闭时钟 片选信号*/
LCALL L09C2H /*初始化液晶*/
LCALL L001EH
XRL A, #5AH /*原 XRL A, #5AH */
JZ L0038H
CLR C
RET
L0038H:
MOV R5, #00H
MOV R4, #70H
MOV R2, A
CLR 09H
CLR 0AH
POP ACC
MOV R7, A
LCALL L08A3H
RET
L00F1H:
SETB 0BH
LCALL L010BH
MOV A, R7
JZ L0124H
RET
L012BH: /*初始化 */
LCALL L0A43H /*打开定时器0 */
MOV R3, DPL
MOV R2, A
CLR 09H
CLR 0AH
MOV R7, 26H
LCALL L08A3H
L00C9H:
MOV A, 26H
LCALL L0026H /* 判断在0x7FFF(0x5A)的值 是否为用户程序*/
MOV 00H, C /*识别标志位*/
LCALL L0A64H /*开所有中断*/
SETB 09H /*启动09标志位*/
MOV R7, A
L010BH:
LCALL L0D07H
MOV 22H, R7
MOV A, 22H
ANL A, #7FH
JZ L0119H
LCALL L0BF5H
MOV 28H, R3
MOV A, 28H
ANL A, #0F0H
JZ L00C9H
MOV A, 28H
SWAP A
ANL A, #0FH
MOV 23H, #00H
CLR A
MOV R7, A
MOV DPTR, #7FFEH /* 判断此值 如为0x5A 则显示no data pls down*/
MOVC A, @A+DPTR
MOV B, #10H
MUL AB
ADD A, #3AH
MOV DPL, A
MOV A, B
ADDC A, #05H
MOV R3, DPL
CLR A
MOVC A, @A+DPTR
ADD A, R7
MOV R7, A
MOV A, R5
DEC R5
JNZ L005DH
DEC R4
L003CH:
SETB C
MOV A, R5
SUBB A, #00H
MOV A, R4
SUBB A, #00H
JC L005FH 2AH, #02H
LCALL L0067H /*显示 no*/
MOV R7, #60H
MOV R5, #10H
MOV R2, #07H
MOV 2BH, A
L0072H:
MOV A, 2BH
CLR C
SUBB A, 2AH
JNC L009DH
MOV R7, 26H
MOV R5, 27H
MOV A, 23H
MOV R2, 22H
JNZ L004FH
INC 22H
L004FH:
DEC A
MOV DPL, A
MOV DPH, R2
INC 2BH
SJMP L0072H
L009DH:
RET
/*........................*/
L009EH:
MOV 26H, R7
MOV 27H, R5
MOV R3, #1AH
MOV 2AH, #04H
LCALL L0067H /*显示 data*/
RET
L001EH:
DB 75H, 0A0H
L0020H:
MOV R7, A
RET
LJMP L0260H
NOP
L0026H:
MOV 22H, #10H
MOV 29H, A
CLR A
ADDC A, 28H
MOV 28H, A
MOV A, #08H
ADD A, 26H
MOV 26H, A
MOV R7, A
MOV R7, A
MOV R7, A
MOV R7, A
MOV R7, A
MOV R7, A
MOV R7, A
MOV R7, A
L0119H:
MOV R7, 22H
RET
L011CH:
LCALL L0D07H
MOV A, R7
ANL A, #7FH
JNZ L011CH
L0124H:
MOV 39H, R5
LCALL L087BH
RET
L00F9H:
MOV R7, #3FH
LCALL L09DBH
RET
LJMP LFFFFH
IAP_RUN EQU 0FF81H
PGM_MTP EQU 0FFF0H
AUXR1 equ 0xA2
ORG 0000H
LJMP L0DB8H
L0003H: /*外部中断0 通讯中断入口地址*/
LCALL L04A2H
L0152H:
JB 00H, L0197H /*是否有用户数据 没有则显示 no data pls domn*/
MOV R7, #48H
MOV R5, #10H
MOV R2, #06H
RET
/*..................*/
L0067H:
MOV 26H, R7
MOV 27H, R5
MOV 28H, R2
MOV 29H, R3
CLR A /*液晶刷新*/
ANL A, #0FH
MOV B, #10H
MUL AB
ADD A, #3AH
MOV DPL, A
MOV A, B
ADDC A, #05H
ADD A, #08H
MOV R7, A
MOV A, R7
PUSH ACC
MOV R5, 27H
MOV A, 28H
ANL A, #0FH
L000EH:
MOV R2, #06H
MOV R3, #3AH
CLR 09H
CLR 0AH
LCALL L08A3H
RET
L001AH:
LCALL L083AH
LCALL L01F5H /*开启液晶背光*/
LCALL L0BF5H /* beep 上电响一次*/
LCALL L0CE3H /*识别 通讯中断 外部中断0 是否关闭 */
JNC L0152H