汇编语言实验4-分支程序设计 下载本文

汇 编 语 言 实 验 报 告

Assembly Language Programming Lab Reports

______________________________________________________________________________ 班级: _________ 姓名:___________ 学号:___________ 实验日期:_____________ 学院: _____计算机与通信工程学院____ 专业:_______计算机科学与技术___________

实验顺序:___实验四____ 实验名称:____________分支程序设计________________ 实验分数:_______ 考评日期:________ 指导教师:

______________________________________________________________________________

一.实验目的

1.掌握主要的转移指令和位操作指令。

(1)无条件转移指令。Jmp理解掌握段内寻址和段间寻址方式。

(2)条件转移指令,无符号数比较转移,带符号数比较转移,cx为0转移指令(jcxz)这

些都为短转移指令,当代码过长超出-128-127的的转移范围,学会使用无条件指令 作为中间桥梁完成相应的功能。 (3)Test指令和Cmp指令。 2.掌握分支程序实现的方法。

(1)在完成一个程序的功能时,先简单列出要完成这个程序需要的步骤。 (2)根据列出的步骤画出程序框图。 (3)根据框图写代码。

3.在调试运行程序时,理解程序的加载过程。进一步掌握编辑、编译、链接、调试过程。 ______________________________________________________________________________

二.实验环境

操作系统:windows xp 编译程序:masm 5.0

______________________________________________________________________________

三.实验原理

1. 无条件转移指令 格式:JMP OPR 举例:JMP AA1

2. 条件转移指令

格式:JZ、JNZ、JC、JNC 举例:JZ let1 3. 逻辑与AND

格式:AND DST,SRC 举例:AND AL,0FH 4. 循环左移,循环右移

格式:ROL、ROR 举例:ROL AX,1 ROR AL,1

5. CMP指令

格式:CMP OPR1,OPR2

执行操作:(OPR1)-(OPR2)

功能:该指令执行减法操作,但不保存运算结果,只改变条件标志位。 6. 测试指令TEST

格式:TEST OPR1,OPR2 执行的操作:(OPR1)^(OPR2)

功能:两个操作数相与,结果不回送,改变标志位。

______________________________________________________________________________ 四.实验步骤及结果分析

1. 用查表的方法将内存单元中的字用二进制表示 代码:

流程图: