薇7.1416位DS应用程序 机原理与接口技术 16位D0S操作系统运行于 Inte18086和8088处理器 IA-32处理器的实地址工作方式 第>D0S平台下使用实地址存储模型 版·只能访问MB存储空间,分成不大于64KB的段 默认采用16位操作数尺寸: 使用16位或8位寄存器、操作数和寻址方式 出 堆栈以16位为单位压入PUSH和弹出POP数据 >IA-32处理器的实地址工作方式 还允许使用32位寄存器、操作数和寻址方式 ●执行大多数新增的32位通用指令
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 7.1.4 16位DOS应用程序 ➢16位DOS操作系统运行于 Intel 8086和8088处理器 IA-32处理器的实地址工作方式 ➢DOS平台下使用实地址存储模型 只能访问1MB存储空间,分成不大于64KB的段 默认采用16位操作数尺寸: 使用16位或8位寄存器、操作数和寻址方式 堆栈以16位为单位压入PUSH和弹出POP数据 ➢IA-32处理器的实地址工作方式 还允许使用32位寄存器、操作数和寻址方式 执行大多数新增的32位通用指令
1.DOS平台的源程序框架 理;eg0700. asm in dOs 接 include io16 inc 技 ;包含16位输入输出文件 术 data ;定义数据段 第 4 ;数据定义(数据待填) 版 code 定义代码段 机 start: ;程序执行起始位置 械 mov ax. @data 业 出 mov ds. ax 版 社 ;主程序(指令待填) exit o ;程序正常执行结束 子程序(指令待填) end start;汇编结束
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 1. DOS平台的源程序框架 ; eg0700.asm in DOS include io16.inc ; 包含16位输入输出文件 .data ; 定义数据段 …… ; 数据定义(数据待填) .code ; 定义代码段 start: ; 程序执行起始位置 mov ax,@data mov ds,ax …… ; 主程序(指令待填) exit 0 ; 程序正常执行结束 …… ; 子程序(指令待填) end start ; 汇编结束
〔例7-1〕DoS应用程序 include iol6 inc 微机原理与接口技术·第4版机械工业出版社 ;包含16位输入输出文件 data ;数据段 Isg byte Hello, assembly!, 13, 10, 0 code ;代码段 start ;程序起始位置 moⅴax,@data 运行于DoS环境 mov ds. ax MAKE16BAT汇编连接 mov eax, offset msg call dispmsg;调用I/O子程序显示信息 exit o ;程序正常执行结束 end start;汇编结束 操作演示
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 〔例7-1〕DOS应用程序 include io16.inc ; 包含16位输入输出文件 .data ; 数据段 msg byte 'Hello, Assembly!',13,10,0 .code ; 代码段 start: ; 程序起始位置 mov ax,@data mov ds,ax mov eax,offset msg call dispmsg ; 调用I/O子程序显示信息 exit 0 ; 程序正常执行结束 end start ; 汇编结束 运行于DOS环境 MAKE16.BAT汇编连接 操作演示
概2.DS功能调用 ≥D0S操作系统的系统函数(功能)以中断服 授务程序形式提供,采用软件中断进行功能调 榮用,使用寄存器传递参数 第基本输入输出系统 ROM-BI0S、操作系统D0s 版和Linu都采用中断调用方式提供系统功能 >D0S系统调用一般有如下4个步骤: (1)在AH寄存器中设置系统功能调用号 出 (2)在指定寄存器中设置入口参数 (3)用中断调用指令(INTN)执行功能调用 (4)根据出口参数分析功能调用执行情况
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 2. DOS功能调用 ➢DOS操作系统的系统函数(功能)以中断服 务程序形式提供,采用软件中断进行功能调 用,使用寄存器传递参数 ➢基本输入输出系统ROM-BIOS、操作系统DOS 和Linux都采用中断调用方式提供系统功能 ➢DOS系统调用一般有如下4个步骤: (1)在AH寄存器中设置系统功能调用号 (2)在指定寄存器中设置入口参数 (3)用中断调用指令(INT N)执行功能调用 (4)根据出口参数分析功能调用执行情况
输出一个字符 理 disp proc push eax 接口技术·第4版机械工业出版社 push edx mov ah. 2 oV int 21h pop eax 功能编号AH=02H pop eax 入口参数DL=输出字符 ret 的 ASCiI码 di spc endp 功能说明在屏幕当前光 标出显示字符
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 输出一个字符 dispc proc push eax push edx mov ah,2 mov dl,al int 21h pop edx pop eax ret dispc endp 功能编号 AH=02H 入口参数 DL =输出字符 的ASCII码 功能说明 在屏幕当前光 标出显示字符