社区
汇编语言
帖子详情
关于int 31h
weeksun23
2010-06-23 08:01:55
MOV DX,OFFSET MAIN+230H
ADD DX,0FH
MOV CL,4
SHR DX,CL
MOV AX,3100H
INT 21H
MAIN是主函数
驻留区DX为什么要这样计算?先加0FH 再右移4位? 什么意思?
OFFSET MAIN+230H又是什么意思?
求解释。
...全文
230
9
打赏
收藏
关于int 31h
MOV DX,OFFSET MAIN+230H ADD DX,0FH MOV CL,4 SHR DX,CL MOV AX,3100H INT 21H MAIN是主函数 驻留区DX为什么要这样计算?先加0FH 再右移4位? 什么意思? OFFSET MAIN+230H又是什么意思? 求解释。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weeksun23
2010-06-24
打赏
举报
回复
[Quote=引用 7 楼 masmaster 的回复:]
MOV DX,OFFSET MAIN+230H
将标号MAIN+230H处的偏移地址传至DX, offset是伪指令, 用于取得偏移地址
[/Quote]
谢谢!
masmaster
2010-06-24
打赏
举报
回复
[Quote=引用 4 楼 zara 的回复:]
为什么这么计算,是因为该中断功能要求 DX 中是以“节 (paragraphs)”为单位的驻留部分的大小,包括 psp。
先加 0fh 是为了保留最后一个不足一节的那个内容;再右移 4 位,是将前面计算时的字节单位转换为节单位,1 节 = 16 字节 = 10h 字节。
那个 MAIN+230h,其中的 230h 是怎么来的,要看你具体程序的结构了。
[/Quote]
学习啦~~
masmaster
2010-06-24
打赏
举报
回复
MOV DX,OFFSET MAIN+230H
将标号MAIN+230H处的偏移地址传至DX, offset是伪指令, 用于取得偏移地址
weeksun23
2010-06-24
打赏
举报
回复
[Quote=引用 1 楼 peterl_z_y 的回复:]
我想说你标题都打错了,是INT21H的31H功能
[/Quote]
哈哈 ,不好意思打错了,应该是关于INT 21H的31号功能
weeksun23
2010-06-24
打赏
举报
回复
[Quote=引用 4 楼 zara 的回复:]
为什么这么计算,是因为该中断功能要求 DX 中是以“节 (paragraphs)”为单位的驻留部分的大小,包括 psp。
先加 0fh 是为了保留最后一个不足一节的那个内容;再右移 4 位,是将前面计算时的字节单位转换为节单位,1 节 = 16 字节 = 10h 字节。
那个 MAIN+230h,其中的 230h 是怎么来的,要看你具体程序的结构了。
[/Quote]
谢谢你,我明白了!另外,MAIN+230H中的230H怎么来不用解释,你只需解释MOV DX,OFFSET MAIN+230H这条语句的意思就行了
zara
2010-06-24
打赏
举报
回复
为什么这么计算,是因为该中断功能要求 DX 中是以“节 (paragraphs)”为单位的驻留部分的大小,包括 psp。
先加 0fh 是为了保留最后一个不足一节的那个内容;再右移 4 位,是将前面计算时的字节单位转换为节单位,1 节 = 16 字节 = 10h 字节。
那个 MAIN+230h,其中的 230h 是怎么来的,要看你具体程序的结构了。
jizhongqing
2010-06-23
打赏
举报
回复
这问题得查中断手册,没人记得住那么多中断的参数和输出结果
runcoder
2010-06-23
打赏
举报
回复
恩,我觉得也是。可以查AH的31H命令
peterl_z_y
2010-06-23
打赏
举报
回复
我想说你标题都打错了,是INT21H的31H功能
std
int
.h头文件
很多项目经常使用的两个头文件
int
types.h std
int
.h,否则会报错。网上很多资料,但基本上不可用。这两个文件,我在自己的项目中运行良好。
INT
21H 指令说明及使用方法(汇编语言学习)
INT
21H一般搭配着AH使用。 MOV AH, 01H
INT
21H 一般是这样的使用方式。 通过这样两条指令,输入的字符就会被存储在AL中。 例如: 在很多时候我们想要去做汇编程序的输入与输出(从键盘上直接的输入)并且...
String转
int
本套视频详细讲解了String如何转换成
int
,这在开发实践中会频繁遇到。
int
类型需要从文本框录入,如学生身高,服务器接收到的是String类型,使用时需要转换成
int
类型。 类型转换时需要使用到包装类的方法,8种基本...
关于汇编语言的
int
20h和
int
21h
int
20h 程序终止 本中断只适用于ms-dos,...
INT
是
int
erupt中断的缩写,
INT
21H是指DOS的中断调用命令,最常用的包括:01H、07H和08H —从标准输入设备输入字符 02H —字符输出 03H —辅助设备的输入 04H —辅助设...
INT
21H 指令说明及使用方法
很多初学汇编语言的同学可能会对
INT
21H这条指令感到困惑,不知道是什么意思,下面就以一段简单的程序为大家讲解:例如:需要键盘输入,并且回显。AH的值需要查表取得,表在下面指令:MOV AH,01
INT
21H通过这样两条...
汇编语言
21,458
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章