汇编实验报告--分支程序设计实验.docVIP

  • 4
  • 0
  • 约1.52千字
  • 约 3页
  • 2023-09-13 发布于湖北
  • 举报
实验四 分支程序设计实验 学生姓名: 何茂杰 学 号: 2010305104 专业班级:计算机本科一班 指导老师:文远熔 实验日期: 实验成绩: 实验目的 掌握分支程序的设计方法; 掌握利用DEBUG修改参数、检查结果的方法; 熟悉汇编语言源程序的编辑、汇编、连接及调试过程。 实验内容 p181,例5.10 把x的绝对值赋给y,x为一个四字节有符号数。 实验环境 PC微机 DOS操作系统或 Windows 操作系统 实验要求 画出两个程序的流程图,若要独立编写程序,应列出相应的程序清单。 说明本实验是如何利用DEBUG进行调试的。 主要实验步骤 跳跃表法可以使程序根据不同的条件转移到多个程序分支中去。 步骤; 第一步:定义所要使用的数据段,并分别定义是字还是字节。 第二步:对所要使用寄存器进行压栈处理。 第三步:书写子程序,即寄存器中哪一位为1(从低位到高位)把程序转移到8个不同的程序分支中去。 第四步:测试结果。 对.EXE文件进行调试运行。 用DEBUG调试运行,学会修改AL内容的方法; 对DSPKEY.EXE键入不同的字符,分别进行调试; 在MS-DOS下运行这两个.EXE文件。 六.实验结果及测试 子程序: cmp al, 0 ;AL为逻辑尺 je continue lea bx, branch_table L: shr al, 1 ;逻辑右移 jnc add1 jmp word ptr[bx]  ;段内间接转移 add1: add bx, type branch_table ;add bx,2 jmp L 七.心得体会 该实验让我了解用变址寻址方式实现跳跃表法 源代码: Brand_addresses segmengt Branch_table dw routine_1 dw routine_2 dw routine_3 dw routine_4 dw routine_5 dw routine_6 dw routine_7 dw routine_8 branch_addresses ends procedure_select segment main proc far assume cs: procedure_select ,ds:branch_addresses start: push ds sub bx,bx push bx mov bx,branch_addresses mov ds,bx cmp al,0 je continue_main_line mov si,0 l: shr al,1 jnb not_yet jmp branch_table[si] not_yet:add si,type branch_table jmp l continue_main_line: routine_1: routine_2: ret main endp procedure_select ends end start

文档评论(0)

1亿VIP精品文档

相关文档