文档章节

mov ax,4c00h int 21h

locusxt
 locusxt
发布于 2014/03/09 11:02
字数 359
阅读 719
收藏 2

一般来讲,DOS程序结束有三种方法

一,是用int 20h 来终止程序,但有条件,在结束时cs必须跟程序开始时一致,否则要死机。在DOS中常用于*.com文件。
二,是用ret来终止程序,如下:
...
code segment
start        proc far        ;注意,这里有 far,表示是远调用,主要影响ret指令,编译后为RETF
               push cs
               mov ax,0
               push ax
               ......
               ......         ;应用户程序
               ......
               ret     ;返回DOS
start        endp
               ends
               end start
应用这种退出机制,千万注意堆栈一个都不能错,否则死机。在DOS中常用于*.exe文件。
三,就是你提到的
mov ax,4c00h
int 21h
用它返回是不需任何条件,还可顺便帮你关闭你打开后忘记关闭的文件。并返回寄存器al的值。在DOS中可用于*.com或*.exe文件。
具体来说:
DOS系统提供给用户很多应用,比如文件读写、时间读写,显示等等。int 21h是DOS系统的系统调用的入口,ah为功能号,就是本问题中的4c,比如
mov ah,9
mov dl,‘a'
int 21h
表示要在屏幕上显示英文字母a
本问题中mov ax,4c00h表明应用程序要退出,并为调用本程序的程序返回00,传递退出信息。
ax取值范围是4c00h---4cffh。

本文转载自:http://zhidao.baidu.com/link?url=cMVlB5Qk-PPh6KjG6FSf97EGjwKVLx_jgWlOyXT3__jYURjs_ftsZhjuNFrBQttR...

locusxt
粉丝 27
博文 140
码字总数 90989
作品 0
海淀
程序员
私信 提问
王爽 汇编语言检测点6.1

题目:检测点6.1 (1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序: assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h...

RADG
2015/02/28
1K
2
汇编分为几种,请问我以下的代码操作的是物理内存还是虚拟内存

assume cs:codesg codesg segment mov ax,2000H mov ds,ax mov bx,1000H mov [bx],ax inc bx mov [bx],ax inc bx inc bx mov [bx],ax inc bx mov [bx],ax inc bx mov [bx],ax mov ax,4c00H i......

usershane
2013/11/20
706
16
循环程序设计实验

循环程序设计实验 实验目的 掌握循环程序的设计方法。 实验设备 PC 微机一台。 实验内容及说明 本实验要求通过求某数据区内负数的个数来表现循环程序的结构形式。要求 实验程序在数据区中存放...

寂岚峰
2017/11/06
0
0
微机显示程序实验

今天要交的微机实验报告分享。 显示程序实验 一,实验目的 1. 掌握在PC机上以十六进制形式显示数据的方法。 2. 掌握部分DOS功能调用使用方法。 二,实验设备 PC微机一台 三,实验内容 一般来...

寂岚峰
2017/10/30
0
0
《汇编语言》总结03 —— 包含多个段的程序

在我们一开始写的汇编源程序时,只有一个代码段,现在有一个问题是,如果程序需要用其他空间来存放数据,使用哪里呢?在总结第二提到过0:200~0:2FF是相对安全的,可这段空间容量只有256个字节...

凡凡不会玩
2017/04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
9
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部