1、汇编语言程序设计实验报告班级:通信1306 姓名:张金志 学号:U201313788一. 实验目的1. 掌握QTSPIM的调试技术 ;2. 了解MIPS汇编语言与机器语言之间的对应关系 ;3. 掌握MIPS汇编程序设计 ;4. 了解C语言语句与汇编指令之间的关系 ;5. 熟悉常见的MIPS汇编指令; 6. 掌握程序的内存映像;二. 实验内容用汇编程序实现以下伪代码:要求采用移位指令实现乘除法运算。int main() int K, Y ; int Z50 ; Y = 56; for(K=0;K50;K+) ZK = Y - 16 * ( K / 4 + 210) ; 三. 实验流程图四实验原理
2、 为数组开辟一个内存空间,然后对变量赋初值,运算中乘法用左移操作,除法用右移操作,利用bne不等于时就跳转来实现循环。五.实验代码.data k: .space 4 y: .space 4 z: .space 200 #开辟内存空间.text main: la $s0,k la $t0,y la $s4,z li $t0,0x38 li $s0,0x0 #分别赋初值loop: slti $s2,$s0,50 bne $s2,$0,content #循环条件判断 j done #不满足,则跳转到donecontent: srl $s3,$s0,2 #除以4 addi $s3,$s3,210 #加
3、上210 sll $s3,$s3,4 sub $s3,$t0,$s3 #t0是Y sll $s5,$s0,2 add $a3,$s4,$s5 #a3是zk sw $s3, 0($a3) addi $s0,$s0,1j loop done:li $v0, 10syscall #结束六 实验结果七 实验小结通过本次从c语言转换到汇编语言的实验,我第三次实践论了汇编语言进行简单的操作,学会了(1)汇编语言如何开辟地址空间,(2)如何用汇编语言实现数组的创建和存储,(3)初步尝试了for条件语句的汇编语言的实现步骤教训:由于忘记了$a0和$v0等的特殊性,误用了这些寄存器,导致实验结果迟迟不正确,后来发现并改正后,实现正确结果。,这种错误下次不会再犯了,以后会认真记住书本上的基本内容。