汇编试验9

合集下载

计算机组成原理与汇编实验报告

计算机组成原理与汇编实验报告

计算机组成原理与汇编实验报告姓名:学号:学院:信息科学与工程学院班级:实验1 存储器实验实验目的⏹掌握静态存储随机存储器RAM的工作特性⏹掌握静态存储随机存储器RAM的读写方法实验设备74LS273(一片),静态存储器MEMORY 6116(一片),与门(一片),与非门(一片),单脉冲(一片),开关若干,灯泡若干实验原理在微机系统中,常用的静态RAM 有6116、6264、62256 等。

在本实验中使用的是6116。

6116 为2K╳8 位的静态RAM,其逻辑图3.1如下:图3.1 6116逻辑图其中A0~10 为11 根地址线,I/O0~7 为8 根数据线,CS 为片选端,OE 为数据输出选通端,WR 为写信号端。

其工作方式见下表3-1:表3-1工作方式表实验所用的半导体静态存储器电路原理如图3.2 所示,实验中的静态存储器一片6116(2K×8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。

地址灯AD0—AD7 与地址线相连,显示地址线内容。

数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。

图3.2 存储器实验原理图因地址寄存器为8 位,接入6116 的地址A7—A0,而高三位A8—A10 接地,所以其实际容量为256 字节。

6116 有三个控制线:CE(片选线)、OE(读线)、WE(写线)。

当片选有效(CE=0)时,OE=0时进行读操作,WE=0时进行写操作。

本实验中将OE 常接地,在此情况下,当CE=0、WE=0 时进行读操作,CE=0、WE=1 时进行写操作,其写时间与T3 脉冲宽度一致。

控制信号SW-B 为低电平有效,控制信号LDAR 为高电平有效。

实验步骤1. 选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。

《汇编语言》实验指导书

《汇编语言》实验指导书
MOV AH ,2 ;调用DOS中断INT 21H功能的2号子功能
(1)输入程序并汇编
_A100
0B03:0100 MOV DL,33
0B03:0102 MOV AH,2
0B03:0104 INT 2l
“0B03:0100”类似这样的地址是系统自动提供的,不需用户输入。至此程序已输入完毕,并汇编成机器指令。现在用G命令运行程序如下:
(2)运行程序
_G
3
Program terminated normally
编程思路(仅供参考):
该题目要求掌握运算中带符号数和无符号数运算的区别。本题目只考虑有符号数情况
参考程序清单:ABC.ASM
DATA SEGMENT
X DB1;x 单元存放数字1,以下类推
Y DB4
Z DB3
WDB?,? ;预留2个单元,存放运算结果
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
INT 21H

当要执行INT 21H这条指令时,若用T命令进行跟踪,则进入INT 21H程序(DOS功能调用)后,需要数十次T命令才能返回当前程序;若采用P命令进行调试,则只执行INT 21H一条指令,执行完立即返回,给调试者的感觉好象是执行了一条普通指令一样。因此,当读者以后遇到CALL、INT n指令或带重复前缀的数据串操作指令时,若不想观察相应过程的详细执行过程,就可以用P命令。
若是0则为偶数若为2则为奇数可以采用test指令和条件转移指令jz来实现在内存中以buf单元开始缓冲区中连续存放着10个学生的分数试编制程序统计英中90100分8089分6079分及60分以下少人并把结果分别存放在s9s8s7和s6试编制程序从键盘输入学生成绩abcd自动汇总并显示各类分数的人数假定各类分数的总人数在0止输入

汇编语言实验答案 (王爽)

汇编语言实验答案 (王爽)

汇编语言答案检测点1.1(第8页)(1)13(2)1024,0,1023(3)8192,1024(4)2^30,2^20,2^10(5)64,1,16,4(6)1,1,2,2,4(7)512,256(8)二进制注意:1.第4题中的符号'^'指求幂运算(如:2^30指2的30次方)检测点2.1(第18页)----------------------(1)写出每条汇编指令执行后相关寄存器中的值。

第一空:F4A3H第二空:31A3H第三空:3123H第四空:6246H第五空:826CH第六空:6246H第七空:826CH第八空:04D8H第九空:0482H第十空:6C82H第十一空:D882H第十二空:D888H第十三空:D810H第十四空:6246H(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。

解答如下:mov ax,2add ax,axadd ax,axadd ax,ax检测点2.2(第23页)----------------------(1)00010H,1000FH(2)1001H,2000H第2题说明:因为段的起始地址要为16的倍数。

所以当段地址小于1001H或大于2000H时CPU都无法寻到。

检测点2.3(第33页)答:CPU修改了4次IP的值。

第1次:执行完mov ax,bx后第2次:执行完sub ax,ax后第3次:读入jmp ax后第4次:执行完jmp ax后最后IP的值为0实验1查看CPU和内存,用机器指令和汇编指令编程(第33页)-----------------------------------------------------1.预备知识:Debug的使用<此部分略>2.实验任务(第43页)(1)<此部分略>(2)<此部分略>(3)通过DEBUG中的D命令查看到主板的生产日期[以月、日、年,分隔符为'/'的格式]存储在内存ffff:0005~ffff:000C(共8个字节单元中)处。

九年级第五册实验现象和化学方程式汇编

九年级第五册实验现象和化学方程式汇编

九年级第五册实验现象和化学方程式汇编1、硫酸铜晶体俗称胆矾,化学名称五水硫酸铜,加热硫酸铜晶体发生变化的证据是能观察到,同时,其变化的化学方程式为。

2、无水硫酸铜是白色粉末,在无水硫酸铜中逐渐滴加入水,观察到_______________,其变化的化学方程式为。

3、治疗胃酸过多可用医药胃舒平(氢氧化铝乳剂),化学方程式为4、在氢氧化钠溶液中滴入2滴无色酚酞试液,呈色;再逐滴滴入盐酸至恰好完全反应,溶液呈色,反应方程式为。

5、把鸡蛋壳放入盛有盐酸的试管中,你观察到______________________,其变化的化学方程式为。

6、将一枚生锈的铁钉(主要成份是Fe2O3)放入试管中,滴入稀盐酸,发现______ 消失,并产生,可用、化学方程式表示。

7、向少量氧化铜粉末的试管中加入稀盐酸,微微加热,看到的现象是,反应方程式为。

8、在氢氧化铜蓝色絮状物中加入稀硫酸,可以发现___________________,其化学方程式为________________________;以此类推,在红褐色的氢氧化铁中加入稀盐酸,可以发现__________________,其化学方程式为________________________。

★9、氯化钡溶液与硫酸溶液混合可以发现____________,其化学方程式为_______________。

★10、硝酸银溶液与盐酸溶液混合可以发现___________,其化学方程式为_______________。

在9、10题中生成的沉淀中加入稀硝酸,沉淀均___________(“溶解”或“不溶解”)11、制革工业中用熟石灰给毛皮脱毛,剩余的熟石灰用盐酸来中和。

★12、向一支盛有澄清石灰水的试管中通入二氧化碳,观察到__________________________,其化学方程式为_______________。

13、盛石灰水的试剂瓶时间放久了,内壁常附有一层白膜(CaCO3),原因:,要洗去这层白膜需用,原理。

北京理工大学汇编语言实验报告实验三字符串操作实验

北京理工大学汇编语言实验报告实验三字符串操作实验

北京理工大学汇编语言实验报告实验三字符串操作实验实验三字符串操作实验一、实验目的1)熟悉串操作指令的功能与应用;2)掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序;3)了解汇编语言字符串处理基本流程;二、实验软硬件环境1)硬件环境:惠普64位一体化计算机及局域网; 2)软件环境:windows 8,红蜘蛛管理系统,MASM for Win dows三、实验相关知识1)字符串操作流程SI寄存器保存源串首地址;DI寄存器保存目的串首地址;CX寄存器保存字符串长度;CLD或STD指令设置字符串处理方向;2)重复前缀指令重复次数由计数寄存器CX中存放的值决定,指令每重复执行一次,计数器CX中值减1,当CX 中值减至0时,停止重复执行,继续执行下一条指令。

