《汇编语言》第8章

合集下载

《汇编语言》(王爽)第8章 数据处理的两个基本问题--笔记

《汇编语言》(王爽)第8章 数据处理的两个基本问题--笔记

正确表示:mov ax,[bp](1)错误表示:mov ax,[ds], mov ax,[cx](2)在内存单元表示的[...]这种形式下,中括号里面只能放bx,si,di,bp 这四个寄存器。

1.bx,si a.bx,di b.bp,si c.bp,di d.正确组合:(1)mov ax,[bx+bp]a.mov ax,[si+di]b.错误表示:(2)在“[...]”里面的寄存器只能是固定的四种组合,其他组合是错误的2.如果在[...]中包含了bp 这个寄存器,那么默认的段寄存器就是ss3.8.1 bx 、si 、di 和bp从机器指令的层面来讲,并不关心数据的数值是多少,而关心在执行指令之前,它将要处理的数据存在在什么位置1.CPU 内部(1)内存(2)端口(3)处理的指令可以存放的位置有三个:2.8.2 机器指令处理的数据在什么地方立即数。

直接在指令中给出,执行指令前一刻,和代码一起存储在CPU 的指令缓存器中(1)eg.mov ax,1寄存器 eg.mov ax,bx(2)段地址(SA )和偏移地址(EA ) eg. mov ax,ds:[3](3)汇编语言中数据存储的位置有三种声明方式:1.8.3 汇编语言中数据位置的表达8.4 寻址方式在之前的笔记已经整理了——>所有的寻址方式8.5 指令要处理的数据有多长mov al,bl (1)mov ax,bx(2)通过寄存器名1.mov word ptr ds:[0],1(1)inc byte [bx](2)通过“X ptr [...]”的格式,其中X 为word 或byte2.pop ax (1)push bx(2)默认或者已经规定(栈操作都是以字为单位)3.汇编语言中通过三种方式声明所处理的是字还是字节8.6 寻址方式的综合应用暂时跳过div reg(寄存器)(1)div 内存单元(2)格式:1.运算规则与涉及到的寄存器2.例:计算10001/1003.由于10001>65535,所以被除数需要用DX 和AX 联合存放。

CH8Y-新概念汇编语言-杨季文-清华大学出版社

CH8Y-新概念汇编语言-杨季文-清华大学出版社

ASM YJW
8.4.1 键盘中断处理程序
➢演示程序dp81 第二部分之,
CLI ;关中断
键盘中断处理程序的主体(续)
MOV AL, 0AEH
OUT PORT_KEY_STA, AL ;允许键盘发送数据到接口
;
MOV AL, 20H
;通知中断控制器8259A
OUT 20H, AL
;当前中断处理已经结束
INT 10H ;
用户按键
CMP AL, 0DH
JNZ Next ;
IRET
MOV AH, 14
MOV AL, 0AH INT 10H
前台
后台
;
RETF ;结束(返回到加载器)
ASM YJW
8.4.1 键盘中断处理程序
➢演示程序dp81 第二部分之,
后台
键盘中断处理程序的主体
int09h_handler:
;
POPA
;恢复通用寄存器 告诉中断控制器,
;
中断处理结束
IRET
;中断返回
ASM YJW
8.4.1 键盘中断处理程序
➢演示程序dp81 演示9H号中断处理程序的具体功能
Int09hfun: CMP AL, 1CH JNZ .LAB1 MOV AH, AL MOV AL, 0DH JMP SHORT .LAB2
键盘中断的类型是9
ASM YJW
8.4.1 键盘中断处理程序
➢演示程序dp81
Next:
MOV
前台
INT
MOV
INT
;
CMP
JNZ
;
MOV
MOV
INT
;
RETF
AH, 0 16H AH, 14 10H

汇编语言第八章

汇编语言第八章
5
8.1
Sound
1
1 0
设备控制寄存器( 设备控制寄存器 61h )
ห้องสมุดไป่ตู้
1/0
0
2 控制其它外部设备 与 门

