发布时间 : 星期一 文章微机原理子程序设计更新完毕开始阅读
实验三 子程序设计
1、实验目的:
(1) 熟悉汇编语言的编辑、汇编、连接、运行的全过程。
(2) 了解汇编语言的程序结构、学习调用过程实现输入输出及用INCLUDE
命令包含文件的方法。
(3) 子程序设计 2.实验步骤:
(1) 用编辑软件记事本或EDIT 编辑一个扩展文件名为ASM的汇编语言源
程序。
(2) 用汇编程序TASM 汇编上述的汇编语言源程序,形成目标代码文件。
(扩展名为OBJ)
(3) 用连接程序TLINK连接目标代码文件,形成可执行文件。(扩展名为
EXE)
(4) 运行可执行文件。观察执行结果,以验证其正确性。 3.实验内容:
(1)从键盘上输入若干个十进制数(-32767 array dw count dup (?) in_message db \out_message db \.code .startup mov ah,9 lea dx,in_message int 21h mov cx,count mov si,offset array again: call read ;输入count数据存入array数组中 call dpcrlf mov [si],bx inc si inc si loop again mov cx,count ;排序(升序) dec cx again2: lea si,array mov di,cx again1: mov ax,[si] cmp ax,[si+2] jle next1 xchg ax,[si+2] xchg ax,[si] next1: add si,2 loop again1 mov cx,di loop again2 mov ah,9 lea dx,out_message int 21h mov cx,count ;输出(升序) lea si,array again3: mov bx,[si] call write call dpcrlf inc si inc si loop again3 mov ax,4c00h int 21h INCLUDE out_B_D.ASM INCLUDE in_D_B.ASM END (2)从键盘上输入若干个十进制数(-32767 array dw count dup (?) in_message db \out_message db \.code .startup mov ah,9 lea dx,in_message int 21h mov cx,count mov si,offset array again: call read ;输入count数据存入array数组中 call dpcrlf mov [si],bx inc si inc si loop again mov cx,count ;排序(降序) dec cx again2: lea si,array mov di,cx again1: mov ax,[si] cmp ax,[si+2] jge next1 xchg ax,[si+2] xchg ax,[si] next1: add si,2 loop again1 mov cx,di loop again2 mov ah,9 lea dx,out_message int 21h mov cx,count ;输出(降序) lea si,array again3: mov bx,[si] call write call dpcrlf inc si inc si loop again3 mov ax,4c00h int 21h INCLUDE out_B_D.ASM INCLUDE in_D_B.ASM END (3)从键盘上输入若干个十进制数(-32767 array dw count dup (?) in_message db \out_message db \.code .startup mov ah,9 lea dx,in_message int 21h mov cx,count mov si,offset array again: call read ;输入count数据存入array数组中 call dpcrlf mov [si],bx inc si inc si loop again mov cx,count ;排序(降序) dec cx again2: lea si,array mov di,cx mov bx,0 again1: mov ax,[si] cmp ax,[si+2] jge next1 xchg ax,[si+2] xchg ax,[si] mov bx,-1 next1: add si,2 loop again1 mov cx,di dec cx cmp bx,-1 jz again2 mov ah,9 lea dx,out_message int 21h mov cx,count ;输出(降序) lea si,array again3: mov bx,[si] call write call dpcrlf inc si inc si loop again3 mov ax,4c00h int 21h INCLUDE out_B_D.ASM INCLUDE in_D_B.ASM END 4、实验总结 本次微机原理与接口技术实验是子程序设计实验,通过实验,我能够熟悉汇编语言的编辑、汇编、连接、运行的全过程,了解汇编语言的程序结构、学习调用过程实现输入输出及用INCLUDE命令包含文件的方法,对子程序设计有了进一步理解。本实验程序有点多,但是通过老师和同学的帮助,顺利完成实验。实验中运行可执行文件,观察执行结果,以验证其正确性,达到了实验目的。