实验三
课程名称 实验名称 姓名 嵌入式微机原理 分支结构程序 王译毅 学号 1112020321 时间:2013.10.29 地点:B302 班级:电技11-3 成绩评定: 一.实验目的
(1)熟悉汇编程序基本构架;掌握汇编程序开发过程;
(2)了解CodeView软件调试程序的基本方法; (3)熟悉并掌握分支结构程序设计的基本方法; (4)熟悉并掌握循环结构程序设计的基本方法。 二.实验内容
● 编写程序,练习分支结构程度的设计方法 ● 编写程序,练习循环程序的设计方法
三:实验步骤
3.1汇编程序开发的基本实验步骤 1、阅读教材41~43页内容。
2、用EDIT编辑源程序eg301.asm,并存盘 ;eg301.asm .model small .486 .stack .data
msg db’Hello,Assembly!’,13,10,’$’ .code .startup
mov dx,offset msg mov ah,9 int 21h
.exit ;程序执行结束,返回DOS end ;汇编结束
3、源程序的汇编(ML eg301.asm)和目标文件的连接,生成文件: 目标模块文件eg301.obj;
列表文件eg301.lst; 可执行文件eg301.exe。
4、运行可执行文件(eg301.exe)
5、用CV调试该可执行文件(make 文件名→cv 文件名)见教材附录A。 3.2分支结构程序的实验步骤
(1)在DOS方式下键入edit name.asm <CR>(cd\\→d: cd ml615→ ml615>edit)
(2)键入源程序并保存
(3)键入make ex1_3_2 <CR>进行汇编 (4)键入 ex1_3_2 <CR>运行程序
● 程序ex1_3_2.asm
.code je done .startup shr al,1 mov ah,1 jnc next int 21h inc ah xor ah,ah next: jmp again again: cmp al,0 done:
以上程序完成是统计“1”位的个数(仅包括数据段和代码段)。用CV调试该程序,熟悉CV调试环境,如源程序窗口、寄存器窗口、命令窗口。单步运行程序观察寄存器窗口的变化,记录其变化结果。
3.2循环结构程序实验步骤
(1)在DOS方式下键入edit name. asm <CR> (2)键入源程序并保存
(3)键入make name <CR>进行汇编 (4)键入name <CR>运行程序
● 程序ex1_3_3. asm .data mov ebx,eax array dw 136,138,133,130,6776,6778,6713 again: movzx edx,array[ebx*(type array)] sum dd ? add eax,edx .code inc ebx .startup loop again mov ecx,lengthof array mov sum,eax xor eax,eax
以上程序完成数组求和。要求用CV调试运行该程序。● 程序ex1_3_4. asm .code
.startup
mov esi,offset string xor ebx,ebx ;EBX again: mov al,[esi]
cmp al,0 jz done
cmp al,20h jne next inc bx next: inc esi
jmp again done: mov space,ebx
以上程序记录字符串种特定字符个数。
四:实验内容