SOUND PROC NEAR PUSH AX PUSH DX MOV DX,CX IN AL,61H AND AL,11111100B TRIG: XOR AL,2 OUT 61H,AL MOV CX,BX
DELAY:LOOP DELAY DEC DX JNE TRIG POP DX POP AX RET SOUND ENDP
6
3. 中断传送方式
什么是中断:中断是一种使 什么是中断:中断是一种使CPU中止正在执行的程序而转去处理特 中止正在执行的程序而转去处理特 殊事件的操作。 殊事件的操作。 什么是中断源: 什么是中断源:引起中断的事件 。 中断的优点:避免因反复查询外部设备的状态而浪费时问, 中断的优点:避免因反复查询外部设备的状态而浪费时问,从而提 高了CPU的效率。 的效率。 高了 的效率 外中断(硬中断) 由外设控制器或协处理器引起的中断。 外中断(硬中断):由外设控制器或协处理器引起的中断。 外设的 I/O 请求 —— 可屏蔽中断 非屏蔽中断NMI 电源掉电 / 奇偶错 —— 非屏蔽中断 内中断(软中断) 中断指令INT产生的中断, 或由 产生的中断, 内中断 ( 软中断 ) : 中断指令 产生的中断 或由CPU的某些错误结 的某些错误结
端口地址PORT是一个 位的立即数, 是一个8位的立即数 直接端口寻址方式 :端口地址 是一个 位的立即数, 其范围是0一 。 其范围是 一255。 端口地址在DX中 其范围为0一 间接寻址方式 :端口地址在 中,其范围为 一65535 。

汇编语言程序设计第8章_80868088分支程序设计.ppt

汇编语言程序设计第8章_80868088分支程序设计.ppt
21.03.2019
114H,128H,256H,259H,325H,14ADH, 34DEH,4D34H,5FDAH 256H ? ? ?
第 1章
汇编语言基础知识 8章
8086/
22
8.2
分支结构程序设计
LEA CMP JA LEA JE STC JMP LAB1: MOV SHL ADD CMP JB JE STC JMP LAB2: MOV MOV MOV DI,ARRAY AX,ES:[DI] LAB1 SI ,ES:[DI] EXIT EXIT1 SI,LEN1-1 SI,1 SI,DI AX,ES:[SI] LAB2 EXIT EXIT1 MOV LOW1,1 BX,LEN1 HIGH1,BX BX,DI
21.03.2019
al, 0
;AL为逻辑尺
continue bx, branch_table al, 1 ;逻辑右移 add1 word ptr[bx] ;段内间接转移 bx, type branch_table ;add bx,2 L
第 1章
汇编语言基础知识 8章
8086/
17
…… cmp je mov L: shr jnc jmp add1: add jmp continue: …… routine1: …… routine2: ……
21.03.2019
第 1章
汇编语言基础知识 8章
8086/
9
8.2 分支结构程序设计 CODE SEGMENT ASSUME DS:DATA,CS:CODE 8.2.1 测试法分支程序设计 START: MOV AX, DATA MOV DS, AX MOV AX, X CMP AX, Y DATA SEGMENT JGE L1 X DW -0ABH MOV AX, Y Y DW 205 L1: CMP AX, Z Z DW 200 JGE EXIT MAX DW ? MOV AX, Z DATA ENDS EXIT: MOV MAX, AX MOV AH, 4CH INT 21H CODE ENDS END START

汇编语言 课件 第8章

汇编语言 课件 第8章

(1)8088系统限制d1只能是AL或AX。当外设端口号不超 过255时,d2操作数可直接写端口号码, 是外设的直接寻址 方式;端口号超过255时,必须先把端口号放在DX中,以DX 作为d2操作数,这是外设的间接寻址方式。
(2)当d1是AL时,该指令从指定的端口中读1字节数据;
当d1是AX时,CPU将从d2对应的端口读1字节数据到AL,从 下一个端口号读1字节数据到AH,即总共读取16位数据送到
它们各自占据一个外设端口号码,分别是:
数据部件 ── 378H; 状态部件 ── 379H; 控制部件 ── 37AH。 状态端口各位的含义如下:
D7
Busy
D6
ACK
D5
PE
D4
SELE CT
D3
ERRO R
D2
D1
D0
(1)D7位:是打印机的“忙”信号。这一位为0表示打 印机当前正处于“忙”状态,为1表示打印机不忙。 ( 2 ) D6 位:是打印机送回的认可信号。当打印机从接
N
Ready ?
Y
从数据端口读一个数据
Y
向数据端口写一个 数据或向命令端口 发一个操作命令
N
处理完?
N
处理完?
Y (a)查询方式输入操作流程 (b)查询方式输出操作流程
Y
打印机是一种可以按查询方式工作的输出外设,它与主 机连接的接口部件是打印机适配器,也就是平常所说的“标 准并行接口”或“并口”。打印机接口中的三大部件齐备,
DX,AL
;结束初始化,保持联机
start:
MOV AX,data MOV DS,AX MOV CX,30 ;30行
again: LEA next: wait: MOV IN