寄存器的E内容条件为复前罡重复与操作直配合工作的字符串处理指令有MOVSSTOS^ LODS当REPE/REP判断计数寄存器的内容CX是否为0或ZF=O(即比较的两个操作数不等)亠只要满足一个则重复执行结束,否则继续执行。

可以与REPE/REP配合工作的串指令有CMP和SCAS0或體茴比较P判个操数数相等的内容要满足一个则重复执行结束,否则继续执行。

可以与REPE/REP配合工作的串指令有CMPS口SCAS3)字符串操作指令lodsb、lodsw :把DS:SI 指向的存储单元中的数据装入AL或AX然后根据DF标志增减SI ;stosb、stosw :把AL 或AX 中的数据装入ES:DI指向的存储单元,然后根据DF标志增减DI ;movsb movsw把DS:SI 指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据DF 标志分别增减SI和DI ;scasb、scasw:把AL或AX中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI ;cmpsb cmpsw把DS:SI指向的存储单元中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI ;rep :重复其后的串操作指令。

九年级化学实验基本操作经典题目汇编(含答案)

九年级化学实验基本操作经典题目汇编(含答案)

九年级化学实验基本操作经典题目汇编(含答案)一、选择题1. (·苏州)下列化学仪器对应的名称正确的是()A. 燃烧匙B. 分液漏斗C. 试管夹D. 烧杯2. (·桂林)下列仪器可用于吸取和滴加少量液体的是()A. 烧杯B. 试管C. 集气瓶D. 胶头滴管3. (·绍兴)从试剂瓶中取用NaCl固体、AgNO3溶液,需要用到的器材是()第3题A. 甲—①,乙—①B. 甲—①,乙—②C. 甲—②,乙—②D. 甲—②,乙—①4. (·常州)下列化学仪器需垫石棉网才能用酒精灯加热的是()A. 烧杯B. 试管C. 蒸发皿D. 燃烧匙5. (·铜仁)下列实验操作正确的是()A. 用嘴吹灭酒精灯B. 稀释浓硫酸时,将水沿烧杯壁缓慢注入浓硫酸中C. 洒出的酒精在桌上燃烧起来,不要惊慌,应立刻用湿抹布扑盖D. 使用过的胶头滴管可以不用清洗直接吸取其他试剂6. (·安徽)实验室可通过加热高锰酸钾固体制取氧气,下列实验操作正确的是()A. 组装好装置后,检查装置的气密性B. 加入药品后,直接将酒精灯火焰对准药品加热C. 水槽中有气泡冒出时,立即收集气体D. 实验结束时,先移走酒精灯再从水槽中移出导管7. (·达州)误差分析是定量实验的一个重要内容,下列分析正确的是()A. 用量筒量取10 mL水,仰视读数,会导致水的实际体积偏小B. 测定溶液的pH,先用水将pH试纸润湿,会导致测出的pH偏大C. 测定空气中氧气的体积分数,铜粉的量不足,会导致测出氧气的体积分数偏小D. 配制6%的氯化钠溶液,氯化钠中含有杂质,会导致氯化钠的质量分数偏大8. (·泰州)下列对实验意外事故的处理方法错误的是()A. 若不慎将稀硫酸溅入眼睛,要先用手揉眼睛,再立即用水冲洗B. 若不慎将烧碱溶液沾到皮肤上,要用较多的水冲洗,再涂上硼酸溶液C. 若不慎将燃着的酒精灯碰倒,洒出的酒精在桌面上燃烧,应立刻用湿抹布扑盖D. 若不慎将少量浓硫酸沾到皮肤上,应立即用大量水冲洗,再涂上3%~5%的碳酸氢钠溶液9. (·广西北部湾)下列有关酒精灯的操作,正确的是()A BC D10. (·重庆A卷)化学实验操作应严谨规范,下列操作符合要求的是()A. 看B. 听C. 闻D. 吹11. (·重庆B卷)下列化学实验操作不符合规范的是()A. 横B. 平C. 竖D. 直12. (·连云港)下列图示实验操作中,正确的是()A BC D13. (·无锡)以下实验操作正确的是()A. 点燃酒精灯B. 研磨后闻气味C. 滴加液体D. 测定溶液的pH14. (·泰州)下列实验操作正确的是()A. 塞紧胶塞B. 贮存氧气C. 过滤D. 吹灭酒精灯15. (·盐城)下列实验操作正确的是()A. 给液体加热B. 读取液体体积C. 稀释浓硫酸D. 检查装置气密性16. (40306048)(·淮安)下列操作正确的是()A. 振荡试管B. 倾倒液体C. 称量药品D. 放置洗净的试管17. (·河北)下列实验操作正确的是()A. 加入固体B. 量取液体C. 收集氢气D. 点燃酒精灯18. (·苏州)下列实验操作正确的是()A. 闻气体气味B. 点燃酒精灯C. 过滤D. 移开蒸发皿19. (·宿迁)下列实验操作正确的是()A. 给液体加热B. 稀释浓硫酸C. 测溶液酸碱度D. 称量固体药品20. (·德州)规范的实验操作是实验成功的保证。

