华中科技大学汇编实验源代码及实验报告2.1任务1.《80X86汇编语言程序设计》教材中P31的1.14题。
要求:(1)直接在TD中输入指令,完成两个数的求和、求差的功能。
求和/差后的结果放在(AH)中。
(2)请事先指出执行指令后(AH)、标志位SF、OF、CF、ZF的内容。
(3)记录上机执行后的结果,与(2)中对应的内容比较。
(4)求差运算中,若将A、B视为有符号数,且A>B,标志位有何特点?若将A、B视为无符号数,且A>B,标志位又有何特点?2.2任务2.《80X86汇编语言程序设计》教材中P45的2.3题。
要求:(1)分别记录执行到“MOVCX,10”和“INT21H”之前的(BX),(BP),(SI),(DI)各是多少。
(2)记录程序执行到退出之前数据段开始40个字节的内容,指出程序运行结果是否与设想的一致。
(3)在标号LOPA前加上一段程序,实现新的功能:先显示提示信息“Pressanykeytobegin!”,然后,在按了一个键之后继续执行LOPA处的程序。
2.3任务3.《80X86汇编语言程序设计》教材中P45的2.4题的改写。
要求:(1)实现的功能不变,对数据段中变量访问时所用到的寻址方式中的寄存器改成32位寄存器。
(2)内存单元中数据的访问采用变址寻址方式。
(3)记录程序执行到退出之前数据段开始40个字节的内容,检查程序运行结果是否与设想的一致。
(4)在TD代码窗口中观察并记录机器指令代码在内存中的存放形式,并与TD中提供的反汇编语句及自己编写的源程序语句进行对照,也与任务2做对比。
(相似语句记录一条即可,重点理解机器码与汇编语句的对应关系,尤其注意操作数寻址方式的形式)。
(5)观察连续存放的二进制串在反汇编成汇编语言语句时,从不同字节位置开始反汇编,结果怎样?理解IP/EIP指明指令起始位置的重要性。
2.4设计实现一个学生成绩查询的程序。
1、实验背景在以BUF为首址的字节数据存储区中,存放着n个学生的课程成绩表(百分制),每个学生的相关信息包括:姓名(占10个字节,结束符为数值0),语文成绩(1个字节),数学成绩(1个字节),英语成绩(1个字节),平均成绩(1个字节)。
2、功能一:提示并输入待查询成绩的学生姓名(1)使用9号DOS系统功能调用,提示用户输入学生姓名。
(2)使用10号DOS系统功能调用,输入学生姓名。
输入的姓名字符串放在以in_name为首址的存储区中。
(3)若只是输入了回车,则回到“(1)”处重新提示与输入;
若仅仅输入字符q,则程序退出,否则,准备进入下一步处理。
3、功能二:以学生姓名查询有无该学生(1)使用循环程序结构,在成绩表中查找该学生。
(2)若未找到,就提示用户该学生不存在,并回到“功能一(1)”的位置,提示并重新输入姓名。
(3)若找到,则将该学生课程成绩表的起始偏移地址保存到POIN字变量中。
4、功能三:计算所有学生的平均成绩使用算数运算相关指令计算并保存每一个学生的平均成绩。
平均成绩计算公式:(A*2+B+C/2)/3.5,即将语文成绩A乘以权重2、英语成绩C除以权重2后,与数学成绩B一起求和,再计算该生的平均成绩。
要求避免溢出。
5、功能四:将功能二查到的学生的平均成绩进行等级判断,并显示判断结果。
(1)平均成绩等级显示方式:若平均成绩大于等于90分,显示“A”;
大于等于80分,显示“B”;
大于等于70分,显示“C”;
大于等于60分,显示“D”;
小于60分,显示“F”。
提示:使用分支程序结构,采用2号DOS系统功能调用显示结果。
(2)使用转移指令回到“功能一(1)”处(提示并输入姓名)
2023/11/8 19:29:41 282KB 汇编
1
跑马灯:前面板:水平指针滑动杆——用于调节彩灯间的延时时间。
指示灯——用以显示程序运行结果。
开关——用于结束当前操作。
程序框图:本程序主要用到平铺式顺序结构和层叠式顺序结构顺序执行程序语句,用真假常量来控制灯亮与不亮。
本程序还用到了while循环和for循环,循环是用于达到闪烁和同步递进循环,整个程序几乎每一帧都用到了延时,单位是毫秒,延时的目地是使本程序更具有可观性,特别效果:单个流水闪烁·双路同步流水闪烁·四路同步流水闪烁·全体同步闪烁谢谢老师的观赏!
2023/11/8 11:35:52 408KB 跑马灯
1
一个能编译运行大部分C0语句的编译器。
北航大三上编译原理课设作业,最终得分88。
有充足的注释说明,供需要的同学参考(切勿抄袭哦~)。
2023/11/7 15:53:03 31KB C0 编译器 北航 编译课设
1
1.11、MySQL的复制原理以及流程(1)、复制基本原理流程1.主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;
2.从:io线程——在使用startslave之后,负责从master上拉取binlog内容,放进自己的relaylog中;
3.从:sql执行线程——执行relaylog中的语句;
(2)、MySQL复制的线程有几个及之间的关联MySQL的复制是基于如下3个线程的交互(多线程复制里面应该是4类线程):1.Master上面的binlogdump线程,该线程负责将master的binlogevent传到slave;
2.Slave上面的IO线程,该线程负责接收Master传过来的binlog,并写入relaylog;
3.Slave上面的SQL线程,该线程负责读取relaylog并执行;
4.如果是多线程复制,无论是5.6库级别的假多线程还是MariaDB或者5.7的真正的多线程复制,SQL线程只做coordinator,只负责把relaylog中的binlog读出来然后交给worker线程,woker线程负责具体binlogevent的执行更多面试题,请下载附件......
2023/11/6 17:27:48 480KB mysql
1
数据库语句都替你们写好了,只要导入一些相应的jar包就行
2023/11/5 17:07:50 33.15MB spring hibernate struts
1
CMake是一个跨平台的编译(Build)工具,可以用简单的语句来描述所有平台的编译过程
2023/10/31 21:15:43 22.65MB C++
1
  编制程序,完成局部优化过程中的基本块划分。
给定一段代码,判定程序的入口语句,划分基本块,删除无用产生式和冗余节点。
1
编译原理for条件语句,while语句的翻译及各种地质输出,大家慢慢找
2023/10/29 23:29:58 7.78MB 编译原理 for 条件语句,while
1
c的初学者
2023/10/27 23:46:52 6KB c语言
1
PostgreSQL常用命令和语句查询表,包括psql客户端工具使用、数据库和模式管理、用户和权限管理、表管理、表空间管理、索引、查询语句、DML语句、事务控制、视图、存储过程/触发器、备份恢复等。
2023/10/24 14:05:37 334KB PostgreSQL 常用命令 常用语句 速查表
1
共 827 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