汇编语言程序设计教程2版8章

汇编语言程序设计教程2版8章
2010-12-24 7
直接存储器存取方式(DMA) 直接存储器存取方式(DMA)
中断传送方式虽然能快速地响应I/O设备的传送 中断传送方式虽然能快速地响应I/O设备的传送 要求,但其服务过程仍由软件来实现。 要求,但其服务过程仍由软件来实现。每次中 断处理需要保护断点、保护现场及恢复现场、 断处理需要保护断点、保护现场及恢复现场、 恢复断点,这些操作都要占用CPU的额外时间 的额外时间。 恢复断点,这些操作都要占用CPU的额外时间。 对某些需要高速地传送大量数据的设备( 对某些需要高速地传送大量数据的设备(如磁 来说,这种中断传送方式就显得太慢。 盘)来说,这种中断传送方式就显得太慢。 因此,希望由硬件电路来直接实现数据交换, 因此,希望由硬件电路来直接实现数据交换, 而不必通过CPU,这就是DMA方式 方式。 而不必通过CPU,这就是DMA方式。 DMA方式能摆脱 DMA方式能摆脱CPU的直接干预,利用硬件控 方式能摆脱CPU的直接干预 的直接干预, 制设备DMA控制器 DMAC), 控制器( ),实现外部设备 制设备DMA控制器(DMAC),实现外部设备 与内存间的直接数据传送。 与内存间的直接数据传送。
2010-1U寻址外设的方式
CPU寻址外设的方式有存储器寻址和端口寻址两 CPU寻址外设的方式有存储器寻址和端口寻址两 种方式。第一种存储器寻址方式是把外设看作一 种方式。第一种存储器寻址方式是把外设看作一 个存储单元, 个存储单元,每个外设占有存储器的一个或若干 个地址。当要从外设输入一个数据时, 个地址。当要从外设输入一个数据时,就对外设 进行读操作,即到外设接口寄存器中读回数据。 进行读操作,即到外设接口寄存器中读回数据。 在向外设输出一个数据时, 在向外设输出一个数据时,则以同样的方式对与 外设对应的存储单元地址进行一次存储器写操作, 外设对应的存储单元地址进行一次存储器写操作, 即把数据写到外设接口的寄存器中去。 即把数据写到外设接口的寄存器中去。 CPU寻址外设的另一种方式是端口寻址 CPU寻址外设的另一种方式是端口寻址,这种方 寻址外设的另一种方式是端口寻址, 式要求使用专门的输入输出指令, 式要求使用专门的输入输出指令,并要求为外设 接口分配地址,以便通过接口地址来寻址外设。 接口分配地址,以便通过接口地址来寻址外设。

ASM:《X86汇编语言-从实模式到保护模式》第8章:实模式下硬盘的访问,程序重定位和加载

ASM:《X86汇编语言-从实模式到保护模式》第8章:实模式下硬盘的访问,程序重定位和加载

ASM:《X86汇编语⾔-从实模式到保护模式》第8章:实模式下硬盘的访问,程序重定位和加载第⼋章是⼀个⾮常重要的章节,讲述的是实模式下对硬件的访问(这⼀节主要讲的是硬盘),还有⽤户程序重定位的问题。

现在整理出来刚好能和保护模式下的⽤户程序定位作⼀个对⽐。

★PART1:⽤户程序的重定位,硬盘的访问1. 分段、段的汇编地址和段内汇编地址NASM编译器使⽤汇编指令“SECTION”或者“SEGMENT”来定义段。

他的⼀般格式是SECTION 段名称或者SEGMENT段名称(段名称不能重复),另外NASM对段没有数量的限制,⼀个程序可以有很多的代码段和数据段。

Intel处理器要求段在内存中的其是物理地址起码是16字节对齐的,⽽NASM 提供了段的修饰符align,使每⼀个段可以16字节对齐或者32字节对齐,⽐如所谓段的汇编地址其实就是段内第⼀个元素(数据,指令)的汇编地址,16字节对齐的意思是所有段⾸的汇编地址都要可以被16整除,如果存在⼀个段要求16字节对齐,⽽这个段的前⼀个段长度不够使当前段不能16字节对齐,那么编译器会⾃动将前⼀个段补0来使这⼀个段满⾜16字节对齐。

