大工19春《汇编语言程序设计》大作业题目及要求答案.docx
- 文档编号:149557
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:6
- 大小:142.74KB
大工19春《汇编语言程序设计》大作业题目及要求答案.docx
《大工19春《汇编语言程序设计》大作业题目及要求答案.docx》由会员分享,可在线阅读,更多相关《大工19春《汇编语言程序设计》大作业题目及要求答案.docx(6页珍藏版)》请在冰豆网上搜索。
大连理工大学远程与继续教育学院《汇编语言程序设计》课程设计
学习中心:
专 业:
计算机应用技术 年 级:
年 季 学 号:
学 生:
题 目:
题目一:
十进制转换十六进制程序设
计
1.谈谈你对本课程学习过程中的心得体会与建议?
时间过得真快,一学期的学习马上就要结束了,经过一个学期的学习,我也慢慢摸出了汇编学习的规律,特别感谢指导老师的耐心教导。
首先,学习这门语言时如果能联系上以前学过的其他高级语言的知识,则会起到良好的效果。
例如C语言程序的运行逻辑结构有顺序(按语句依次执行)、分支结构(IF...THEN...ELSE...),循环结构(FOR...NEXT)三种结构,也通过C语言了解并掌握了什么是子程序,什么是调用。
事实上,汇编语言中有关程序结构,子程序等等的知识都是跟C语言十分相似的,只是在编程时用到的语言不同:
汇编语言完全面向机器,需要指明数据在寄存器、内存中的流向。
第二,学习汇编语言,首要问题是学习80X86指令系统。
如果能将指令系统中的各个助记符、格式等都能完全掌握并灵活运用,大部分工作就已经完成了。
指令系统确定了CPU所能完成的功能,是用汇编语言进行程序设计的最基本部分。
如果不熟悉汇编指令的功能及其有关规定,那肯定不能灵活使用汇编语言。
还有一点十分重要。
和所有的程序设计语言一样,要学好汇编语言,实验是必不可少的环节。
我们深有体会:
书上的程序都能看懂,基本原理也都明白,但是在自己亲手编写程序时,却无从下手,甚至连第一句该怎么写都不知道。
通过实验,可以在很大程度上加深印象。
在书上看程序,一切都是理所当然,十分顺利,而自己动手,才会真正发现自己的不足之处。
程序的编写在记事本中进行即可,掌握debug的使用对实验是有很大帮助的。
现在汇编语言的学课程已经告一段落了,学习过程中遇到的所有困难以及遗留的难点都需要我们在其余时间里逐步攻克,在打好基础的前提下,学习更加专业的汇编知识。
以上便是我在学习汇编语言过程中所有的心得体会,我们会在不断的学习与实践中向着更深入的层面迈进。
2.《汇编语言程序设计》课程设计,从以下5个题目中任选其一作答。
题目一:
十进制转换十六进制程序设计
要 求:
(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。
(2)算法思路:
设计十进制转化十六进制的算法,简单介绍该算法的基本思想,100字左右即可。
(3)算法程序框图:
绘制流程图或原理图,从算法的开始到结束的程序框图。
(4)主要函数代码:
列出算法的具体代码。
(5)列出算法中使用指令的含义,比如解释MOV指令的含义,ADD指令的含义,至少撰写十个指令。
总 则:
只能使用汇编语言进行编制,不能选用C/C++等高级语言!
答:
一、算法思路
采用一个子程序DECIBIN实现从键盘取得十进制数并把它转换为二进制数;另一个子程序BINIHEX把此二进制数以十六进制数的形式在屏幕上显示出来。
为避免屏幕上的重叠,另外用CRLF子程序取得回车和换行效果。
各个子程序之间用BX寄存器来传送信息。
在过程DECIBIN中取得的输入数据转换为二进制数后保存在BX寄存器中,而过程BINIHEX需要把BX寄存器中的数用十六进制形式显示出来。
二、算法程序框图
三、主要函数代码程序(指令含义在代码后面):
DECIHEX SEGMENT ;定义代码段
ASSUME CS:
DECIHEX
MAIN PROC FAR ;主程序
REPEAT:
CALL DECIBIN ;调用子程序输入十进制数
CALL CRLF ;显示回车、换行CALL BINIHEX ;以十六进制数输出CALL CRLF ;显示回车、换行
JMP REPEAT ;转REPEAT,继续MAIN ENDP
DECIBIN PROC NEAR ;十进制数输入子程序
MOV BX,0 ;BX保存输入数NEWCHAR:
MOV AH,1
INT 21H ;调用DOS功能输入字符
SUB AL,30H ;转为数0-9
Jb EXIT ;小于0,不是数字CMP AL,9D ;与9比较
Ja EXIT ;大于,不是数字
CBW ;AL=>AX
XCHG AX,BX ;AX、BX互换MOV CX,10D ;CX=10
MUL CX ;AX=AX*CX
; XCHG AX,BX;AX、BX互换
ADD BX,AX ;BX为前面输入的结果
JMP NEWCHAR
EXIT:
RET
DECIBIN ENDPBINIHEX PROC NEAR
MOV CH,4 ;CH循环次数
ROTATE:
MOV CL,4 ;每次循环输出一位十六进制数
ROL BX,CL ;即移位4个二进制位MOV AL,BL ;AL=BL
AND AL,0FH ;取低4位
ADD AL,30H ;转变为ASCII码CMP AL,3AH ;是否为’0’-‘9’JL PRINTIT ;是转PRINTIT
ADD AL,7H ;否转为’A’-‘F’PRINTIT:
MOV DL,AL ;DL=输出字符
MOV AH,2
INT 21H ;调用DOS中断,显示字符DEC CH
JNZ ROTATE ;没循环结束,继续
RET ;返回
BINIHEX ENDP
CRLF PROC NEAR ;输出回车、换行
MOV DL,0DH
MOV
INT
AH,
21H
2
;输出回车
MOV
DL,
0AH
MOV
INT
AH,
21H
2
;输出换行
RET
CRLF
ENDP
DECIHEX
ENDS
END
MAIN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言程序设计 大工 19 汇编语言 程序设计 作业 题目 要求 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)