第四章上机编程作业。
1. 编一程序,在显示器上显示256个ascii码,要求显示格式为每行显示16个字符,两个字符间空一格。
设计思路。在数据段中从buf地址开始定义256个内存单元变量,并将其长度赋值给count。
在**段中将buf首地址设为起始地址,赋给si,将count的值赋给cx,al与自己异或,得到第一个数据,并赋给[si],之后将al加1,si加1,循环次数为cx中所存的值,即内存单元长度,完成数据输入部分。
再将buf首地址设为起始地址,赋给si,将count的值赋给cx,用于之后循环计数,设bh初值为16,用于检测每行显示字符是否到达16个。将si所指地址中存的数赋给dl,利用dos调用功能实现输出该ascii码,再将dl赋值为20h,实现空格的输出显示,再将si加1,重新给dl赋值,如初循环直至所有数据完全显示。同时,在每显示一个字符及空格后,bh减1,当bh减为0,即一行已经显示16个字符时,输出换行、回车。
当数据完全显示之后,程序结束。
程序流程。源**。
执行结果。2. 编一程序,把地址偏移量为100h单元开始的256个单元分别写入00h,01h,02h,…,ffh数据,并统计数据块中0元素、正元素、负元素的个数,分别把统计结果送入上述数据块之后的三个单元中,用dos功能调用显示各单元内容。
设计思路。在数据段中从buf地址开始定义259个内存单元变量,并将其长度赋值给count。
在**段中将buf首地址设为起始地址,赋给si,将count-3的值赋给cx,al与自己异或,得到第一个数据,并赋给[si],之后将al加1,si加1,循环次数为cx中所存的值,即内存单元长度,完成数据存入部分。
再将buf首地址设为起始地址,赋给si,将count-3的值赋给cx,用于之后循环计数,将[si]赋给al,根据al与0比较获得的不同结果跳转至不同程序,相应元素个数加1,循环直至所有元素均统计完,其中dh存放零元素个数,bl和bh分别春芳正、负元素个数,将它们存入数据块之后。
最后将buf首地址设为起始地址,赋给si,将count的值赋给cx,用于之后循环计数,设bh初值为16,用于检测每行显示字符是否到达16个。将si所指地址中存的数赋给al,通过移位分别对al的高四位和低四位进行处理,转换为相应的ascii码,赋给dl,利用dos调用功能实现输出该ascii码,再将dl赋值为20h,实现空格的输出显示,之后将si加1,重新给dl赋值,如初循环直至所有数据完全显示。同时,在每显示一个数据及空格后,bh减1,当bh减为0,即一行已经显示16个字符时,输出换行、回车。
当数据完全显示之后,程序结束。
程序流程。其中判断正负部分为:
显示部分为:
源**。子程序清单。
子程序名称:disp
功能:实现ascii码的显示。
所用寄存器:dl,al,ah
入口参数:al存放待显示的ascii码。
出口参数:无。
执行结果。3. 编一程序,把键入的十六进制数转换成十进制数并在屏幕上显示出来,键入的最大数为ffffh,若键入的不是十六进制数,则显示错误。
设计思路。输出换行、回车多次使用,对其采用宏定义。
读取键盘键入的字符需要多次判断是否为有效数据,否则显示“error number”,并且对输入的每位正确数据采取与移位后的之前数据相加,将其存在bx寄存器中,实现十六进制数到二进制的转换。
显示十进制数时,应可转换的最大值ffffh为65535,则可对bx中的数分别取万位、千位、百位、十位和个位,并将结果依次显示在屏幕上。
当数据完全显示之后,跳回主程序,以待下次输入需要转换的数字。
程序流程。主程序流程如设计思路中所示,其中十六进制转换为二进制流程如下:
二进制转换位十进制数的流程图如下:
源**。子程序清单。
子程序名:hexbin
功能:接收键盘十六进制数,并将其转换为二进制数。
所用寄存器:bx,ah,al,fr,cl
入口参数:al存放键盘每输入一个字符时,其对应的ascii码。
出口参数:装换后的二进制数,存放在bx中。
子程序名:bindec
功能:实现二进制数到十进制数的转换,并在屏幕上显示。
所用寄存器:cx,ax,bx,dx,al,ah,dl
入口参数:bx存放需要转换的二进制数,最大值为65535
出口参数:无。
子程序名:dec_div
功能:实现除法功能,并将所得商显示在屏幕上。
所用寄存器:ax,bx,dx,cx,al,dl,ah
入口参数:bx存放被除数的低16位;cx存放除数。
执行结果。
2019北邮秋季作业
计算机信息系统 1.错误 系统开发任务书是哪项工作的成果 a.初步调查 b.可行性分析 c.详细调查 d.系统分析 2.错误 合理进行开发,设计和运用系统而采用的思想,步骤,组织和方法的总称为 a.系统管理 b.系统工程 c.系统控制 d.系统方法 3.错误 现代管理的核心是 a.b.控制 c.决策...
2019北邮阶段作业
判断题 共10道小题,共100.0分 1.实际的基尼系数总是大于零而小于一。a.正确 b.错误 3.某项政策实施前,基尼系数为0.68,该政策实施后,基尼系数为0.72,所以说该政策的实施有助于实现收入分配平等化。a.正确 b.错误 5.由公司发展为跨国公司,这并不是创新。a.正确 b.错误 7.两...
北邮排队论作业
计算机通信基础。期末 摘要对于一个普通的局域网,如果网络中的某一个终端想连接互联网,必须通过网络管理系统的验证,网络管理系统负责分配一定数量的上网名额给终端。这个过程可以看做是一个多服务窗损失制排队模型,本文分别从实际场景,排队系统组成,排队论在这个问题中的应用三个方面加以介绍。关键字网络管理多服务...