第4章 汇编语言程序设计Word下载.docx
- 文档编号:20251704
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:40
- 大小:47.90KB
第4章 汇编语言程序设计Word下载.docx
《第4章 汇编语言程序设计Word下载.docx》由会员分享,可在线阅读,更多相关《第4章 汇编语言程序设计Word下载.docx(40页珍藏版)》请在冰豆网上搜索。
如果高位相等,则比较低位
2P的低位小于等于Q的低位,转L2
(2)
L1:
Z,1
L2:
Z,2
:
……
程序根据2P与Q的大小,确定Z的值。
如果2P≤Q,则2
如果2P>
Q,则1
请参阅程序注解
8.编写指令序列,将和中较大的绝对值存入,较小的绝对值存入。
1
1:
2
2:
3
3:
……
9.编写指令序列,比较、中的数的绝对值,绝对值较大的数存入,绝对值较小的数存入。
10.编写指令序列,如果寄存器存放的是小写字母,把它转换成大写字母,否则不改变内容。
AL,‘a’
AL,‘z’
AL,‘a’-‘A’
:
11.计算分段函数:
X的值从键盘输入,Y的值送显示器输出。
10,0,‘X:
$’
20,0,‘:
$’
:
:
:
1
;
输入X的值
-2
L2
L1:
3;
←3
L2:
3
L3
;
←2X
←4X
←5X
6;
←56
L3:
2;
←2
2
输出Y的值
4C00H
21H
12.计算分段函数:
A,B的值从键盘输入,Y的值送显示器输出(∧表示“并且”,∨表示“或者”)。
10,0,‘A:
20,0,‘B:
30,0,‘:
A?
B?
输入A
A,
输入B
B,
L1;
B<
0,转L1
A,0
A<
1
B,0
L2;
00,转L2
;
0B≠0,无定义,转
1:
B,0
;
A≠00,无定义,转
L3:
A
B
L2:
L1:
B
4C00H
说明:
如果把A、B看作是平面直角坐标的两根轴,那么这个函数在A,B的正轴上无定义。
无法计算,也无法输出结果。
13.编写程序,求10元素字数组中绝对值最小的数,存入单元。
-56,+12,88,-126,-5,16,32,-99,72,-18
?
?
;
将数组第一个元素假设为绝对值最小的数
32767;
最小的绝对值假设为32767
10
[]
0
;
求绝对值
;
绝对值与假设的最小绝对值比较
2;
假设的绝对值较小,跳过
保存新的最小绝对值
[];
取出新的绝对值最小的数
;
保留新的绝对值最小的数
2:
2
4C00H
一定要预设最小的绝对值和绝对值最小的数,而且这个绝对值最小的数必须来自数组。
14.编写程序,求20元素无符号字数组中最小的奇数,存入单元,如果不存在奇数,将单元清零。
56,12,88,126,5,16,32,99,72,18
116,34,92,32,156,42,816,16,15,218
0
65535;
将65535假设为最小的奇数
20
1;
测试是否为奇数
不是奇数跳过
;
记录奇数个数
;
奇数与预设的最小奇数比较
大于预设奇数,跳过
小于预设奇数,保留
0;
判有无出现过奇数
未出现过,把单元清零
15.一个有符号字数组以0为结束标志,求这个数组的:
最大值、最小值、平均值。
-56,+12,88,-126,-5,16,32,-99,72,-18,0
32767;
将32767假设为最小的数
-32768;
将-32768假设为最大的数
0;
用作累加器,清零
找到零元素,转结束处理
纪录非零元素个数
累加
.;
比预设最小值还小,保留
2
;
比预设最大值还大,保留
元素个数为零,转处理
计算平均值
:
0;
元素个数为0,将“最大值”、“最小值”
“平均值”清零
16.数组中存有一个班级40名学生的英语课程成绩。
按照0~59,60~74,75~84,85~100统计各分数段人数,存入N0,N1,N2,N3变量内。
40(?
);
运行前置入具体数据
N0?
N1?
N2?
N3?
N0,0;
各计数器清零
N1,0
N2,0
N3,0
40
59;
分段测试
L1
L0:
N0
74
L2
N1
84
N2
100
N3
17.是一个16个字符组成的字符串,是一个字整数。
编写程序,测试中的每一个字符,如果该字符为数字字符,把中对应位置1,否则置0。
16(?
运行前置入具体字符
置为初始状态
16
1;
右侧空出一位
[]
‘0’;
测试是否数字
AL,‘9’
将对应位置1
18.编写程序,从键盘上输入一个无符号字整数,用“四进制”格式输出它的值(也就是,每2位二进制看作一位四进制数,使用数字0~3)。
10,0,‘a:
20,0,‘:
输入一个无符号整数
;
转存到
9
21H;
输出前导信息
8
1
1;
最高2位移到最低位
00000011B;
保留最低2位
30H;
转换成代码
2
输出
19.编写程序,把一个30个元素的有符号字数组按照各元素的正负分别送入数组P和M,正数和零元素送P数组,负数送M数组。
30(?
汇编之前置入数据
P30(?
)
M30(?
;
数组指针
0;
P数组指针
M数组指针
30
[];
从数组取出一个数据
AL
;
正数、零转
M[],;
负数存入M数组
P[],;
正数、零存入P数组
2
20.缓冲区中存放有字符串,以0为结束标志。
编写程序,把字符串中的大写字母转换成小写字母。
‘A.’,0
缓冲区指针
从缓冲区取出一个字符
AL,AL
为零,处理完成
AL,‘A’
‘Z’
AL,‘a’-‘A’
[],
21.编写程序,从键盘上输入无符号字整数X,Y的值,进行的运算,然后按以下格式显示运算结果和运算后对应标志位的状态。
,,,
(其中X为十进制数字,Y为0或1)
10,0,‘a:
20,0,‘$’
30,0,‘’
?
‘,’
0,0,‘$’
;
输入X
;
输入Y
求和
;
保留标志位状态
输出两个数的和
;
标志寄存器内容转存入
AL,‘0’
1000000B;
测试
1
AL
ZF,AL
AL,‘0’
100000000000B;
2
AL
AL,‘0’
10000000B;
3
3:
1;
4
4:
3
21H;
输出标志位状态
22.编写程序,从键盘上输入一个字符串,统计其中数字字符,小写字母,大写字母,空格的个数并显示。
81,?
81(?
20,0,‘:
30,0,‘:
40,0,‘:
50,0,‘:
09H
输出提示信息
输入字符串
1
0;
字符个数送
2;
设置字符指针
[];
取出一个字符
AL,‘‘
L1:
空格字符计数
L2:
AL,‘9’
L4
L3:
数字字符计数
L4:
AL,‘A’
L6
L5:
大写字符计数
L6:
AL,‘a’
AL,‘z’
小写字母计数
循环控制
0
输出数字字符个数
4
输出小写字母个数
输出大写字母个数
AL,
5
输出空格个数
23.编写程序,读入20个数据,统计每个相同数据出现的次数。
20(?
20(?
0,0,‘a.$’
20
;
输出提示信息和序号
-1
输入一项数据
[],;
保存成绩
LOOP
[],-1;
将“出现次数”初始值设为-1
为被统计数据指针
0:
为其它数据的指针
[];
取出被统计数据
[];
与其他数据相比较
[];
出现相同数据,次数加1
1;
比较下一个数据
LOOP0
24.编写程序,打印九九乘法表。
‘$’;
乘积不足两位时补一个空格
1;
为被乘数
1;
为乘数
10
输出乘积
LOOP1
结束一行
子程序输出时,数据前后各留出一个空格。
程序中对一位数的乘积补上一个空格,这样每个数据共占用4个字符位置,使输出对齐。
25.编写程序,显示1000以内的所有素数。
2;
为被测试的1000以内的整数
0;
记录一行上已输出数据个数(每行输出10个素数)
1;
计算测试范围
2;
第一个测试数据
;
测试完成?
测试完成,是素数,转
除法测试
整除,本数据非素数,转
形成下一个测试数据
继续测试
统计本行输出数据个数
本行数据未满10个,直接输出
本行数据已满10个,清计数器
输出回车换行
-1
输出一个素数
产生下一个被测试数据
1000
未完成,继续
26.编写程序,输入N,计算:
1*2+2*3+……+
(1)*N
10,0,‘N:
20,0,‘$’
输入N
;
用作累加器
计算J*
(1)
输出结果
27.编写程序,输入N,输出如下矩阵(设5)
11111
22221
33321
44321
54321
设I为行(1~5),J为列(1~5),则(I,J)位置上的数据为:
I>
(6)?
I:
6。
为行号
5;
为6-列号
判断当前位置
下半三角,取6-列号
;
上半三角,取行号
-1
输出一个数据
COL
结束本行
修改行号
5
未满5行,继续
28.根据下面条件,画出每次调用子程序或返回时的堆栈状态。
(1)主程序调用属性的1子程序,返回的偏移地址为1200H.
(2)进入1后调用属性的2子程序,返回的偏移地址为2200H.
(3)进入2后调用属性的3子程序,返回的段基址为4000H,偏移地址为0200H。
(4)从3返回2后。
(5)从2返回1后。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 汇编语言程序设计 汇编语言 程序设计