微型计算机
实验二 循环结构汇编程序设计
一、实验目的
1. 熟练掌握RedASM调试汇编程序的方法。
2. 掌握循环结构汇编程序的设计方法。
二、实验原理
1)用伪指令定义变量X,有时后面带有多个参数,那么逐个访问这些参数是许多汇编程序中必须涉及到的问题。一般解决方法都是先将第一个参数的偏移地址送入某寄存器(SI、DI、BX、BP任选其一),然后在进行寄存器间接寻址即可得到第一个参数的值;如果要得到其他参数的值,只需要改变偏移地址(本质上就是C语言的指针)值,再做寄存器间接寻址。
2)循环指令“loop label”在使用时CX的值自动减1。
3)获取数据区长度可以使用伪指令。
三、实验设备与器件
PC机一台以及RedASM软件。
四、实验内容
1.编制一个完整的汇编语言程序,找出带符号字节数据区DA中的最大数和最小数,并将最大数放入变量MAX中,最小数放入变量MIN中,DA可以定义如下:
DA DB 36,78,120,-1,0,-54,33, 53,-40,78,100
2.编制一个完整的汇编语言程序,找出带符号字节数据区DA中“0”出现的位置(相对于第一个参数的位置),并存入CL中,若0不存在,则以-1存入CL中。
DA DB 36,78,120,-1,-54,0,33, 53,-40,78,100
五、实验总结(实验报告要求)
1、给出实验中所有调试通过的汇编源程序,并给出实验结果。
2、对实验结果及实验中碰到的问题进行分析、讨论。
3、本次实验的心得体会。