X86汇编程序设计第二次实验作业-说明1

preview
需积分: 0 0 下载量 45 浏览量 更新于2022-08-08 收藏 26KB DOCX 举报
在X86汇编语言程序设计中,第二次实验作业主要涉及了三个编程题目,涵盖了排序、数字处理和乘法运算。下面将详细解释这些知识点。 1. 冒泡排序及数据显示: - **冒泡排序**是一种简单的排序算法,通过不断交换相邻的未正确排序的元素来达到排序的目的。在X86汇编中,你需要创建样本数据区,存储两个字(16进制表示的8位学号),然后编写冒泡排序的子程序对它们进行排序。 - **数据显示**部分要求在排序前后展示字表,每个字之间空一格。这需要利用内联汇编或子程序来实现ASCII码的转换和打印。同时,需要考虑如何在屏幕上显示十六进制和十进制的转换。 2. 十进制数乘法与结果显示: - **十进制数乘法**的实现需要用户从键盘输入两个两位或三位的十进制数,计算它们的乘积。由于乘积小于65535,可以使用寄存器直接存储结果。乘法完成后,将乘积转换为ASCII码并显示。 - **显示结果**需要处理乘积的ASCII表示,这可能涉及到二进制到十进制的转换,以及ASCII码的构建和输出。 3. 32位无符号数乘法: - **32位无符号数乘法**意味着需要处理两个无符号双字(XX,YY)的乘积。在X86汇编中,这可能涉及到双字的拆分,如XXH,XXL,YYH,YYL,以及多次单字乘法和进位加法(ADC指令)来实现64位的乘积。 - **显示16进制ASCII码**需要将64位乘积转换成16进制形式,然后转换为ASCII码以便显示。 - **显示十进制ASCII码**(选做)则要求更复杂的转换过程,因为16进制到十进制的转换涉及到除法和模运算。 实验作业提交要求包括手写程序代码照片、源代码文件、运行结果截图以及邮件发送格式,这确保了作业的完整性和可执行性。提交截止日期是2020年5月24日24:00。 在实际编程时,你可能需要用到的X86指令包括:`MOV`(移动数据)、`CMP`(比较)、`JMP`(跳转)、`JNE`(不相等跳转)、`SWAP`(交换)、`LOOP`(循环)、`ADD`(加法)、`SUB`(减法)、`MUL`(乘法)、`ADC`(带进位加法)、`DOSINT`(调用DOS中断)等。同时,为了处理字符和字符串,你还需要了解`DL`、`DH`寄存器,以及如何使用`INT 21H`调用DOS中断来实现I/O操作。
书看不完了
  • 粉丝: 27
  • 资源: 364
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源