微机原理子程序设计

发布时间 : 星期一 文章微机原理子程序设计更新完毕开始阅读

实验三 子程序设计

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命令包含文件的方法,对子程序设计有了进一步理解。本实验程序有点多,但是通过老师和同学的帮助,顺利完成实验。实验中运行可执行文件,观察执行结果,以验证其正确性,达到了实验目的。

联系合同范文客服:xxxxx#qq.com(#替换为@)