云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 汇编语言实验手册(刘辉)

汇编语言实验手册(刘辉)

  • 62 次阅读
  • 3 次下载
  • 2025/6/2 3:43:08

start: mov ah,1 int 21h mov dl,al mov ah,02 int 21h INT 21H ENDM code_seg segment assume cs:code_seg start: INPUT1 ;宏调用 mov dl,al mov ah,02 int 21h ;输出,要输出的字母放于dl中 mov ax,4c00h int 21h code_seg ends end start mov ax,4c00h int 21h code_seg ends end start 2.对源文件6-first.asm进行汇编产生目标文件obj以及列表文件lst,过程如下:

E:\lhmasm\masm 6-first.asm,6-first.obj,6-first.lst↙ 3.用文本编辑器打开列表文件6-first.lst,内容如下:

Microsoft (R) Macro Assembler Version 6.11 12/28/07 10:40:52 6-first.asm Page 1 - 1

存 机 INPUT1 MACRO 源程 储 器 MOV AH,1

器指序 地 令 INT 21H 清址单 ENDM

0000 code_seg segment assume cs:code_seg 0000 start: INPUT1

0000 B4 01 1 MOV AH,1 0002 CD 21 1 INT 21H

0004 8A D0 mov dl,al 0006 B4 02 mov ah,02

0008 CD 21 int 21h ;输出,要输出的字母放于dl中

000A B8 4C00 mov ax,4c00h

000D CD 21 int 21h 000F code_seg ends end start

Microsoft (R) Macro Assembler Version 6.11 12/28/07 10:40:52

6-first.asm Symbols 2 - 1

27

Macros:

N a m e Type INPUT1 . . . . . . . . . . . . . Proc

Segments and Groups:

N a m e Size Length Align Combine Class

code_seg . . . . . . . . . . . . 16 Bit 000F Para Private

Symbols:

N a m e Type Value Attr start . . . . . . . . . . . . . L Near 0000 code_seg

0 Warnings 0 Errors

注:列表文件同时列出源程序和机器语言程序清单,并给出符号表,因而可使程序调试更加方便。观察lst清单的前面小方框部分,INPUT1被两条指令(MOV AH,1和INT 21H)代替,即宏展开(宏被展开了,展开成两条汇编指令),所展开的指令前面被加了1,以表示是由宏展开得到的。

4.连接6-first.obj形成可执行文件,运行并查看结果。

5.将下面给定的汇编语言源程序6-second.asm建立在你自己的工作目录e:\\lhmasm\\里,然后对其重复1~4步骤。

问题1:程序执行时,6-first和6-second有什么不同? 程序2: 从键盘输入一个字符(不回显),然后输出这个字符,退出程序。 没有宏的程序实现 有宏的程序实现 6-second.asm code_seg segment INPUT7 MACRO assume cs:code_seg MOV AH,7 start: INT 21H ENDM mov ah,7 int 21h code_seg segment assume cs:code_seg mov dl,al start: mov ah,02 INPUT7 ;宏调用 int 21h mov dl,al mov ah,02 mov ax,4c00h int 21h code_seg ends end start int 21h ;输出,要输出的字母放于dl中 mov ax,4c00h int 21h 28

code_seg ends end start 6.将下面给定的汇编语言源程序6-third.asm建立在你自己的工作目录e:\\lhmasm\\里,,然后

对其重复1~4步骤。

程序3: 从键盘输入一个字符(是否回显,由调用时给定的参数决定),然后输出这个字符,退出程序。 没有宏的程序实现 有宏的程序实现 6-third.asm code_seg segment INPUTC MACRO X assume cs:code_seg MOV AH,X start: INT 21H ENDM mov ah,1 int 21h code_seg segment assume cs:code_seg mov dl,al start: mov ah,02 INPUTC 1 ;带参数的宏调用 int 21h mov dl,al mov ah,02 int 21h mov ax,4c00h int 21h code_seg ends INPUTC 7 ;带参数的宏调用 end start mov dl,al mov ah,02 int 21h mov ax,4c00h int 21h code_seg ends end start 7.认真阅读下面两个源程序,将它们建立在你自己的工作目录e:\\lhmasm\\里,,然后对其重

复1~4步骤。

问题2:观察对比两个程序的列表文件,6-forth-1代码段的长度是多少?6-forth-2呢?谁的更多一些,为什么? 程序4: 从键盘输入一个字符,然后输出这个字符,重复3次输入输出操作,退出程序。 有子程序的程序实现 6-forth1.asm code_seg segment assume cs:code_seg input1 proc mov ah,1 int 21h ret input1 endp start:

有宏的程序实现 6-forth2.asm INPUT1 MACRO MOV AH,1 INT 21H ENDM code_seg segment assume cs:code_seg start: INPUT1 29

call input1 mov dl,al mov ah,02 int 21h call input1 mov dl,al mov ah,02 int 21h call input1 mov dl,al mov ah,02 int 21h mov ax,4c00h int 21h code_seg ends end start mov dl,al mov ah,02 int 21h INPUT1 mov dl,al mov ah,02 int 21h INPUT1 mov dl,al mov ah,02 int 21h mov ax,4c00h int 21h code_seg ends end start 30

搜索更多关于: 汇编语言实验手册(刘辉) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

start: mov ah,1 int 21h mov dl,al mov ah,02 int 21h INT 21H ENDM code_seg segment assume cs:code_seg start: INPUT1 ;宏调用 mov dl,al mov ah,02 int 21h ;输出,要输出的字母放于dl中 mov ax,4c00h int 21h code_seg ends end start mov ax,4c00h int 21h code_seg ends end start 2.对源文件6-first.asm进行汇编产生目标文件obj以及列表文件lst,过程如下: E:\lhmasm\masm 6-fir

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com