专题9生物实验----2019-2021年江苏省中考生物试题分类汇编

2019-2021年江苏省中考生物试题分类汇编——专题9生物实验一.选择题(共23小题)1.(2021•常州)为探究不同浓度的酒精对水蚤心率的影响,生物小组进行了相关实验,实验结果见下表。

下列叙述正确的是()溶液清水1%酒精10%酒精20%酒精每10秒的心跳次数423618死亡A.该实验设置清水组是为了做对照实验B.实验水蚤可随意选择体型大小不同的C.同一只水蚤应先在酒精溶液中,后在清水中观察心率D.高浓度的酒精对水蚤的心率有促进作用2.(2021•常州)探究“温度对鼠妇生活的影响”的实验设计中,正确的变量是()A.鼠妇的数量B.光照的强度C.温度的高低D.土壤的湿度3.(2021•常州)如图为某同学探究“唾液对淀粉的消化作用”的实验设计下列叙述正确的是()A.淀粉在口腔中被分解成葡萄糖B.2号试管中的淀粉会被唾液中的蛋白酶消化分解C.滴加碘液后,1号试管不变蓝,2号试管变蓝D.两支试管放在37℃温水中的目的是模拟人体口腔的温度4.(2021•连云港)如图是在显微镜下观察到的人的血细胞涂片。

