汇编语言int 21h是什么意思(汇编语言代码如下:MOV AH,4CH INT 21H我知道后面的INT 21H是调用dos)

:暂无数据 2026-10-07 18:20:01 :0

汇编语言int 21h是什么意思(汇编语言代码如下:MOV AH,4CH INT 21H我知道后面的INT 21H是调用dos)

本篇文章给大家谈谈汇编语言int 21h是什么意思,以及汇编语言代码如下:MOV AH,4CH INT 21H我知道后面的INT 21H是调用dos对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

汇编语言代码如下:MOV AH,4CH INT 21H我知道后面的INT 21H是调用dos

mov ah,4ch 是向A寄存器高字节ah赋值16进制数4c。
此语句和int 21h 组合成一个完整的中断调用功能。
int 表示中断,中断有很多种类,其中21h表示DOS系统的系统调用中断这一大类,下面还分了很多小类,小类的选择是放在ah寄存器中的。2个语句组合表示这个中断是21h大类中的4c小类。
类似于(21h)年级 (4c)班。
关于中断的这些分类编号一般在汇编教材的附录里都会有的。

汇编语言 INT 20H和INT 21H有什么区别高分在线求助

int 20h 程序终止
本中断只适用于ms-dos,建议不要使用int 20h终止程序,应当利用dos功能调用4ch来适当地终止程序。
本中断入口参数:CS=程序PSP的段地址
返回:无
int 21h dos功能调用
含有近100个功能,提供了应用程序所需要的大多数服务,包括打开文件、关闭文件、读文件、写文件、读键盘输入、写显示屏、读取或设置系统日期和时间,以及一大堆控制变量。

汇编语言中 LEA DX,S MOV AH,9 INT 21H具体意思是什么,请大师指教

LEA
DX,S
就是把变量s的地址(也就是字符串开始的地址)放到ds:dx中ds是段地址,dx是偏移。
MOV
AH,9
是指出调用是dos的9号功能,这个功能是显示一个以$结尾的字符串,$的ascii码是24h。

INT
21H
是调用dos中断。dos操作系统提供的功能大部分都放在int
21h中,你可以认为int
21h是你写的程序和dos内核的接口。

汇编里 mov ah,1 int 21h是什么意思

这两条指令是对DOS (磁盘操作系统)1 号功能的调用,
从键盘上输入一个字符,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中。

在汇编语言中经常看到 INT 21H ,这个是什么什么时候要写它应写在什么地方

21H是一个中断号
可以说像个菜单 例如ie浏览器中的 文件
文件里面有新建 打开等等功能
也就是功能号
用 mov ah,xx 表示
如果仅仅单击ie浏览器中的 文件
只是让你看到里面有什么功能
所以21h中断号要和它的功能号一起来用
mov ah,xx
int 21h
-------------------------------
当然也有功能号和中断号合为一体的(个人看法)
例如
int 20h (调用20h中断 返回)
很多初学汇编语言的同学可能会对INT 21H这条指令感到困惑,不知道是什么意思,下面就以一段简单的程序为大家讲解:
例如:需要键盘输入,并且回显。
AH的值需要查表取得,表在下面
指令:MOV AH,01
INT 21H
通过这样两条指令,输入的字符就会被存储在AL中。