NASM编译器提供以下形式section.段名称.start来获得段的汇编地址,⽐如:另外段还可以加⼀个vsart修饰符,因为在NASM编译器中,即使你定义了⼀个段,段的汇编地址就是段内第⼀个元素的汇编地址,但是在引⽤某个标号的时候(包括section.段名称.start),这个标号的汇编地址还是从整个程序的开头开始计算的,⽽不是对段⾸的偏移。

不过再加了vsart=0的时候,段内所有标号的地址都是相对于当前段⾸的偏移了(当然也可以设定为其他数值,标号的偏移值是在这个值的基础上加上与段⾸的偏移地址。

)2. ⽤户程序头部加载⼀个⽤户程序需要⼀个加载器(在实模式下),⽽加载器是不知道⽤户程序⾥⾯具体的结构和功能的,⼀个程序想要运⾏,那么这个程序就要满⾜运⾏环境的⼀些约定俗成的条件,也就是程序哪些部分要怎么写是固定的,现在我们在MBR加载⼀个程序也是⼀样的,只要⽤户程序在某些部分满⾜⼀些条件,我们的加载器就可以识别并加载它。

第8章 汇编语言程序开发与调试

第8章  汇编语言程序开发与调试
第8章 汇编语言程序开发与调试
第8章 汇编语言程序开发与调试
8.1 汇编语言程序开发过程 8.2
第8章 汇编语言程序开发与调试
8.1 汇编语言程序开发过程
返回本章首页
第8章 汇编语言程序开发与调试
汇编语言开发过程
(1)编写程序,建立扩展名为.asm的汇编源程
序文件。
(2)对源程序进行汇编,生成目标文件(.obj)。
;------------------- 子程序ASCII结束--------------------------------------------
另外,对于大多数汇编语言程序都需通过调试才能检验 程序执行结果的。下面我们讨论汇编语言程序的调试方法。
返回本节
第8章 汇编语言程序开发与调试
8.2 汇编语言程序的调试方法
命令来调试程序。
返回本节
第8章 汇编语言程序开发与调试
3. DEBUG的主要命令
在输入提示符“-”后,键入?,然后回车,可以显示 DEBUG命令一览表。下面介绍其中得主要命令。 (1) 显示存储单元的命令D(DUMP),格式为:
-D[address]或_D[range]
例如,按指定范围显示存储单元内容的方法为: -d 100 120 18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G ...8.G.....G ... 18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37.. ; .. h ..M PQVW. 7 18E4:0120 8B
图 8-7 编译界面
第8章 汇编语言程序开发与调试
同样直接输入demo.obj即可。在连接过程中 会提示我们是否需要生成映像文件.map和库文 件.lib,如下图8-8所示。一般不需要,可以直接 键入Enter跳过去。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DOS是IBM PC机的磁盘操作系统,它由 是 机的磁盘操作系统, 机的磁盘操作系统 软盘或硬盘提供。它有二个模块 软盘或硬盘提供。它有二个模块 它们使BIOS用起来更方便 用起来更方便–– 和,它们使 它们使 用起来更方便 –DOS模块提供了更多更必要的测试 , 使 DOS 模块提供了更多更必要的测试, 模块提供了更多更必要的测试 操作比使用相应功能的BIOS操作更简易而且对 操作更简易而且对 操作比使用相应功能的 硬件的依赖性更少些。 硬件的依赖性更少些。
个单元内容对应屏蔽上的哪个位置。 个单元内容对应屏蔽上的哪个位置。 行号:0~24 列号:0~9
一、属性 单色屏幕上的每个字符在存储器中由二个字 单色屏幕上的每个字符在存储器中由 二个字 节表示、 一个字节保存字符的ASCII码 , 另一个 节表示 、 一个字节保存字符的 码 字节保存字符的属性。字符的属性确定了每个显 字节保存字符的属性。 字符的属性 示字符的特性––––如字符是否闪烁显示,是否被 如字符是否闪烁显示, 示字符的特性 如字符是否闪烁显示 加亮,是否反相显示。 加亮,是否反相显示。
使用BIOS功能调用,给程序员编程带来很 功能调用, 使用 功能调用 大的方便(他不必了解硬件 接口的特性, 大的方便 他不必了解硬件I/O接口的特性 , 可 他不必了解硬件 接口的特性 直接用指令设置参数,然后中断调用BIOS中的 直接用指令设置参数,然后中断调用 中的 程序。 使程序简洁, 程序。–––使程序简洁,可读性好,易于移植 使程序简洁 可读性好,易于移植)
get-ec: mov ah, 7 int 21h cmp al, 38h je op1 cmp al, 3ch je op2 cmp al, 3dh je op3 jmp error ; F3? ; F2? ; F1?
2. 输入字符串(21H的0AH功能) 从键盘读入一串字符并把它存入用户定义的 缓冲区中。 缓冲区中。缓冲区的第一个字节保存最大字符数 ––––由用户程序给出。第二个字节是实际输入的 由用户程序给出。 由用户程序给出 字符个数––––由功能 由功能OA填入 , 这二个字节后 , 填入, 字符个数 由功能 填入 这二个字节后, 开始存入字符串(按字节存 最后结束字符串的回 开始存入字符串 按字节存)最后结束字符串的回 按字节存 车符0DH还要占用一个字符⇒空间为最大字符数 还要占用一个字符⇒ 车符 还要占用一个字符 +2
键盘I/O 第一节 键盘
键盘有三种类型的键: 键盘有三种类型的键: 字符键:A~Z,0~9,%, $, #等; 给计算机传送一个ASCII码字符。 扩展功能键:如Home, End, Return, Del, Ins程序 功能键等; 产生一个动作 控制键:Alt, Ctrl, Shift. 改变其它键所产生的字符码–––改变功能。
一、字符码、扫描码 如果键盘中断是允许的(21H端口的第一位 端口的第一位 如果键盘中断是允许的 =0), 在键盘上“ 按下”或“ 放开”一个键时, 在键盘上“ 按下” 放开”一个键时, 就会产生一个类型9的中断, 并转入BIOS键盘中 就会产生一个类型 的中断, 并转入 键盘中 的中断 断处理程序。 处理程序从8255可编程接口芯 断处理程序 。 –––处理程序从 处理程序从 可编程接口芯 片输入端口60H读取一个字节 低 7位是键的扫描 读取一个字节(低 位是键的扫描 片输入端口 读取一个字节 最高位0 按下, 码––––见P231表3.1)最高位 ––––按下,1 ––––表 见 表 最高位 按下 表 示放开。 示放开。
想得到键入时, 当 CPU想得到键入时 , 就调 想得到键入时 就调BIOS键盘例行 键盘例行 程序,它按其接收时的次序从缓冲区取出字符和 程序, 扫描码,回送给 扫描码,回送给CPU。 。
二、BIOS键盘中断(16H类) 类型16H中断处理程序包括 个不同的功能 中断处理程序包括3个不同的功能 类型 中断处理程序包括 (由AH定) 由 定 AL=字符码 字符码 AH:0 从键盘读一个字符 : AH=扫描码 扫描码
是 I/O设备处理程序 , 它提 是 设备处理程序, 设备处理程序 供了DOS到ROM BIOS的低级接口。 到 的低级接口。 供了 的低级接口 完成 数据 “ 内存 外设”工 作
IBMDOS .COM包括一个文作管理和一些处 包括一个文作管理和一些处 理程序, 理程序,在DOS下运行的程序可以调用这些处理 下运行的程序可以调用这些处理 程序,为了完成DOS功能调用 IBMDOS .COM 功能调用, 程序,为了完成 功能调用 把信息传送给IBMBIO .COM形成一个或多个 把信息传送给 形成一个或多个 BIOS调用, BIOS调用,即: 调用 用户
单色适配器只能显示字符(标准字母、 单色适配器只能显示字符 标准字母、数字 标准字母 和符号组成,加上一些简单的图形 , 如菱形 、 和符号组成 , 加上一些简单的图形,如菱形、 矩形,及笑脸等符号 只能用于黑白显示器 只能用于黑白显示器。 矩形,及笑脸等符号)只能用于黑白显示器。
显示器屏幕被划分成80列 行 显示器屏幕被划分成 列 25行, 适配器就是 在这2000个(25×80)网络位置上显示字符,屏蔽上 个 × 网络位置上显示字符 网络位置上显示字符, 在这 的一个网格也称为一个“ 的一个网格也称为一个“ 象素” 象素”, 对应每个象 存储器中都有一个相应单元––––故称屏幕为 素 , 存储器中都有一个相应单元 故称屏幕为 “ 存储器映象” 存储器映象 ” ⇒使显示器电路很容易知道哪
1 读键盘冲区的字符
如ZF=0 AL=字符码 AH=扫描码 如ZF=1,缓冲区空
2 取键盘状态字节
AL=键盘状态字节
例如1:MOV AH,0 INT 16H MOV BX,AX ;将按键的扫描码和ASCII码 CALL BINHEX ;转换成16进制并打印出来
例2:读键盘状态字节––––有些键(shif, Alt, Ctrl,… 键)不具有ASCII码,但要判断键是否按动,须 调用16H的功能2:将键盘状态字节送到AL中: MOV AH, 02 INT 16H MOV BX, AX CALL BINHEX ;读状态字节并打印出来 状态字节各位的含义P233图9.2
3. 清除键盘缓冲区(21H的0CH功能) 0CH功能清除缓冲区然后执行 所指定功能。 功能清除缓冲区然后执行AL所指定功能 功能清除缓冲区然后执行 所指定功能。 AL的指定功能可以是 ,6,7,8或0AH。 的指定功能可以是1, , , 或 的指定功能可以是 。 如:mov ah, 0ch mov al, 08h int 21h ;清除后执行功能8––––输入字符但不回显
三、DOS键盘功能调用 BIOS的 16H能同时回送字符码和扫描码 , 的 能同时回送字符码和扫描码, 能同时回送字符码和扫描码 这在使用功能键和变换键的程序中很重要, 这在使用功能键和变换键的程序中很重要,但对 一般的键操作, 我们最好使用适应力更强的由 一般的键操作 , DOS 21H提供的键盘功能。 提供的键盘功能。 提供的键盘功能 P234表9.5列出了有关 表 列出了有关 列出了有关DOS 21H的功能调用情况 的功能调用情况
注若要检测return键,则要在指令中写出它 键 注若要检测 的ASCII码0DH, 如果要求能接收功能键或数字 码 组合键, 则必须二次DOS调用第一次回送 , 调用第一次回送00, 组合键 , 则必须二次 调用第一次回送 第二次回送扫描码。 第二次回送扫描码。
例如:显示一个菜单,要求用户键入F1,F2或F3 来选择1,2或3项,按其它则产生出错信息: mov ah, 7 int 21h cmp al, 0 je get-ec jmp error
对I/O的程 序请求
高级