有关叙述正确的是()A .细胞①的数量最多,具有运输氧气的功能B .细胞②的体积最小,形状规则,有细胞核C .若细胞③的数量减少,则表明身体内有炎症D .人体血液循环系统由血管、心脏和血细胞组成5.(2021•连云港)下列关于“探究酒精对水蚤心率的影响”实验的叙述,正确的是( ) A .选用大小一致,生命力相同的成年水蚤B .实验中必须设计多个不同水温的实验组C .水蚤的心率随着酒精浓度的增加持续增高D .实验无对照组,酒精浓度大不会使水蚤死亡6.(2021•苏州)生长激素是一种蛋白质类激素。

某兴趣小组为探究生长激素的作用,利用大小相同且生长状况相似的同种健康幼鼠30只进行相关实验,实验操作和结果如表,下列分析错误的是( )组别 A B C 幼鼠数量 10只10只10只操作方法定期注射适量生长激素定期注射等量生理盐水 定期饲喂等量生长激素 实验结果 增重40%增重25%增重25%A .A 组和B 组结果说明生长激素有促进生长的作用 B .B 组和C 组结果说明生长激素对幼鼠生长无影响 C .A 组和C 组结果说明生长激素只能通过注射起效D .饲喂生长激素失效的原因可能是在小肠内被分解7.(2021•苏州)某兴趣小组研究发现,番茄的生长与温度有密切的关系。

排序

实验一、用8086/8088汇编语言进行数据排序一、实验目的:1、熟悉EMU8086集成开发环境的使用。

2、通过编程、上机调试,进一步理解汇编语言的设计思路与执行过程。

3、熟悉INT 21H中断调用。

4、掌握数据排序的常用算法,利用汇编语言实现数据排序。

5、巩固理论知识,锻炼动手编程。

二、实验内容:1、在TABLE1开始的内存单元中,预先存储100个有符号字类型的数值。

2、编写代码、将TABLE1中的100个数值,按照从大到小的排序,放在TABLE2开始的内存单元中。

3、将TABLE2中的数字,顺序输出在屏幕上。

4、查看TABLE1开始的内存的100个数值。

5、查看TABLE2开始的内存的100个数值。

三、设计思路:1、自定义一个display函数,用来往屏幕上显示特定的字符。

2、定义一个data段,用来存储固定的字符。

3、定义一个code段,当做主程序。

4、所用的方法是冒泡排序法5、主程序中第一步先获取键盘输入。