表:DOS系统功能调INT 21H
AH 功能 调用参数 返回参数
00 程序终止(同INT 20H) CS=程序段前缀  
01 键盘输入并回显   AL=输入字符
02 显示输出 DL=输出字符  
03 异步通迅输入   AL=输入数据
04 异步通迅输出 DL=输出数据  
05 打印机输出 DL=输出字符  
06 直接控制台I/O DL=FF(输入)
DL=字符(输出) AL=输入字符
07 键盘输入(无回显)   AL=输入字符
08 键盘输入(无回显)
检测Ctrl-Break   AL=输入字符
09 显示字符串 DS:DX=串地址
’$’结束字符串  
0A 键盘输入到缓冲区 DS:DX=缓冲区首地址
(DS:DX)=缓冲区最大字符数 (DS:DX+1)=实际输入的字符数
0B 检验键盘状态   AL=00 有输入
AL=FF 无输入
0C 清除输入缓冲区并
请求指定的输入功能 AL=输入功能号
(1,6,7,8,A)  
0D 磁盘复位   清除文件缓冲区
0E 指定当前缺省的磁盘驱动器 DL=驱动器号 0=A,1=B,... AL=驱动器数
0F 打开文件 DS:DX=FCB首地址 AL=00 文件找到
AL=FF 文件未找到
10 关闭文件 DS:DX=FCB首地址 AL=00 目录修改成功
AL=FF 目录中未找到文件
11 查找第一个目录项 DS:DX=FCB首地址 AL=00 找到
AL=FF 未找到
12 查找下一个目录项 DS:DX=FCB首地址
(文件中带有*或?) AL=00 找到
AL=FF 未找到
13 删除文件 DS:DX=FCB首地址 AL=00 删除成功
AL=FF 未找到
14
顺序读
DS:DX=FCB首地址
AL=00 读成功
=01 文件结束,记录中无数据
=02 DTA空间不够
=03 文件结束,记录不完整
15 顺序写 DS:DX=FCB首地址 AL=00 写成功
=01 盘满
=02 DTA空间不够
16 建文件 DS:DX=FCB首地址 AL=00 建立成功
=FF 无磁盘空间
17 文件改名 DS:DX=FCB首地址
(DS:DX+1)=旧文件名
(DS:DX+17)=新文件名 AL=00 成功
AL=FF 未成功
19 取当前缺省磁盘驱动器   AL=缺省的驱动器号 0=A,1=B,2=C,...
1A 置DTA地址 DS:DX=DTA地址  
1B
取缺省驱动器FAT信息
  AL=每簇的扇区数