低级

ROM
BIOS 外设
在一些情况下,既能选择DOS中断也能选择 在一些情况下,既能选择 中断也能选择 BIOS中断来执行同样的功能。如:打印机输出一 中断来执行同样的功能。 中断来执行同样的功能 个字符的功能,可用DOS中断 中断21H的功能 ,也可 的功能5, 个字符的功能,可用 中断 的功能 用 BIOS中断 中断17H的功能 , 因为 的功能0,因为BIOS比DOS更靠 中断 的功能 比 更靠 近硬件,故应尽可能地使用DOS功能, 但在少数 功能, 近硬件 , 故应尽可能地使用 功能 情况下必须使用BIOS功能 , 如 BIOS 17H的功能 功能, 情况下必须使用 功能 的功能 为读打印机状态,它没有等效的 功能。 为读打印机状态,它没有等效的DOS功能。 功能
如:max db 32 act db ? str db 32 dup (?) 输入:lea dx, max mov ah, 0ah int 21h
若输入 By brooks too troad for leaping 则缓冲区为: 则缓冲区为:
20 1f By
broo k s
t oo
t ro a d
键盘处理程序将取得扫描码转换成相应的字 符码(标准的 符码 标准的ASCII码),没有相应 标准的 码 ,没有相应ASCII码的键如 码的键如 Alt和功能键 和功能键(F1~F10)字符码为 。 字符码为0。 和功能键 字符码为 转 换 成 的 字 符 码 以 及 扫 描 码 存 储 在 ROM BIOS数据区的键盘缓冲区中 数据区的键盘缓冲区中(KB-BUFFER DW - 数据区的键盘缓冲区中 16 DUP(?))–––16个字的输入空间。 个字的输入空间。 个字的输入空间
DOS中断能处理大多数的 中断能处理大多数的I/O, 但有一些功能 中断能处理大多数的 还没有提供,如声控,这要用I/O指令在端口级上 还没有提供,如声控,这要用 指令在端口级上 编程,或使用高级语言编程。 编程,或使用高级语言编程。 和表9.2列出了 系统主要的BIOS 表9.1和表 列出了 和表 列出了IBM PC系统主要的 系统主要的 中断类型和DOS中断类型。 中断类型。 中断类型和 中断类型 CPU, 8259,BIOS(12种),…,DOS中断类型。
相关文档
最新文档