6、主程序中第二步将键盘输入的数存储到内存中。

7、主程序中第三步用[基址+变址]方法进行冒泡排序。

8、主程序中第四步将排序好后新的数组从内存中取出,并回显到屏幕上。

四、排序算法:1、冒泡排序:(1)比较相邻的两个元素,如果第二个比第一个大,则交换这两个值。

(2)对每一对相邻元素做相同的工作,从开始第一对到结尾的最后一对,这样最后的元素应该会是最大的数。

(3)针对所有的元素重复以上的步骤,除去最后一个。

(实际过程中是最后一个值和后面的一个空值进行比较)(4)重复(1)~(3),直至排序完成。

2、选择排序:(1)首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

(2)再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

(3)重复(1)~(2)过程,直至排序完成。

3、插入排序:(1)构建有序数列。

(2)对于未排序的数据,在已排序的数列中从后向前扫描。

(3)找到相对应的位置后插入。

汇编语言实验教程-ddg

实验一:熟悉环境及DEBUG应用实验目的:1、复习C/C++的变量、地址、指针、内存空间等概念;2、熟悉基本的DOS命令;3、掌握DEBUG的启动及其使用方法与常用命令。

4、初步认识CPU的寄存器。

实验内容:一、C/C++语言回顾目的:通过C/C++的变量、地址、指针、内存空间等概念的回顾,了解计算机内数据的存放方式和访问方式。

1、编程定义一个整型int、一个双精度型double、一个字符型char的指针,并赋初值,然后显示各指针所指目标的值与地址,各指针的值与指针本身的地址及各指针所占字节数(其中地址用十六进制显示,注意字符指针输出是字符串,必须强制转换为无类型指针)。

要求运行结果如下所示:变量内容首地址长度(字节)cval ‘A’0x0012ff64 1类型:整型: int, short int, short, long int, long, unsigned int, unsigned short, unsigned long实型: float, double, long double字符型: char#include<iostream>using namespace std;int main(){int *ip,ival=100;double *dp,dval=99.9;char *cp,cval='A';ip=&ival;dp=&dval;cp=&cval;cout<<*ip<<'\t'<<&*ip<<'\t'<<sizeof(*ip)<<endl;cout<<*dp<<'\t'<<&*dp<<'\t'<<sizeof(*dp)<<endl;cout<<*cp<<'\t'<<(void*)&*cp<<'\t'<<sizeof(*cp)<<endl;//字符指针输出是字符串,必须强制转换为无类型指针cout<<*cp<<'\t'<<&*cp<<'\t'<<sizeof(*cp)<<endl;//输出A开头的字符串cout<<ip<<'\t'<<&ip<<'\t'<<sizeof(ip)<<endl;cout<<dp<<'\t'<<&dp<<'\t'<<sizeof(dp)<<endl;cout<<(void*)cp<<'\t'<<&cp<<'\t'<<sizeof(cp)<<endl;return 0;}2、编程定义一个一维数组、一个二维数组、一个字符串(字符数组)、一个结构体,并赋初值,然后显示各指针所指目标的值与地址,各指针的值与指针本身的地址及各指针所占字节数(长度)。

微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。

实验原理及操作步骤一、上机环境❖要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。

▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。

▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。

▪调试程序:DEBUG.EXE,用于调试可执行程序。

二、上机过程❖汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。

1.编辑源程序❖用文本编辑软件创建、编辑汇编源程序。

常用编辑工具有:、记事本、Word等。

❖无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。

2.汇编❖用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。

❖汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。

❖汇编过程如下:❖在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。

❖此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。

Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。

如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。

此时,需要进行修改,然后再进行汇编。

❖如此进行,直至汇编无错误,得到目标文件为止。

3.连接❖汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上海电力学院 实验报告 课程名称 汇编语言 实验项目 试验9 磁盘文件存储技术 姓名 李鑫 学号 20103277 班级 2010251 专业 计算机科学与技术 教师姓名 王 勇 实验日期 2012-5-7 一、 试验内容 参照试验指导书,和教材409页和414页程序,建立一个文件,并加密,mykey=6A(你姓第一个字母的 ASCII)例如,ASCII(j)=6A; 文件内容为 学号:20073487 姓名:jiangjinyu 班级: ****** 兴趣爱好: ******** 0 最后输入0,会避免显示出现异常 二、 程序源代码 1.建立文件 .model small .stack .data myname db 'lixin',0dh,0ah mystuNO db '20103277',0dh,0ah proName db 'cipher file read and write',0dh,0ah,'$'