DS:BX=FAT标识字节
CX=物理扇区大小
DX=缺省驱动器的簇数
1C 取任一驱动器FAT信息 DL=驱动器号 同上
21
随机读
DS:DX=FCB首地址
AL=00 读成功
=01 文件结束
=02 缓冲区溢出
=03 缓冲区不满
22 随机写 DS:DX=FCB首地址 AL=00 写成功
=01 盘满
=02 缓冲区溢出
23 测定文件大小 DS:DX=FCB首地址 AL=00 成功(文件长度填入FCB)
AL=FF 未找到
24 设置随机记录号 DS:DX=FCB首地址  
25 设置中断向量 DS:DX=中断向量
AL=中断类型号  
26 建立程序段前缀 DX=新的程序段前缀  
27
随机分块读
DS:DX=FCB首地址
CX=记录数 AL=00 读成功
=01 文件结束
=02 缓冲区太小,传输结束
=03 缓冲区不满
28 随机分块写 DS:DX=FCB首地址
CX=记录数 AL=00 写成功
=01 盘满
=02 缓冲区溢出
29 分析文件名 ES:DI=FCB首地址
DS:SI=ASCIIZ串
AL=控制分析标志 AL=00 标准文件
=01 多义文件
=02 非法盘符
2A 取日期   CX=年
DH:DL=月:日(二进制)
2B 设置日期 CX:DH:DL=年:月:日 AL=00 成功
=FF 无效
2C 取时间   CH:CL=时:分
DH:DL=秒:1/100秒
2D 设置时间 CH:CL=时:分
DH:DL=秒:1/100秒 AL=00 成功
=FF 无效
2E 置磁盘自动读写标志 AL=00 关闭标志
AL=01 打开标志  
2F 取磁盘缓冲区的首址   ES:BX=缓冲区首址
30 取DOS版本号   AH=发行号,AL=版本
31 结束并驻留 AL=返回码
DX=驻留区大小  
33
Ctrl-Break检测
AL=00 取状态
=01 置状态(DL)
DL=00 关闭检测
=01 打开检测 DL=00 关闭Ctrl-Break检测
=01 打开Ctrl-Break检测
35 取中断向量 AL=中断类型 ES:BX=中断向量
36
取空闲磁盘空间
DL=驱动器号
0=缺省,1=A,2=B,...
成功:AX=每簇扇区数
BX=有效簇数
CX=每扇区字节数
DX=总簇数
失败:AX=FFFF
38 置/取国家信息 DS:DX=信息区首地址 BX=国家码(国际电话前缀码)
AX=错误码
39 建立子目录(MKDIR) DS:DX=ASCIIZ串地址 AX=错误码
3A 删除子目录(RMDIR) DS:DX=ASCIIZ串地址 AX=错误码
3B 改变当前目录(CHDIR) DS:DX=ASCIIZ串地址 AX=错误码
3C 建立文件 DS:DX=ASCIIZ串地址
CX=文件属性 成功:AX=文件代号
错误:AX=错误码
3D
打开文件
DS:DX=ASCIIZ串地址
AL=0 读
=1 写
=3 读/写 成功:AX=文件代号
错误:AX=错误码
3E 关闭文件 BX=文件代号 失败:AX=错误码
3F
读文件或设备
DS:DX=数据缓冲区地址
BX=文件代号
CX=读取的字节数 读成功:
AX=实际读入的字节数
AX=0 已到文件尾
读出错:AX=错误码
40 写文件或设备 DS:DX=数据缓冲区地址
BX=文件代号
CX=写入的字节数 写成功:
AX=实际写入的字节数
写出错:AX=错误码
41 删除文件 DS:DX=ASCIIZ串地址 成功:AX=00
出错:AX=错误码(2,5)
42
移动文件指针
BX=文件代号
CX:DX=位移量
AL=移动方式(0:从文件头绝对位移,1:从当前位置相对移动,2:从文件尾绝对位移) 成功:DX:AX=新文件指针位置
出错:AX=错误码
43
置/取文件属性
DS:DX=ASCIIZ串地址
AL=0 取文件属性
AL=1 置文件属性
CX=文件属性 成功:CX=文件属性
失败:CX=错误码
44
设备文件I/O控制
BX=文件代号
AL=0 取状态
=1 置状态DX
=2 读数据
=3 写数据
=6 取输入状态
=7 取输出状态 DX=设备信息
45 复制文件代号 BX=文件代号1 成功:AX=文件代号2
失败:AX=错误码
46 人工复制文件代号 BX=文件代号1
CX=文件代号2 失败:AX=错误码
47 取当前目录路径名 DL=驱动器号
DS:SI=ASCIIZ串地址 (DS:SI)=ASCIIZ串
失败:AX=出错码
48 分配内存空间 BX=申请内存容量 成功:AX=分配内存首地
失败:BX=最大可用内存
49 释放内容空间 ES=内存起始段地址 失败:AX=错误码
4A 调整已分配的存储块 ES=原内存起始地址
BX=再申请的容量 失败:BX=最大可用空间
AX=错误码
4B
装配/执行程序
DS:DX=ASCIIZ串地址
ES:BX=参数区首地址
AL=0 装入执行
AL=3 装入不执行 失败:AX=错误码
4C 带返回码结束 AL=返回码  
4D 取返回代码   AX=返回代码
4E 查找第一个匹配文件 DS:DX=ASCIIZ串地址
CX=属性 AX=出错代码(02,18)
4F 查找下一个匹配文件 DS:DX=ASCIIZ串地址
(文件名中带有?或*) AX=出错代码(18)
54 取盘自动读写标志   AL=当前标志值
56 文件改名 DS:DX=ASCIIZ串(旧)
ES:DI=ASCIIZ串(新) AX=出错码(03,05,17)
57 置/取文件日期和时间 BX=文件代号
AL=0 读取
AL=1 设置(DX:CX) DX:CX=日期和时间
失败:AX=错误码
58 取/置分配策略码 AL=0 取码
AL=1 置码(BX) 成功:AX=策略码
失败:AX=错误码
59
取扩充错误码
  AX=扩充错误码
