- 博客(0)
- 资源 (12)
- 收藏
- 关注
Sample语言词法分析器标准答案
设计SAMPLE语言的词法分析器
检查要求:
启动程序后,先输出作者姓名、班级、学号(可用汉语、英语或拼音);
请求输入测试程序名,键入程序名后自动开始词法分析并输出结果;
输出结果为单词的二元式序列(样式见样板输出1和2);
要求能发现下列词法错误和指出错误性质和位置:
非法字符,即不是SAMPLE字符集的符号;
字符常数缺右边的单引号(字符常数要求左、右边用单引号界定,不能跨行);
注释部分缺右边的界符*/(注释要求左右边分别用/*和*/界定,不能
2012-01-11
DEBUG的使用
实验1 DEBUG的使用
1、实验目的
掌握DEBUG常用命令的使用;熟悉8086CPU内部有多少寄存器;掌握访问段式存储器结构地址的表示方法。
2、实验内容
将数据段中的两个数求和,结果保存在数据段中。源程序、机器语言程序如下:
CS:0100 Al 00 00 MOV AX,[0000]
CS:0103 03 06 02 00 ADD AX,[0002]
CS;0107 A3 04 00 MOV [0004],AX
CS:010A CB RETF
数据段内容如下:
DS:0000 2301 2500 ;两个已知数
3、实验步骤
(1)用E命令键人上述机器语言程序和数据段的初值。
—E DS:000 2301 2500
—E DS:006 2A 2A 2A (2A为*标记,是为便于查看数据段内容而设置)
—E CS:100 A1 00 00 03 06 02 00
—E CS:107 A3 04 00 CB
(2)用D命令检查数据段、代码段内容。
—D DS:0
—D CS:100
(3)用T命令逐条执行上述程序,注意观察每条指令执行后相应寄存器的变化。
(4)用U命令反汇编本程序。
—U 100 10A
(5)用R命令修改IP的内容为0100重新执行上述程序。
—R IP
显示:IP 010A
:0100
(6)用G命令运行程序。
—G =CS:0100 107
观察:IP=AX=
—G =CS:0100 10A
观察:IP=AX=
4、实验思考题
(1)用A命令输入源程序:
CS:0100 MOV AX,FFFF
STC
0104 MOV DS,AX
MOV BX,DS
MOV ES,BX
MOV CX,ES
MOV SS,CX
MOV DX,SS
MOV SP,DX
MOV BP,SP
MOV SI,BP
MOV DI,SI
JNB 012l
XOR AX,DI
JNZ 0125
CLC
JMP 0104
0121 OR AX,DI
JZ0100
0125 HLT
(2)用T命令单步执行上述程序。观察结果,并注意标志寄存器的变化。
2011-11-20
数据结构 模拟以下游戏过程
题目1:
请模拟以下游戏过程,n个人围成一圈,其中在某个人手中有一条手绢,开始游戏时,由主持人报出一个整数t,该手绢将会沿着顺时针传递t次到达x君手中,x君将手绢递给顺时针方向上的下一个人,并离开这个圈。以上过程,我们称为一轮游戏。如果游戏继续,在新一轮游戏中,持有手绢的人将继续重复上面的过程,根据主持人报的整数传递手绢,并有一个人离开。在每一轮游戏中,都会有一个人离开。
输入格式:
第一行输入圈中的人的个数n,第二行输入进行游戏的轮数m,第三行是一个长度为n的字符串,其中每个字符代表一个人,串中两个相邻的字符表示两个相邻的人,串中第一个字符和最后一个字符对应的两个人也相邻。比如”ABCDE”表示有5个人,这5个排成一圈,如下图所示。第四行是游戏开始时持有手绢的人对应的字符。第5行到第m+4行,共m行表示在m轮游戏中,每轮游戏主持人报的整数。
输出格式:
输出m行,其中第i行(1<=i<= m)输出第i轮游戏结束时,持有手绢的人对应的字符。
输入示例:
5
2
ABCDE
B
8
1
输出示例:
A
C
2011-11-16
求数组中数据出现频率最高的数源代码
定义main ( ) 函数,用随机函数生成有50个元素的一维数组,每个元素值为小于20的正整数;并由main ( )函数调用自定义函数count ( ),找出在数组中出现频率最高的元素值及出现的次数。例如在数组 [ 1,5,4,2,5,8,5,4 ] 中,出现频率最高的元素值是5,次数是3。
2010-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人