namepar label byte maxlen db 30 namelen db ? namerec db 30 dup(' '),0dh,0ah

clrf db 13,10,'$' errcde db 0 handle dw ?

pathMaxLen db 50 pathActLen db ? pathnam db 'd:\masm5\409\mydata.txt',0

prompt db 'name? ' row db 01 opnmsg db '***open error***',0dh,0ah,'$' wrtmsg db '***write error***',0dh,0ah,'$' mykey db 6Ch .code begin proc far

mov ax,@data mov ds,ax mov es,ax mov ax,0600h

call scren call curs call showmyinfo

call creath cmp errcde,0 jz contin jmp back

contin: call proch cmp namelen,0 jne contin call clseh

back: mov ax,4c00h int 21h begin endp

creath proc near mov ah,3ch mov cx,0 lea dx,pathnam int 21h jc a1

mov handle,ax ret

a1: lea dx,opnmsg call errm ret creath endp

proch proc near mov ah,40h mov bx,01 mov cx,06 lea dx,prompt int 21h

mov ah,0ah lea dx,namepar int 21h cmp namelen,0 jne b1 ret

b1: mov al,20h sub ch,ch mov cl,namelen lea di,namerec add di,cx neg cx add cx,30 cld rep stosb ;-------------------------- mov si,0 mov al,myKey mov cx,30 cipher1: xor namerec[si],al inc si loop cipher1 ;---------------------------

call writh call scrl ret proch endp

scrl proc near cmp row,18h jae c1 mov ah,09 lea dx,clrf int 21h inc row ret c1: mov ax,0610h call scren call curs ret scrl endp

writh proc near mov ah,40h mov bx,handle mov cx,32 lea dx,namerec int 21h jnc d1 lea dx,wrtmsg call errm mov namelen,0 d1: ret writh endp

clseh proc near mov namerec,1ah call writh mov ah,3eh mov bx,handle int 21h ret clseh endp

scren proc near mov bh,1eh mov cx,0 mov dx,184fh int 10h ret scren endp

curs proc near mov ah,02 mov bh,0 mov dh,row mov dl,0 int 10h ret curs endp errm proc near mov ah,40h mov bx,01 mov cx,21 int 21h mov errcde,01 ret errm endp

showmyinfo proc near push dx lea dx,myname mov ah,9 int 21h pop dx ret showmyinfo endp

end begin 2.读取文件 .model small .stack 64 .data endcde db 0 handle dw ? ioarea db 32 dup(' ') pathnam db 'd:\masm5\409\mydata.txt',0 openmsg db '***open error***',0dh,0ah readmsg db '***read error***',0dh,0ah row db 0 myKey db 6Ch .code begin proc far mov ax,@data mov ds,ax mov es,ax mov ax,0600h call scren call curs call openh cmp endcde,0 jnz a1

contin: call readh cmp endcde,0 jnz a1

call disph jmp contin a1: mov ax,4c00h int 21h begin endp

openh proc near mov ah,3dh mov al,0 lea dx,pathnam int 21h jc b1 mov handle,ax ret b1: mov endcde,01 lea dx,openmsg call errm ret openh endp

readh proc near mov ah,3fh mov bx,handle mov cx,32 lea dx,ioarea int 21h ;-------------------------- mov si,0 mov al,myKey mov cx,30 uncipher1: xor ioarea[si],al inc si loop uncipher1 ;--------------------------- jc c1 cmp ax,0 je c2 cmp ioarea,1ah je c2 ret c1: lea dx,readmsg call errm

c2: mov endcde,01 ret readh endp

disph proc near mov ah,40h mov bx,01 mov cx,32 lea dx,ioarea int 21h cmp row,24 jae d1 inc row ret d1: mov ax,0601h call scren call curs ret disph endp

scren proc near mov bh,1eh mov cx,0 mov dx,184fh int 10h ret scren endp

curs proc near mov ah,2 mov bh,0 mov dh,row mov dl,0 int 10h ret curs endp

errm proc near mov ah,40h mov bx,01

相关文档
最新文档