东北大学
计算机硬件技术基础实验报告
专业班级:姓名:学号:
实验题目:分支程序设计日期:
实验目的:
1) 掌握分支程序设计方法;
2) 掌握分支程序的设计、调试方法。
实验内容:
设有3个单字节无符号数存放在BUF开始的缓冲区中,编写一个能将它们从大到小重新排序的程序。
实验步骤:
1.输入源程序
DATA SEGMENT
BUF DB 87,234,123
DATA ENDS
CODE SEGMENT
ASSUME: CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET BUF
MOV AL,[SI];把三个数取到寄存器
MOV BL,[SI+1]
MOV CL,[SI+2]
CMP AL,BL ;排序
JAE NEXT1
XCHG AL,BL
NEXT1: CMP AL,CL
JAE NEXT2
XCHG AL,CL
NEXT2: CMP BL,CL ;将最小数送CL寄存器
JAE NEXT3
XCHG BL,CL
NEXT3: MOV [SI],AL ;从大到小依次存回缓冲区
MOV [SI+1],BL
MOV [SI+2],CL
MOV AH,4CH
INT 21H CODE ENDS
END START 2.实验结果
4.思考题
答:根据ZF 标志位进行判定,JAE 指令用JNC 指令替换。
扩展题
在BUF开始的单元里有3个单字节无符号数,编写程序找出它们中最小值并存入MIN单元。
答:
结果:
实验心得
通过本次实验,我掌握了分支程序的结构,掌握了分支程序的设计,调试方法。
通过实验,我阅读程序的能力也有进一步加强。
拓展题也让进一步的我锻炼了自主的编程能力。
同时,在本次实验中,我也进一步的体会到了汇编语言的严谨认真的思想。
另外,我也进一步的发现了8086汇编语言和C语言的一些共通思想。