好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

汇编几个简单指令解释和int 21h调用表.doc

6页
  • 卖家[上传人]:wt****50
  • 文档编号:33021858
  • 上传时间:2018-02-13
  • 文档格式:DOC
  • 文档大小:191.50KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • ASSUME CS:CODE,DS:DATA,SS:STACK1 ASSUME 是伪指令,本身不产生代码,所以必要的初始化还是要的,比如DATA→DS,CODE→CS,STACK →SS2 ASSUME 的作用是告诉编译器到哪个 seg 去找哪个变量(传说中可以节约时间)3 ASSUME 后面的各种预定传说是可以省略的,只有 CS:CODE 不可省略,否则会报错4 CODE、DATA 、STACK 是自己定义的段名,而 CS、DS、SS 是实际的寄存器地址MOV SP,OFFSET TOP = LEA SP,TOP (OFFSET 是偏移地址的意思)'$'是 INT 21H 指令中显示字符串指令的结束符INT 是中断调用指令, INT 21H;21H 是中断入口,根据芯片不同含义不同,功能是调用 DOS 函数(根据 AH 值判断调用 DOS 执行何种操作)START END STARTEND 是关键词,START 是标示符,所以可修改, END xxx 表示 xxx 程序结束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=FFFF38 置/取国家信息 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=文件代号1CX=文件代号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 地址。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.