汇编语言程序设计实验指导

2026/4/24 11:28:45

汇编语言程序设计 156

三、模块间的变量传递

1、分别输入以下两个程序,保存文件名分别为L1.ASM和L2.ASM。 L1.ASM程序是主模块,内容如下:

STACK SEGMENT STACK

DW 10 DUP(?)

STACK ENDS

PUBLIC OPRN1,OPRN2,OPRN3 ;声明三个公共变量可以被外部模块使用 EXTRN ADDSUB:FAR ;声明外部模块定义的过程 DATA

SEGMENT OPRN1 DW 1234H OPRN2 DW 4321H OPRN3 DW ?,? DATA CODE

ENDS SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START: MOV

MOV CALL MOV INT

CODE

ENDS END

START AX,DATA DS,AX

ADDSUB ;调用外部过程 AH,4CH 21H

L2.ASM 是子模块,内容如下:

EXTRN OPRN1:WORD,OPRN2:WORD,OPRN3:WORD

;声明本模块中可以引用的公共变量及调用类型 PUBLIC ADDSUB ;声明可以被外部模块调用的过程 CODE

SEGMENT

ASSUME CS:CODE

ADDSUB PROC

PUSH PUSH

FAR BX AX

MOV AX,OPRN1 MOV BX,OPRN2 ADD AX, BX

MOV OPRN3,AX ;存放两个参数的和

汇编语言程序设计实验指导 157

MOV AX, OPRN1 SUB AX,BX

MOV OPRN3[2],AX ;存放两个参数的差 POP POP RET

ADDSUB ENDP CODE

ENDS END

2、分别汇编以上两个源文件,生成对应的OBJ文件,再链接这两个目标文件得到 EXE可执行程序。

3、用DEBUG工具调试此可执行程序,察看文件链接后代码段的内容构成,用T命令 单步执行程序,并注意观察运算结果。

AX BX

汇编语言程序设计 158

*实验十 汇编语言综合实验

实验目的

1、掌握C语言和汇编语言的混合编程方法; 2、了解了解磁盘文件的读写方法;

实验内容及步骤

一、汇编语言和C语言混合编程

1、输入以下C语言程序,其功能为演示在中模式下TC程序调用汇编语言子函数的过程,

保存的文件名为MAIN.C #include \

extern int subs(int,int); /* 声明subs为外部函数*/ main()

{ int x=0;int y=0; scanf(\

printf(\}

2、输入以下汇编语言子程序,其功能为实现两个整数相减,保存程序文件名为SUB.ASM

.MODEL MEDIUM .CODE

PUBLIC _SUBS _SUBS PROC FAR

PUSH BP MOV BP,SP

MOV AX,[BP+6] ;AX是被减数 SUB AX,[BP+8] ;相减

POP BP ;恢复BP寄存器的内容 RET _SUBS ENDP END

3、在DOS提示符下输入如下两条命令:

ml /c sub.asm

;把SUB.ASM 汇编成SUB.OBJ文件,但不链接(注意大小写)。 tcc –mm –Iinclude –Llib main.c sub.obj

汇编语言程序设计实验指导 159

;该命令按照中型模式链接程序,直接把MAIN.C编译成目标文件,并和SUB.OBJ链 接生成MAIN.EXE程序。

4、运行MAIN.C程序,输入两个整数,观察输出结果。

5、分析在SUB子程序中取得参数为什么用BP+6和BP+8地址获得?

二、磁盘文件读写实验

1、在D:\\建立一个文本文件F1.TXT,并在文件中输入内容“南京航空航天大学 信息科学与技术学院欢迎您!”,也可以输入其它信息。 2、输入以下汇编语言文件,并汇编、链接通过。 .model small .stack .DATA

HANDLE DW ?

filename1 db 'd:\\f1.txt',0 filename2 db 'd:\\f2.txt',0 temp db 1000 dup (?) .code .startup

lea dx,filename1 mov al,0 mov ah,3dh

int 21h ;打开F1.TXT文件 jc error

mov handle,ax ;文件代号存入HANDLE mov ah,3fh mov bx,handle mov cx,34

lea dx,temp ;读取打开的文件,读字节数在CX中 int 21h ;读取的内容存放在TEMP中 jc error

mov bx,handle

mov ah,3eh ;关闭该文件 int 21h

mov ah,3ch mov cx,0

lea dx,filename2

int 21h ;建立F2.TXT文件 jc error

mov handle,ax


汇编语言程序设计实验指导.doc 将本文的Word文档下载到电脑
搜索更多关于: 汇编语言程序设计实验指导 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219