关于汇编实验 屏幕窗口程序
- 格式:docx
- 大小:233.83 KB
- 文档页数:6
汇编语言程序设计创新实验项目1. 编写一个完整的程序:根据零件的数量和总价格,计算出零件的单价。
主程序MAINPRO允许用户在键盘上输入零件数量和总价格;子程序SUBCONV 把从键盘输入的ASCII 码转化为二进制;子程序SUBCALC 计算出零件的单价;子程序SUBDISP 把二进制表示的单价转化为十进制数并显示出结果。
要求:在程序设计时要求使用顺序、分支、循环、子程序和宏汇编等多种方法解决程序设计问题,对于较大的子程序最好使用子程序嵌套,程序中如有多次重复的代码最好使用重复汇编。
2.编写一个完整的程序,分别输入有一个班学生的百分制成绩,根据学生百分制成绩转换出五级分数制。
如低于60分为E,60-69为D、70-79为C、80-89为B、90-99为A。
并统计该班学生人数。
要求:1、学生成绩从键盘接收;2、本程序可以重复运行,自行设计退出程序的方法;3、程序具有可操作性,如,应该有提示语句和判断非法操作的方法和处理方式。
3. 编写一个完整的程序,在屏幕上显示如图所示数字拼成的形状。
01234567891234567890234567890134567890124567890123567890123467890123457890123456890123456790123456784、按要求编写一个完整的程序。
要求:1、自BUFFER开始的内存单元中,存有一个ASCII码字符串。
查找已知字符串中含有多少个子字符串‘AB’的个数,将统计结果以十进制形式显示输出。
2、在查找到子字符串‘AB’后添加空格字符。
5、按要求编写一个完整的程序。
要求:1、编写子程序SORT,将内存中10个无符号字数据由小到大排序。
2、编写子程序FIND,在上述已排好的数据区里查找某一个数,若找到,显示其在数据区的位置,否则显示‘N’字符。
3、编写调用程序,完成排序及检索任务。
6、试编写一程序,要求根据用户键入的月份在终端上显示该月的英文缩写名。
实验一汇编语言程序的上机过程一、实验目的掌握汇编语言源程序的编辑、汇编、连接及运行过程,为以后的实验打下基础。
二、实验内容1、输入下列完整的程序STACK SEGMENT STACKDB 200 DUP(?)STACK ENDSDATA SEGMENTBUF DB‘HOW ARE YOU!$’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXLEA DX,BUFMOV AH,9INT 21HMOV AH,4CHINT 21HCODE ENDSEND START(本程序的正确运行结果是在屏幕显示“HOW ARE YOU!”)2、完成课本P193习题5.1。
三、实验步骤(1)利用EDIT编辑源程序;(2)汇编源程序;(3)连接目标程序文件;(4)运行可执行文件。
四、实验报告要求写出以上两个实验内容的题目、源码、具体实验步骤和实验结果。
1.在屏幕上打印字符串”How are you?”。
(1)源代码:;打印字符串"How are you?"STACK SEGMENT STACKDB 200 DUP(?)STACK ENDSDATA SEGMENTBUF DB 'How are you?$'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AX;在屏幕上打印字符串LEA DX, BUFMOV AH, 9HINT 21HMOV AH, 4CHINT 21HCODE ENDSEND START(2)具体实验步骤:编辑→保存→masm→link→运行(3)结果截图:2.编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
Win32汇编开始了解窗口程序Be water,my friends!世界上只有一种失败,那就是半途而废。
窗口是什么?大家每天在使用Windows,屏幕上的一个个方块就是一个个窗口!那么,窗口为什么是这个样子呢?窗口就是程序吗?回想DOS时代的计算屏幕,在1990年Windows 3.0推出之前,计算机的屏幕一直使用文本模式,黑洞洞的底色上漂浮着白色的小字。
对DOS程序来说,屏幕是唯一的,上面有光标表示输入字符的位置,程序运行后往屏幕输出一些信息,退出时输出的信息就留在了屏幕上,然后是第二个程序重复这个过程,当屏幕被写满的时候,整个屏幕上卷一行,最上面一行被去掉,然后程序在最底下新空出来的一行上继续输出。
对于一个单任务的操作系统,这种方式是很合理的,因为平时使用传真机或打字机就是用上卷的方式来容纳新的内容的。
但是如果是多任务呢?两个程序同时往屏幕上写东西或者两个人同时往打字机上打字,那么谁都看不懂混在一起的是什么。
DOS下的TSR(内存驻留)程序是多个程序同时使用一个屏幕的例子,但实质上这并不是多任务,而是TSR将别的程序暂时挂起,挂起的程序不可能在TSR执行期间再向屏幕输出内容,TSR在输出自己的内容之前必须保存屏幕上显示的内容,并在退出的时候把屏幕恢复原来的样子,否则挂起的程序并不知道屏幕已经被改变,在这个过程中,DOS不会去干预中间发生的一切。
Windows是多任务的操作系统,可以同时运行多个程序,同样,各个程序在屏幕上的显示不能互相干扰,而且,多个程序可以看成是"同时"运行的,在后台的程序也可能随时向屏幕输出内容,这中间的高度是由Windows完成的。
Windows采用的方法是给程序一块矩形的屏幕空间,这就是窗口。
应用程序通过Windows向属于自己的窗口显示信息,Windows判断该窗口是不是被别的窗口挡住,并把没有挡住的部分输出到屏幕上,这样屏幕上显示的东西就不会互相覆盖而乱套。
汇编上机实验报告实验目的:通过进行汇编语言上机实验,掌握汇编语言的基本语法和编程技巧,培养汇编程序设计能力。
实验内容:实验一:汇编程序的简单输入输出1.编写一个汇编程序,要求从键盘输入两个整数,然后将其相加,并将结果输出到屏幕上。
2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。
实验二:汇编程序的条件跳转1.编写一个汇编程序,要求从键盘输入一个整数,判断其是否大于10,若是,则将其打印到屏幕上;否则,将其乘以5并打印到屏幕上。
2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。
实验三:汇编程序的循环1.编写一个汇编程序,要求计算1到10的累加和,并将结果打印到屏幕上。
2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。
实验四:汇编程序的数组操作1.编写一个汇编程序,要求定义一个长度为10的数组,并将数组中的值初始化为0,然后利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。
2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。
实验结果:实验一:汇编程序的简单输入输出编写的汇编程序通过键盘输入两个整数,实现了相加并将结果输出到屏幕上的功能。
程序运行正常,输出结果与预期一致。
实验二:汇编程序的条件跳转编写的汇编程序通过键盘输入一个整数,根据条件判断,实现了将输入数大于10时打印在屏幕上,否则将其乘以5并打印在屏幕上的功能。
程序运行正常,输出结果与预期一致。
实验三:汇编程序的循环编写的汇编程序通过循环计算1到10的累加和,并将结果打印在屏幕上。
程序运行正常,输出结果与预期一致。
实验四:汇编程序的数组操作编写的汇编程序通过定义一个长度为10的数组,并将数组中的值初始化为0,利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。
汇编语言程序设计的实验环境及实验步骤1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行:(1) 编辑源程序(生成.ASM文件)(2) 汇编源程序(.ASM → .OBJ)(3) 连接目标程序(.OBJ → .EXE )(4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件)(5) 运行程序输出结果。
2、Windows环境下的汇编语言集成编程环境的使用实验一 DOS环境下的汇编语言编程环境使用(基础与验证型)实验要求和目的1、掌握汇编语言程序设计的基本方法和技能;2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序;3、熟练掌握宏汇编程序MASM的使用;4、熟练掌握连接程序LINK的使用。
实验涉及的主要知识单元1、编辑源程序例如,编写程序,可以在DOS模式下用编辑程序edit.exe建立汇编语言源程序文件Hello.asm,注意文件名的扩展名必须是.asm。
也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“cmd”进入DOS模式,运行edit软件,例如:C:> edit hello.asm2、汇编语言源程序的汇编过程汇编程序调入后,首先显示版本号,然后出现三个提示行。
第一个提示行为:Object filename [HELLO.OBJ]:询问目标程序文件名,方括号内为机器规定的默认的文件名,通常直接按回车键,表示采用默认的文件名(如上所示)。
第二个提示行为:Source listing [NUL.LST]:询问是否建立列表文件。
若不建立,直接回车;若要建立,可以输入文件名hello再回车。
列表文件中同时列出源程序和机器语言程序清单,并给出符号表,有利于程序调试。
第三个提示行为:Cross-reference [NUL.CRF]:询问是否要建立交叉索引文件。
若不建立,则直接回车;若要建立,可以输入文件名。
实验报告──学年第学期实验课程汇编语言学生姓名123实验项目汇编语言上机过程及屏幕字符显示程序学院计算机科学技术实验性质专业选修课班级学号实验地点同组人数 1 第组实验日期第周星期第节成绩3环境参数Windows xp一、实验目的及要求二、实验原理、实验内容三、实验仪器设备及材料四、操作方法与实验步骤五、实验数据记录及处理六、实验结果分析及讨论一:1、熟练掌握汇编语言的程序格式,程序设计方法;学会使用masm6.11对源程序进行编译、链接、调试和运行2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。
3、利用^Break退出程序的方法及局限性。
4、汇编程序的编写二:实验任务编写一个简化的段定义结构程序:先提示输入数字“Input number:0-9”,然后在下一行显示输入的数字,结束;如果不是键入了0-9 数字,就提示错误“ERROR!”,继续等待输入数字。
源代码:编译连接:实验结果:此程序没按要求将数字在下一行输出。
且程序中用到了多余的指令int 3.修改“done:”段done: mov dl,almov ah,02hint 21h.exit 02.编写一个完整的段定义结构程序:从键盘输入一个字符串(不超过255个),将其中的小写字母转换成大写字母,然后按原来的顺序在屏幕上显示。
要求对以上两个程序,进行编译,链接,调试,运行,给出具体步骤源代码:请问程序中的第39行错误用了一个标号。
编译连接:运行结果:三、小结1、学会使用edit进行程序的编写。
2、学会写简易段程序和完整段程序。
3、学会了在dos下进行汇编程序的编译、连接、调试和运行。
4、学会了使用21号中断的2号9号功能进行字符的显示。
5、汇编基础知识不扎实,指令经常写错,要多练习。
仪器设备损坏、非正常损耗材料(试剂)及处理情况:无教师对报告的最终评价及处理意见:2段程序均有错。
教师签字:年月日。
上一次发表的是用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.硬件环境微型计算机(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编辑菜单,等等。
实验五 屏幕窗口程序
一、 实验的目的与要求
(一)实验目的:掌握显示器IO 程序设计的方法,掌握宏的相关概念,以及运用方法。
(二)实验要求:在屏幕上开出三个窗口,它们的行列坐标如下页图所示,光标首先定位在右窗口最下面一行的行首(15, 50),如果从键盘输入字符,则显示在右窗口,同时也显示在下窗口的最下面一行。
若需要将字符显示于左窗口,则先按下左键,接着再从键盘输入字符,字符就会从左窗口的最下行开始显示,同时下窗口也显示左窗口的内容。
当一行字符显示满后,窗口自动向上卷动一行,输入字符继续显示于最低一行,窗口最高一行向上卷动后消失。
编写屏幕窗口程序时,要求将一些功能程序段定义成宏指令,如向上卷动、清屏、
接受字符并判断、在屏幕上显示字符、光标定位。
二、实验正文
实验分析:实验思路比较简单,主要是运用BIOS 调用,这些查表可得,实验要求要用宏来定义一些基本功能,宏调用比较简单,把一些基本功能编写成宏,能高效率的执行程序,但是宏也存在着一些缺点,在宏调用时,要宏展开,这样会占用一定的空间,所以宏是一种以空间换时间的策略,像一些复杂的操作不宜编写成宏。
BIOS 10号调用提供了大量的屏幕、光标显示格式,要注意参数的意义,以便正确的显示结果。
三、流程图如下:
(5,10) (15,30)
(5,50)
(15,70)
(18,15) (22,65)
四、实验结果
附录:程序源代码如下:
;**************************************************************** datas segment
cury db 15 ;光标初始位置
curx db 50
lx db 10 ;记录左窗口当前光标位置,初始化为左窗口初始位置ly db 15
rx db 50 ;记录右窗口当前光标位置,初始化为右窗口初始位置ry db 15
dwx db 15 ;记录下窗口当前光标位置,初始化为下窗口初始位置dwy db 22
ulrow db 0
ulcol db 0
lrrow db 0
lrcol db 0
windownum db 1
datas ends
;-----------------------------------------------------------------宏指令clear 清屏
clear macro a,b,c,d
mov al,0 ;初始化窗口
mov bh,7 ;卷入行属性
mov ch,a ;左上角行号
mov cl,b ;左上角列号
mov dh,c ;右下角行号
mov dl,d ;右下角列号
mov ah,6
int 10h ;BIOS调用,屏幕初始化
endm
;-------------------------------------------------------------宏指令scroll向上卷动一行scroll macro cont,ulrow,ulcol,lrrow,lrcol
mov al,cont ;上卷行数
mov bh,70h ;卷入行属性
mov ch,ulrow ;左上角行号
mov cl,ulcol ;左上角列号
mov dh,lrrow ;右下角行号
mov dl,lrcol ;右下角列号
mov ah,6
int 10h ;BIOS调用,上卷
endm
;--------------------------------------------------------------宏指令postc 光标定位
postc macro y,x
mov bh,0 ;页号
mov dh,y ;行
mov dl,x ;列
mov ah,2
int 10h ;BIOS调用,置光标位置
endm
;---------------------------------------------------------------在当前窗口和下窗口显示display macro
mov bh,0
mov cx,1
mov ah,0ah ;在当前的窗口打印字符
int 10h
postc dwy,dwx
mov bh,0
mov cx,1
mov ah,0ah ;在下窗口输出
int 10h
endm
;----------------------------------------------------------------接收字符并判断getchar macro
input: ;输入键盘上的字符
mov ah,0
int 16h ;BIOS调用,从键盘读字符
cmp ah,4bh ;判断输入字符是否为左向键
jnz no_left
postc ly,lx
mov windownum,2
jmp input
no_left:
cmp ah,4dh
jnz no_right ;判断输入字符是否为右向键
postc ry,rx
mov windownum,1
jmp input
no_right:
cmp ah,01 ;判断输入字符是否为ESC
jz exit
display ;嵌套调用
inc dwx
cmp dwx,65 ;判断下窗口是否上卷
jle isright
scroll 1,19,15,22,65
mov dwx,15
isright:
cmp windownum,1 ;判断是否在右窗口
jnz displeft
dispright: ;判断右窗口是否上卷inc rx
cmp rx,70
jle rightexit
scroll 1,6,50,15,70
mov rx,50
rightexit: ;右窗口输出
postc ry,rx
jmp input
displeft: ;判断左窗口是否上卷
inc lx
cmp lx,30
jle leftexit
scroll 1,6,10,15,30
mov lx,10
leftexit: ;左窗口输出
postc ly,lx
jmp input
exit:
endm
;---------------------------------------------------------------
codes segment
assume cs:codes,ds:datas
start:
main proc far
push ds
sub ax,ax
push ax
mov ax,datas
mov ds,ax
clear 0,0,24,79
scroll 10,5,10,15,30
scroll 10,5,50,15,70
scroll 4,18,15,22,65
postc cury,curx
getchar
ret
main endp
;-----------------------------------------------------------------
codes ends
;****************************************************************
end start
五、实验总结
通过这次实验,掌握了屏幕窗口程序的基本设计方法,领略了宏的设计和使用方法,实验的整体思路比较简单,但如若想编出复杂的屏幕程序,需要对BIOS调用有一个大致的了解,只有这样才能灵活的去运用,这也就启迪我多去阅读和积累相关的知识,只有知识积累到一定程度才能编出好的程序。