汇 编 语 言 实 验 报 告
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. 用查表的方法将内存单元中的字用二进制表示 代码:
流程图: