还记得大概两周前,微机老师在课堂上就说到要准备做微机实验了,也就是上机编译汇编。汇编~~!!每次上课都是听老师讲来讲去~好像就记得个MOV指令...这是我当时的感受,自己也没有怎么当回事儿,昨天才把实验报告打印出来,今天一开始上课就傻眼了~~
“同学们先把实验报告上面的代码验证一下,然后你们再把下面的题目自己做一下,做完后就可以走了~~”,老师在前面说道。
然后我才第一次认真看实验报告,上面密密麻麻的汇编代码错落有致的排列着,“都是上面玩意儿啊,一个都看不懂~~”,我在心里说着。然后,就在然后,老师又说话了:“刚刚有一组同学已经做完了,能加分的名额还有两个...”
我勒个深深的去,这么快~~完全不知所措了...赶快照着报告上面把代码敲到电脑上去实现,在依葫芦画瓢好一会儿后我才把代码都给验证了一遍。然后,就在这期间,又有一组人把实验搞定了,心里有点慌,但是看着代码完全不知道是上面意思,只好一个个翻书找,那速度就像我是个蜗牛一样前进,加上中途有经常来人打断,时间也就这样过去了一半。
好吧,又有一组人做完了,我心里已经从慌张变成了焦急。看看自己周围的人,有人还在努力做,有的人正在专心玩手机,我只好继续看书。期间慌乱的进行了几次调试,但是根本连调试都不熟,更别提能调试出什么结果来了,后来,我请教了老师,在老师的提示下,算是有了思路,正当自己快马加鞭写代码时,下课铃声却响了...我垂头丧气的走出了教室。
回去后,我调整了下心态,从新开始整理思路写代码,最后折腾了三个多小时,终于把实验题目都给做出来了
接下来来看看具体题目:
1:自行完成如下实验要求,变量BUF中存放着10个无符号字节数据,编程求出最小值存入变量MIN中
代码:
DATA SEGMENT D1 DB 9,3,6,8 COUNT EQU $-D1-1 MIN DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,OFFSET D1 MOV CX,COUNT MOV DL,[BX] INC BX LOP1: MOV AL,[BX] INC BX CMP AL,DL JA JUST MOV DL,AL JUST: LOOP LOP1 ADD DL,30H MOV AH,06H INT 21H MOV AH,4CH INT 21H CODE ENDS END START2:编程求1到10的和,1到20的和,1到30
代码:
DATA SEGMENT DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV CX,3 MOV BX,1 MOV AX,1 LOP: INC BX ADD AX,BX LOOP LOP ADD AX,30H MOV AH,06H INT 21H MOV AH,4CH INT 21H CODE ENDS END START其实题目都很简单~~
原文地址:http://blog.csdn.net/u010464679/article/details/41485295