BH=错误类型
BL=建议的操作
CH=错误场所
5A 建立临时文件 CX=文件属性
DS:DX=ASCIIZ串地址 成功:AX=文件代号
失败:AX=错误码
5B 建立新文件 CX=文件属性
DS:DX=ASCIIZ串地址 成功:AX=文件代号
失败:AX=错误码
5C
控制文件存取
AL=00封锁
=01开启
BX=文件代号
CX:DX=文件位移
SI:DI=文件长度 失败:AX=错误码
62 取程序段前缀   BX=PSP地址

int 21 什么意思

汇编?汇编中int是大写的:INT 21,代表中断功能。
21是十六进制21H,
INT 21H 这个语句,对初学者可以简单的理解为“中断执行”:功能先到这里,执行一下。

汇编语言中 MOV AH,4CH INT 21H具体意思是什么,请大师指教,小生在此有礼了

INT 21H 称为 DOS 中断调用。
实际上,是调用 DOS 中的子程序。
当 MOV AH,4CH,就是结束本程序,返回 DOS 操作系统。

文章分享结束,汇编语言int 21h是什么意思和汇编语言代码如下:MOV AH,4CH INT 21H我知道后面的INT 21H是调用dos的答案你都知道了吗?欢迎再次光临本站哦!

汇编语言int 21h是什么意思(汇编语言代码如下:MOV AH,4CH INT 21H我知道后面的INT 21H是调用dos)

本文编辑:admin

更多文章:


withdrawal(withdrawal是什么意思)

withdrawal(withdrawal是什么意思)

今天给各位分享withdrawal是什么意思的知识,其中也会对withdrawal是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 07:00

根据流程图怎么编写程序(用c语言根据流程图写程序)

根据流程图怎么编写程序(用c语言根据流程图写程序)

大家好,今天小编来为大家解答以下的问题,关于根据流程图怎么编写程序,用c语言根据流程图写程序这个很多人还不知道,现在让我们一起来看看吧!

2026年10月11日 06:00

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)

大家好,关于在from子句中可以出现很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何在from 子句中嵌套查询下面的语句在access中出错!的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望

2026年10月11日 05:20

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)

其实countif函数统计个数怎么用的问题并不复杂,但是又很多的朋友都不太了解countif函数怎么用 详解Excel中countif函数的使用方法,因此呢,今天小编就来为大家分享countif函数统计个数怎么用的一些知识,希望可以帮助到大

2026年10月11日 03:30

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)

本篇文章给大家谈谈正则匹配数字之前的字符,以及正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问

2026年10月11日 03:00

register语言学(register语言学)

register语言学(register语言学)

“register语言学”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看register语言学(register语言学)!

2026年10月11日 01:40

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)

“系统架构设计师可以直接考吗”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看系统架构设计师可以直接考吗(学生可以报名系统架构设计师吗)!

2026年10月11日 01:00

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)

大家好,如果您还对orlnsertbootmediinselected不太了解,没有关系,今天就由本站为大家分享orlnsertbootmediinselected的知识,包括我电脑开机显示这个是什么意思or insert boot med

2026年10月10日 23:00

display的用法(display是什么意思 详解display的含义和用法)

display的用法(display是什么意思 详解display的含义和用法)

大家好,如果您还对display的用法不太了解,没有关系,今天就由本站为大家分享display的用法的知识,包括display是什么意思 详解display的含义和用法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月10日 22:00

html全部居中代码(怎么让网页居中显示,html如何让网页居中)

html全部居中代码(怎么让网页居中显示,html如何让网页居中)

大家好,今天小编来为大家解答以下的问题,关于html全部居中代码,怎么让网页居中显示,html如何让网页居中这个很多人还不知道,现在让我们一起来看看吧!

2026年10月10日 21:10

最近更新

withdrawal(withdrawal是什么意思)
2026-10-11 07:00:01 浏览:0
热门文章

标签列表