当前位置:文档之家› 微机原理实验4

微机原理实验4

实验4 分支、循环程序设计
一、实验目的
熟悉完整源程序的结构,熟悉汇编语言上机过程。 掌握分支、循环程序设计的基本结构。 编制简单分支、循环程序。
二、实验内容
1. 编制一个将N个ASCII字符进行偶校验的源程序。 2. 编制一段完整程序,找出无序的有符号数中的最小值和 最大值 。 3. 提示:参考DEBUG下的程序段,编制完整源程序(加 上数据定义和段定义等伪指令)
t3.exe , 将 该 程
序装入debug进行调试。
四、参考程序
设N=8,用E命令在DS:1000—1007单元放8个ASCII字符:31,32,33,34,41,42,43,44 LEA SI, [1000] LEA BX,[ 1010] MOV CX, 8 AGAIN: LODSB AND AL, AL JPE NEXT(0417) OR AL, 80 MOV [BX], AL INC BX JMP LP1(041A) NEXT: MOV [BX], AL INC BX LP1: DEC CX JNZ AGAIN(040B)bug中,观察数据段中的数据存储情况。
在DEBUG内,观察程序运行的结果。 修改程序1,实现奇校验 。
修改程序1,找出无符号数中的最小值和最大值。
三、实验步骤
• 使用EDIT或WINDOWS下的记事本或写字板输入 你 的 程 序 并 保 存 到 c:\masm 目 录 下 , 命 名 为 t3.asm(后缀必须是asm). • 汇编过程:c:\masm>masm t3(如果没有错误, 将生成t3.obj文件)
• 连接过程:c:\masm>link t3(如果没有连接错误, 将生成t3.exe文件) • 调试程序:c:\masm>debug
四、参考程序
INC 用E命令在DS:1000—100A中存放 11个数:0A,80,84,82,83,81, AGAIN:MOV 01,02,05,04,03,其中0A为数 CMP 列的个数。 JE LEA BX, [1000] JG LEA SI, [1010] MOV JMP LEA DI, [1020] GET: CMP MOV CH, 0 JL MOV CL, [BX] MOV DEC CX NEXT:INC INC BX DEC MOV AL, [BX] JNZ MOV [SI], AL RET MOV [DI], AL BX AL, [BX] AL, [SI] NEXT(022B) GET(0225) [SI], AL NEXT(022B) AL, [DI] NEXT(022B) [DI], AL BX CX AGAIN(0219)
相关主题