微机原理与汇编语言程序设计实验指导书(9)
时间:2025-04-30
时间:2025-04-30
此文档是上海工程技术大学的微机课的三个实验,有的部分有
编写程序,判断数据段DSEG中的中年份变量YEAR(取值0-25000)是否是闰年,如果是闰年,则CX=1;否则CX=0。
3 )将以下C语言程序改写成对应的汇编语言程序,并使用debug或emu8086工具观察程序运行结果
short a=32,b=0xFFF0,c=-9; void main() {
if (a+b > 0 && c%3 == 0)
a = 62; else
a = 21;
}
3 、循环结构程序: 1 )内存数据计算程序
编写程序,计算存储器从地址FFFFH:0000H到FFFFH:000BH所有字节单元数据的校验和(校验和是不计进位的累加,长度1个字节,结果保存在DL) 2 )字符串空格数统计程序
编写程序,统计以00H为结束符地址为ASCII_STR的字符串长度以及字符串中小写字母“o”的个数(结果分别保存在寄存器CX和数据段DATASEG的字节变量O_NUM中)
DATASEG SEGMENT
ASCII_STR DB “Hello, Our World for today!”, 0 O_NUM DB ? DATASEG ENDS 3 )复制代码程序
此文档是上海工程技术大学的微机课的三个实验,有的部分有
1 )数的阶乘 ① 编写子程序
子程序名:FACTORIAL
实现功能:计算n!(1≤n≤5) 入口参数:BL(n)
② 使用该子程序,计算1!+2!+ +5!并将其保存在数据段DSEG的字变量RESULT中 2 )屏幕显示 ① 编写子程序
子程序名:LCD_DISPSTR
实现功能:从80列×25行屏幕的某行某列开始显示某个固定长度的字符串 入口参数:DX(DH:屏幕输出起始行[0-24]∕DL:屏幕输出起始列[0-79])
SI(字符串地址),CX(字符串长度)
出口参数:无 ② 使用该子程序在80列×25行的屏幕四角上显示“hello world!”,如下图所示:
3 )数值显示 ① 编写子程序
子程序名:BTOC
实现功能:将二进制形式的字节数据(0-255)转换为十进制形式的字符串 入口参数:AL(二进制形式的字节数据)
② 使用该子程序、数的阶乘子程序和屏幕显示子程序,从屏幕的第24行第0列开始显示1!+2!+ +5!的运算结果 4 )选择排序 ① 编写子程序
子程序名:MIN
实现功能:找出以00H为结束符全部由小写字母组成的字符串中最小的字母 入口参数:SI(字符串地址)
出口参数:AL(字符串中最小的字母),BX(最小的字母在数组中的位置:0∽len-1)
下一篇:逻辑学案例