接口技术 第4章 (46)

合集下载

微机原理与接口技术-第4-1章

微机原理与接口技术-第4-1章

例4-3 用键盘最多输入10个字符,并存 入内存变量Buff中,若按“Enter”键,则 表示输入结束。
用BIOS层功能调用实现 层功能调用实现 的源程序: 的源程序: .MODEL SMALL CR EQU 0DH .STACK 200H .DATA Buff DB 10 DUP(?) .CODE .STARTUP MOV CX, 0AH LEA BX, Buff
Windows层功能模块的调用
Win32 API使用堆栈来传递参数 API函数调用 C语言的消息框函数的声明: int MessageBox( HWND hWnd, // handle to owner window LPCTSTR lpText, // text in message box LPCTSTR lpCaption, // message box title UINT uType // message box style );//参数 最后还有一句说明: Library: Use User32.lib.//说明这个函数的位置
API 函数的返回值
有的API 函数有返回值,如MessageBox 定义 函数有返回值, 有的 的返回值是int类型的数,返回值的类型对汇编 的返回值是 类型的数, 类型的数 程序来说也只有dword 一种类型,它永远放在 一种类型, 程序来说也只有 eax 中。如果要返回的内容不是一个 如果要返回的内容不是一个eax所能 所能 容纳的, 容纳的,Win32 API 采用的方法一般是返回一 个指针, 个指针,或者在调用参数中提供一个缓冲区地 干脆把数据直接返回到缓冲区中去。 址,干脆把数据直接返回到缓冲区中去。
.REPEAT MOV AH, 0H INT 16H .BREAK .IF AL==CR MOV [BX],AL INC BX .UNTILCXZ .EXIT 0 END

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案【篇一:《单片机原理及接口技术(第2版)张毅刚》第4章习题及答案】第4章 at89s51单片机的中断系统思考题及习题41.外部中断1的中断入口地址为 ,定时器1的中断入口地址为。

答:0013h;001bh2.若(ip)=00010100b,则优先级最高者为,最低者为。

答:外部中断1,定时器t13.中断服务子程序与普通子程序有哪些相同和不同之处?答:reti指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而ret指令则没有这个操作。

除了这一点两条指令不同外,其它操作都相同。

4.下列说法正确的是。

答:da. 各中断源发出的中断请求信号,都会标记在at89s51的ie寄存器中b. 各中断源发出的中断请求信号,都会标记在at89s51的tmod寄存器中c. 各中断源发出的中断请求信号,都会标记在at89s51的ip寄存器中d. 各中断源发出的中断请求信号,都会标记在at89s51的tcon与scon寄存器中5.at89s51单片机响应外部中断的典型时间是多少?在哪些情况下,cpu将推迟对外部中断请求的响应?答:在一个单一中断的系统里,at89s51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

在下述三种情况下,at89s51将推迟对外部中断请求的响应:(1)at89s52正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。

(3)正在执行的指令是reti或是访问ie或ip的指令。

如果存在上述三种情况之一,at89s52将丢弃中断查询结果,将推迟对外部中断请求的响应。

6.中断查询确认后,在下列各种at89s51单片机运行情况下,能立即进行响应的是。

a. 当前正在进行高优先级中断处理b. 当前正在执行reti指令c. 当前指令是div指令,且正处于取指令的机器周期d. 当前指令是mov a,r3答:d7. at89s51单片机响应中断后,产生长调用指令lcall,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送,使程序执行转向中的中断地址区。

(word完整版)微机原理与接口技术知识点总结整理,推荐文档

(word完整版)微机原理与接口技术知识点总结整理,推荐文档

《微机原理与接口技术》复习参考资料第一章概述一、计算机中的数制1、无符号数的表示方法:(1)十进制计数的表示法特点:以十为底,逢十进一;共有0-9十个数字符号。

(2)二进制计数表示方法:特点:以2为底,逢2进位;只有0和1两个符号。

(3)十六进制数的表示法:特点:以16为底,逢16进位;有0--9及A—F(表示10~15)共16个数字符号。

2、各种数制之间的转换(1)非十进制数到十进制数的转换按相应进位计数制的权表达式展开,再按十进制求和。

(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制●十进制→二进制的转换:整数部分:除2取余;小数部分:乘2取整。

●十进制→十六进制的转换:整数部分:除16取余;小数部分:乘16取整。

以小数点为起点求得整数和小数的各个位。

(3)二进制与十六进制数之间的转换用4位二进制数表示1位十六进制数3、无符号数二进制的运算(见教材P5)4、二进制数的逻辑运算特点:按位运算,无进借位(1)与运算只有A、B变量皆为1时,与运算的结果就是1(2)或运算A、B变量中,只要有一个为1,或运算的结果就是1(3)非运算(4)异或运算A、B两个变量只要不同,异或运算的结果就是1二、计算机中的码制1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。

数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。

它们的差别在于对负数的表示。

(1)原码定义:符号位:0表示正,1表示负;数值位:真值的绝对值。

注意:数0的原码不唯一(2)反码定义:若X>0 ,则[X]反=[X]原若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反注意:数0的反码也不唯一(3)补码定义:若X>0,则[X]补= [X]反= [X]原若X<0,则[X]补= [X]反+1注意:机器字长为8时,数0的补码唯一,同为000000002、8位二进制的表示范围:原码:-127~+127反码:-127~+127补码:-128~+1273、特殊数10000000●该数在原码中定义为:-0●在反码中定义为:-127●在补码中定义为:-128●对无符号数:(10000000)2= 128三、信息的编码1、十进制数的二进制数编码用4位二进制数表示一位十进制数。

《微机原理与接口技术》(第四版)周何琴课后习题答案

《微机原理与接口技术》(第四版)周何琴课后习题答案

第1章绪论作业1. 将下列二进制数转换成十进制数。

(1)11001010B=202 (2)00111101B=61(3)01001101B=77 (4)10100100B=1643. 将下列十进制数分别转换为二进制数和十六进制数。

(2)76= 100 1100B =4CH(4)134= 1000 0110B =86H4. 求下列十进制数的BCD码(1)327=11 0010 0111(BCD码)(2)1256=1 0010 0101 0110(BCD码)6. 求出下列10进制数的原码、反码和补码(2)+85 (4)-85解:85=0101 0101B原码:+85= 0101 0101B -85= 1101 0101B反码:+85= 0101 0101B -85= 1010 1010B补码:+85= 0101 0101B -85= 1010 1011B10. 画出微型计算机的基本结构框图,说明各部分的主要功能是什么?解:微型计算机的基本结构框图如下:微处理器CPU:控制微处理器与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。

微处理器主要完成:(1)指令控制:从存储器中取指令,指令译码;(2)数据加工:简单的算术逻辑运算;(3)操作控制:在微处理器和存储器或者I/O之间传送数据;(4)时间控制:程序流向控制。

存储器:用来存放数据和指令。

I/O接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。

I/O设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。

输出运算结果。

总线:连接计算机系统中各功能部件的信息通道。

第2章 8086CPU作业2. 8086CPU内部由哪两部分组成?它们的大致是如何工作的?答:(1)8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。

(2)① BIU先执行读存储器操作,从给定地址单元中取出指令,送到先进先出的指令队列中等待执行。

微型计算机原理及接口技术(第三版)(裘雪红)作者提供课件章 (4)

微型计算机原理及接口技术(第三版)(裘雪红)作者提供课件章 (4)

& 1
≥1
G1
G2A Y0
G2B
74LS138
C B
Y1
A
A15 0 A14 0 A13 0 A12 0
A11 x A10
A9 A8
A7
A6 6116 A5 片内 A4 地址
A3 A2 A1 A0
5.2.1 静态读/写存储器(SRAM) 一、异步SRAM 3. 传统异步型SRAM连接举例
(2)利用ROM作译码器 现在要用4片6264构成一个存储容量为32 KB的存储
A12 WE OE CS2 DA000H~DBFFFH DE000H~DFFFFH
CS1 FA000H~FBFFFH FE000H~FFFFFH
19
5.2.1 静态读/写存储器(SRAM)
2. 传统异步型SRAM接口设计 (2) 译码电路的选择
利用译码芯片、门电路 74LS138:3-8译码器 74LS154:4-16译码器
类型
存储容量
特征
标准同步SRAM
2Mb~72Mb 直通型SRAM
流水线型SRAM
NoBL(无总线延Q迟D率R)来型型支同持步两4SMR项Ab同M~时7能2出够M现以b的2倍读数、零据写总传操线输作转速向时间
SRAM
时钟的上升沿和下降沿可分别
QDR型同步SRAM
18传M送b一~1次4数4M据b 四倍数据速率
同步SRAM的所有访问都在时钟的上升/下降沿启动, 地址、数据输入和其它控制信号均与时钟信号相关。
9
5.2.1 静态读/写存储器(SRAM)
1. 典型传统异步型SRAM芯片 SRAM 6264芯片
一、异步SRAM
10
8987654321 21111111111 76543210 C D DDDDDDDD N N CCV G E 89E01234567 4 6 W2SCAA11AO01A1SCAAAAAAAA21A 2 6 98765432 765432100 222222221

微机原理与接口技术(第四版)课后习题答案(1)

微机原理与接口技术(第四版)课后习题答案(1)

第1章微型计算机系统〔习题1.1〕简答题(2)总线信号分成哪三组信号?(3)PC机主存采用DRAM组成还是SRAM组成?(5)ROM-BIOS是什么?(6)中断是什么?(9)处理器的“取指-译码-执行周期”是指什么?〔解答〕②总线信号分成三组,分别是数据总线、地址总线和控制总线。

③ PC机主存采用DRAM组成。

⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。

⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。

⑨指令的处理过程。

处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。

〔习题1.3〕填空题(2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。

(3)二进制16位共有___________个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址___________容量主存空间。

(9)最初由公司采用Intel 8088处理器和()操作系统推出PC 机。

② 1MB,4GB③ 216,64KB(9)IBM,DOS〔习题1.4〕说明微型计算机系统的硬件组成及各部分作用。

〔解答〕CPU:CPU也称处理器,是微机的核心。

它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。

处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。

存储器:存储器是存放程序和数据的部件。

外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。

I/O设备通过I/O接口与主机连接。

单片机原理及其接口技术胡汉口第3版第4章-汇编程序设计

单片机原理及其接口技术胡汉口第3版第4章-汇编程序设计
有定义的内存单元地址 有定义的内存单元地址
例:
ORG 8000H TAB: DB 45H,73,‘5’,‘A’ : , , , TAB1:DB 101B :
伪指令ORG 定义了 定义了TAB的起始地址为 的起始地址为8000H, 伪指令 的起始地址为 , 伪指令DB定义了 定义了8000H~8003单元的内容依次为: 单元的内容依次为: 伪指令 定义了 ~ 单元的内容依次为 TAB (8000H)= 45H ) (8001H)= 49H ) (8002H)= 35H ) (8003H)= 41H ) TAB1 8004H)= 05H ( )
空间
例:
ORG 8000H DS 08H DB 30H,8AH , 即:8000H~8007H单元保留备用 ~ 单元保留备用 (8008H)=30H ) (8009H)=8AH )
MCS-51单片机伪指令 MCS-51单片机伪指令 单片机伪 8、位地址符号命令 BIT 、 格式: 格式: 字符名称 BIT 位地址
汇编 汇编语言 源程序 反汇编 机器语言
4.3.1
简单程序设计
请编写能把20 单元内两个BCD 20H BCD数变成相应的 [例4.1]请编写能把20H单元内两个BCD数变成相应的 ASCII码并放在21H 高位BCD数的ASCII 码并放在21 BCD数的ASCII码 22H ASCII码并放在21H(高位BCD数的ASCII码)和22H 低位BCD数的ASCII BCD数的ASCII码 单元的程序。 (低位BCD数的ASCII码)单元的程序。 分析: 分析: 1) 20H 单元存放的为 压缩 BCD 码 , 送入 中 , 先处 压缩BCD ) 20H单元存放的为压缩 BCD码 送入A中 理低四位,使用交换低四位指令,结果存入22 22H 理低四位,使用交换低四位指令,结果存入22H单 元 XCHD A,@Ri(唯一一个交换低四位指令) , (唯一一个交换低四位指令) 本设计用R0实现 实现。 本设计用 实现。 BCD码与 ASCII码关系 码与ASCII 码关系: BCD码 30H= 相应ASCII H=相应 2 ) BCD 码与 ASCII 码关系 : BCD 码 +30H= 相应 ASCII 码

微机原理与接口技术(楼顺天第二版)第四章习题解答

微机原理与接口技术(楼顺天第二版)第四章习题解答

微机原理与接口技术(楼顺天第二版)习题解答第4章汇编语言程序设计4。

1、已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。

答:BUF D B ”BONJOUR_BELLE"BUFR DB 100 DUP(?)MOV CX, NLEA SI, BUFLEA DI, BUFRADD DI,CXDEC DIL1:MOV AL,[SI]MOV [DI],ALINC SIDEC DILOOP L14。

2、利用移位、传送和相加指令实现AX的内容扩大10倍.答:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。

XOR DX,DXSHL AX,1RCL DX,1MOV BX,AXMOV CX,DXSHL AX,1RCL DX, 1SHL AX, 1RCL DX, 1ADD AX, BXADC DX, CX4。

3、在缓冲区V AR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果V AR中保存的为有符号数,则再编写程序实现将其按递减关系排列。

答:V AR DW 1236,-432,3900XOR SI,,SIMOV AX,V AR[SI]CMP AX,V AR[SI+2]JAE L1XCHG AX,V AR[SI+2]L1:CMP AX, V AR[SI+4]JAE L2XCHG AX, V AR[SI+4]L2:MOV V AR[SI],AXMOV AX,V AR[SI+2]CMP AX,V AR[SI+4]JAE L3XCHG AX,V AR[SI+4]L3:MOV V AR[SI+2], AX4。

4、编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。

微型计算机原理与接口技术第四章课后答案

微型计算机原理与接口技术第四章课后答案

第四章1. 下列变量各占多少字节?A1 DW 23H,5876HA2 DB 3 DUP(?),0AH,0DH, ‘$’A3 DD 5 DUP(1234H, 567890H)A4 DB 4 DUP(3 DUP(1, 2,’ABC’))答:A1占4个字节A2占6个字节A3占40个字节A4占60个字节2. 下列指令完成什么功能?MOV AX,00FFH AND 1122H+3344HMOV AL,15 GE 1111BMOV AX,00FFH LE 255+6/5AND AL, 50 MOD 4OR AX, 0F00FH AND 1234 OR 00FFH答:(1)将0066H传送给AX(2)将0FFH传送给AL(3)将0FFFFH传送给AX(4)AND AL,02H(5)OR AX,00FFH3. 有符号定义语句如下:BUF DB 3,4,5,’123’ABUF DB 0L EQU ABUF-BUF求L的值为多少?答:L=64. 假设程序中的数据定义如下:PAR DW ?PNAME DB 16 DUP(?)COUNT DD ?PLENTH EQU $-PAR求PLENTH的值为多少?表示什么意义?答:PAR的偏移地址为0,PLENTH当前偏移地址$=2+16+4=22, $-PAR=22,故PLENTH 的值为22。

若在PLENTH所在行有变量定义,则$表示该变量的偏移地址,即$表示PLENTH所在行的当前偏移地址。

故PLENTH表示从当前行到PAR之间定义的变量所占的字节个数。

5. 对于下面的数据定义,各条MOV指令执行后,有关寄存器的内容是什么?DA1 DB ?DA2 DW 10 DUP(?)DA3 DB ‘ABCD’MOV AX, TYPE DA1MOV BX, SIZE DA2MOV CX, LENGTH DA3答:AX=1,BX=20,CX=16. 下段程序完成后,AH等于什么?IN AL, 5FHTEST AL, 80HJZ L1MOV AH, 0JMP STOPL1: MOV AH, 0FFHSTOP: HLT答:讨论从端口5FH输入的数据最高位的情况。

DMA

DMA

DACK 决定是否插入等待状态Sw
MEMR(ISO4R状) 态——完成数据传送
IOW(MEMW)
21
DMA传送时序
4.4.3 8237A的编程使用
微机接口技术
8237A共有10种内部寄存器,对它们的操作 有时需要配合3个软件命令。
8237A的“软件命令”
不需要通过数据总线写入控制字 直接由地址和控制信号译码实现
➢ HRQ:总线请求。8237A输出有效的HRQ高
电平,向CPU申请使用系统总线。
➢ HLDA:总线响应。8237A接受来自CPU的响
应信号HLDA,取得了总线的控制权。
➢ DACK0~DACK3:DMA通道响应。
15
(2)DMA传送控制信号
微机接口技术
A0~A7:地址线。
DB0~DB7:数据线/高8位地址线。
7
3、请求方式
微机接口技术
特点:
DREQ信号有效就连续传送数据; DREQ信号无效,DMA传送被暂时中止,
8237A释放总线,CPU可继续操作; DREQ信号再次有效,DMA传送就继续进行。 DMA操作可由外设利用DREQ信号控制传送的
过程
8
4、级联方式
微机接口技术
用于通过多个8237A级连以扩展通道;
18
4.4.2 8237A的工作时序·空闲周期
微机接口技术
8237A的任一通道都没有DMA请求时。
8237A由微处理器控制作为一个接口芯片。
CPU可对8237A编程,或从8237A读取状态。
8237A采样CS*选片信号,该信号有效, CPU就要对8237A进行读/写操作。
8237A还采样通道的请求输入信号DREQ, 该信号有效,就进入有效周期。

微机计算机基本原理与接口技术(陈红卫)参考答案

微机计算机基本原理与接口技术(陈红卫)参考答案

微机计算机基本原理与接⼝技术(陈红卫)参考答案第⼀章参考答案1.将下列⼗进制数转换成⼆进制数:(1)49 (2)49.75 (3)100 (4)100.8125解:(1) (49)10=(110001)2(2)(49.75)10=(110001.11)2(3) (100)10=(1100100)2(4) (100.8125)10=(1100100.1101)22.将下列⼗六进制数转换成⼆进制数和⼗进制数:(1)FAH (2)78A2H (3)FFFFH (4)3CH解:(1) (FA)16=(11111010)2=(250)10(2) (78A2)16=(111100010100010)2=(30882)10(3) (FFFF)16=(1111111111111111)2=(65535)10(4) (3C)16=(111100)2=(60)103.将下列⼆进制数转换成⼗六进制数和⼋进制数:(1)101101.11 (2)1111111 (3)1101001011.01 (4)10111101解:(1) (101101.11)2=(2D.C)16=(55.6)8(2) (1111111)2=(7F)16=(177)8(3) (1101001011.01)2=(34B.4)16=(1513.2)8(4) (10111101)2=(BB)16=(275)84.设机器字长为8位,写出下列各⼆进制数的原码、反码和补码:(1)+1010101 (2)-1000000 (3)+1111111 (4)-1111111解:(1) 原码:01010101反码:01010101补码:01010101(2) 原码:11000000反码:10111111补码:11000000(3) 原码:01111111反码:01111111补码:01111111(4) 原码:11111111反码:10000000补码:100000015.设下列四组为8位⼆进制补码表⽰的⼗六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=0F6H,b=0D5H (2)a=0B7H,b=0C7H(3)a=37H,b=67H (4)a=73H,b=7BH解:(1)a+b=CBH 没有发⽣溢出a-b=21H 没有发⽣溢出(2) a+b=7EH 发⽣溢出a-b=F0H 没有发⽣溢出(3) a+b=9EH 没有发⽣溢出a-b=D0H 没有发⽣溢出(4) a+b=EEH 发⽣溢出a-b=F8H 没有发⽣溢出6.已知a=00111000B,b=11110011B,计算下列逻辑运算:(1)a AND b (2)a OR b (3)a XOR b (4)NOT a解:(1)a AND b=00110000(2)a OR b=11111011(3)a XOR b=11001011(4)NOT a=110001117.将下列算式中的⼗进制数表⽰成组合BCD码进⾏运算,并根据需要进⾏调整。

微机原理与接口技术第四章试题及答案

微机原理与接口技术第四章试题及答案

第四章4-1填空1.MCS-51的Po口作为输出端口时,每位能驱动8 个SL型TTL负载.2.MCS-51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入"1"3.设计8031系统时,_P0、P2 口不能用作一般I\O口.4.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON _加以选择.5.当使用慢速外设时,最佳的传输方式是中断.6.当定时器To工作在方式3 时,要占定时器T1的TR1和TF1_两个控制位.7.MCS-51有5 个中断源,有2 个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择..8.用串口扩并口时,串行接口工作方式应选为方式0 .9.在串行通信中,有数据传送方向单工、半双工、全双工三种方式.10.外部中断入口地址为_ 0013H4-2判断1.MCS-51的5个中断源优先级相同。

(×)2.要进行多机通信,MCS-51串行接口的工作方式应为方式1。

(×)3.MCS-51上电复位时,SBUF=00H。

(×)。

4.MCS-51有3个中断源,优先级由软件填写特殊功能寄存器IP加以选择.. (×)5.用串口扩并口时,串行接口工作方式应选为方式1. (×)6.外部中断INTO 入口地址为_0013H(×)7.MCS-51外部中断0的入口地址是0003H。

(√).8.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。

(√)。

9.使用8751且=1时,仍可外扩64KB的程序存储器。

(×)10.PC存放的是当前执行的指令。

(×)11.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。

(×)12.MCS-51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入"0"(×)4-3选择1.在中断服务程序中,至少应有一条( D )(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令2.要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是( B )(A)98H (B)84H (C)42 (D)22H3.D MCS-51在响应中断时,下列哪种操作不会发生( D ).(A)保护现场(B)保护PC (C)找到中断入口若悬河(D)保护PC转入中断入口4.用MCS-51串行接口扩展并行I\O口时,串行接口工作方式应选择( C )(A)方式0 (B)方式1 (C)方式2 (D)方式35.MCS-51有中断源(A)(A)5个(B)2个(C)3个(D)6个6.MCS-51响应中断时,下面哪一个条件不是必须的()(A)当前指令执行完毕(B)中断是开放的确(C)没有同级或高级中断服务须(D)必须有RET1指令7.使用定时器T1时,有几种工作模式(D)(A)1种(B)2种(C)3种(D)4种8.计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是( B )(A)由CPU自动完成(B)在中断响应中完成功之路(C)应由中断服务程序完成(D)在主程序中完成9.下面哪一种传送方式适用于处理外部事件( C )(A)DMA (B)无条件传递进(C)中断(D)条件传递1、2、4章的编程1.8225A控制字地址为300FH,请按:A口方式0输入,B口方式1输出,C口高位输出,C口低位输入,确定8225A控制字并编初始化程序.解:控制字为10010101=95H初始化程序:MOV DPTR ,#300FHMOV A,#95HMOVX @DPTR ,A2.编定一个软件延时1S和1min的子程序.设fosc=6Hz,则一个机器周期1μs。

计算机控制系统 第2版 李正军 第4章

计算机控制系统 第2版 李正军 第4章
因此,除特殊情况下采用多路独立的放大、A/D和D/A外,通 常采用公共的采样/保持及A/D转换电路,而要实现这种设计, 往往采用多路模拟开关。
1.模拟开关的参数
多路开关的作用主要是用于信号切换,如在某一时刻接通某 一路,让该路信号输入而让其它路断开,从而到达信号切换 的目的。在多路开关选择时,常要考虑以下参数:
在多路开关的选用时,常要考虑许多因素,如需多少路?要 单端型还是差动型?开关电阻多大?控制电平多高?另外还 要考虑开关速度及开关间互扰等诸多方面。
4.1.4 32通道模拟量输入电路设计实例
在计算机控制系统中,往往有多个测量点,需要设计多路 模拟量输入通道,下面以32通道模拟量输入电路为例介绍 其设计方法。
4.1.3 模拟开关
在用计算机进行测量和控制中,经常需要有多路和多参数的 采集和控制,如果每一路都单独采用各自的输入回路,即每 一路都采用放大、采样/保持、A/D等环节,不仅本钱比单路 成倍增加,而且会导致系统体积庞大,且由于模拟器件、阻 容元件参数特性不一致,对系统的校准带来很大困难;并且 对于多路巡检如128路信号采集情况,每路单独采用一个回 路几乎是不可能的。
t
0 1 2 3 4 5 6 7 8 9 10 11 12 1314 t/T
b)离散模拟信号
图4-2 模拟信号采样示意图
3.采样定理
采样定理:由采样信号x * ( k ) 完全无失真地恢复原信号x ( t )
的条件是采样速度要满足下式:
s

2 max

T

1 2
m
in
其中:s 2π /T,为采样角速度;T为采样周期; m ax 为原信
号 x (t ) 频谱中最高角频率; m i n 为 x (t ) 的各种信号分量中最

微机原理与接口技术(第二版)课后习题答案

微机原理与接口技术(第二版)课后习题答案

微机原理与接口技术(第二版)课后习题答案第1章作业答案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?解:把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。

微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。

微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。

1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解:CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。

其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。

1.3 微型计算机采用总线结构有什么优点?解:采用总线结构,扩大了数据传送的灵活性、减少了连线。

而且总线可以标准化,易于兼容和工业化生产。

1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?解:数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。

8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。

它们主要靠信号的时序来区分。

通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。

1.8在给定的模型中,写出用累加器的办法实现15×15的程序。

解: LD A, 0LD H, 15LOOP:ADD A, 15DEC HJP NZ, LOOPHALT第 2 章作业答案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?解:80386、30486、Pentium、Pentium Pro、Peruium II 、PentiumIII、Pentium4。

2.6 IA-32结构微处理器有哪几种操作模式?解:IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。

微机原理与接口技术-四章-16位微处理器

微机原理与接口技术-四章-16位微处理器

数据与指令的存储与访问
内存示意图
地址是数 据存放的 门牌号码 是标明数 据所在位 置的唯一 代号
所有CPU可以访问的数 据与指令都以二进制数 的形式存放在内存中
地址 0 1 2 … 255 …
内 容 00000100B(4) 10000000B(128) 00010001B(17) …… 00001111B (15) ……
数据寄存器
SP BP SI DI
IP
通用寄存器
地址指针和 变址寄存器
FLAGS
CS DS SS ES
控制寄存器
段寄存器
8086CPU内部寄存器结构
3.段寄存器 8086有四个段寄存器。为了寻址1MB内存,将内存分成若 干个逻辑段。每个段长64KB。使用四个段寄存器存放各段的基 本地址。 BIU中的四个段寄存器分别称为代码段CS(Code Segment) 寄存器、数据段DS(Data Segment) 寄存器、堆栈段SS(Stack Segment) 寄存器和附加段ES(Extra Segment) 寄存器。 CS段寄存器给出当前代码段的基址。DS段寄存器给出当前 数据段的基址。SS段寄存器给出当前堆栈段的基址。ES段寄存 器给出当前使用的附加段的基址。 4.控制寄存器 包括IP和FR两个16位寄存器。IP为指令指针寄存器,用来 存放代码段中的偏移地址。它与CS寄存器联用确定下一条指令 的物理地址。FR寄存器,下一小节将详细介绍。
2.指针及变址寄存器 包括SP、BP、SI、DI四个16位寄存器。它们可以像数据 寄存器一样在运算过程中存放操作数,但它们只能以字(16 位)为单位使用。此外,在段内寻址时用它们来提供偏移地 址。 SP:称为堆栈指针寄存器。用来指示栈顶的偏移地址, BP:称为基址指针寄存器。用作堆栈区中的一个基地址以 便访问堆栈中的其他信息。 SI:源变址寄存器。当与DS联用时,用来确定数据段中某 一存储单元的地址,在串处理指令中,SI作为隐含的源变址 寄存器,与DS联用达到在数据段寻址的目的。 DI:目的变址寄存器。在串处理指令中,DI作为隐含的目 的变址寄存器并ES联用在附加段中寻址,其它功能和使用方 法与SI基本相同。

微机原理及接口技术习题解答与实验指导

微机原理及接口技术习题解答与实验指导

微机原理及接口技术习题解答与实验指导(总244页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除第一部分学习指导与习题解答 (4)第1章计算机基础 (4)1.1 学习指导 (4)1.2 单项选择题 (4)1.3 判断题 (7)1.4填空题 (7)1.5 简答题 (9)第2章微处理器 (11)2.1 学习指导 (11)2.2单项选择题 (12)2.3判断题 (17)2.4填空题 (18)2.5 简答题 (20)第3章 80x86指令系统 (24)3.1学习指导 (24)3.2单项选择题 (25)3.3 判断题 (31)3.4 填空题 (33)3.5 简答题、 (36)3.6. 分析程序题 (43)3.7 编程题 (45)第四章 (48)4.3 判断题 (54)4.4 填空题 (56)4.5 简答题 (66)4.6 分析程序题 (78)4.7 编程题 (87)第5章半导体存储器及其接口技术 (120)5.1 学习指导 (120)5.2单项选择题 (120)5.3判断题 (123)5.4填空题 (124)5.5简答题 (125)5.6应用题 (128)第6章微型计算机接口技术 (137)6.1 学习指导 (137)6.2单项选择题 (138)6.3判断题 (141)6.4填空题 (142)6.4填空题 (144)6.5简答题 (144)第7章,简单接口电路设计 (152)7.1 学习指导 (152)7.2单项选择题 (153)7.3判断题 (153)7.5应用题 (154)第8章可编程接口技术 (159)8.1可编程计数器8253/8254 (159)8.1.1学习指导 (159)8.1.2单项选择题 (161)8.1.3判断题 (162)8.1.4填空题 (162)8. 1 . 5 简答题 (163)8.1.6 应用题 (163)8.2 并行通信接口8255A (166)8.2.1 学习指导 (166)8.2.2 单选题 (167)8.2.3 判断题 (168)8.2.4 填空题 (168)8.2.5应用题 (169)8.3串行通信接口8250/8251 (174)8.3.2 单项选择题 (176)8.3.3判断题 (176)8.4可编程中断控制器8259A (182)8.4.1 学习指导 (182)8.4.2单选题 (183)8.4.3 判断题 (185)8.4.4 填空题 (186)8.4.5 简答题 (187)8.4.6 应用题 (189)第9章自检试卷 (192)9.1 自检试题一 (192)自检试题二 (196)第一部分学习指导与习题解答第1章计算机基础1.1 学习指导本章主要内容包括:1.计算机的发展2.整机概念计算机由处理器、存储器、输入/输出接口及三总线(数据总线DB、地址总线AB、控制总线CB)组成,如图1-1所示。

课后习题二(第四章、第五章)

课后习题二(第四章、第五章)

课后习题二(第四章、第五章)1、计算机使用总线结构便于增加外设,同时( C )A. 减少了信息传输量B. 提高了信息的传输速度C. 减少了信息传输线的条数D. 以上均不对2、计算机使用总线结构的主要优点是便于实现积木化,缺点是( C )A. 地址信息、数据信息和控制信息不能同时出现B. 地址信息和数据信息不能同时出现C. 两种信息源的代码在总线中不能同时传送D. 数据信息不能双向传送3、总线中地址线的作用是( C )A. 用于选择存储器单元B. 用于选择进行信息传输的设备C. 用于指定存储器单元和I/O设备接口电路的选择地址D. 以上均不对4、微型机读/写控制信号的作用是( D )A. 决定数据总线上的数据流方向B. 控制存储器操作(读/写)的类型C. 控制流入、流出存储器信息的方向D. 以上的任一种作用5、在三种集中式总线控制中,响应时间最快的方式是( C )A. 链式查询B. 计数器定时查询C. 独立请求D. 以上三种均可6、在三种集中式总线控制中独立请求方式响应时间最快,是以( B )为代价的A. 增加处理机的开销B. 增加控制线数C. 增加存储器的容量D. 增加处理机的时钟频率7、同步通讯之所以比异步通讯具有较高的传输频率是因为( E )A. 同步通讯不需要应答信号B. 同步通讯方式的总线长度较短C. 同步通讯用一个公共的时钟信号进行同步D. 同步通讯各部件存取时间比较接近E. 以上各种因素综合的结果8、存储器是计算机系统的记忆设备,它主要用来( D )A. 存放程序B. 存放微程序C. 存放特殊的数据D. 存放数据和指令9、存储字是( A )A. 存放在一个存储单元的二进制代码组合B. 存放在一个存储单元的二进制代码个数C. 存储单元的集合D. 与存储器无关10、存储字长是指( B )A. 存放在一个存储单元的二进制代码组合B. 存放在一个存储单元的二进制代码个数C. 存储单元的集合D. 以上均不对11、存储周期是指( C )A. 存储器的写入时间B. 存储器进行连续写操作所允许的最短时间间隔C. 存储器进行连续读或写操作所允许的最短时间间隔D. 与存储器的具体实现技术无关12、和外存储器相比,内存的特点是( A )A. 容量小、速度快、成本高B. 容量小、速度快、成本低C. 容量大、速度快、成本高D. 容量大、速度慢、成本低13、一个16K×32位的存储器,其地址线和数据线的总和是( B )16214=14+32 = 46KA. 48B. 46C. 36D. 3214、一个512KB的存储器(按字节编址),其地址线根数是( D )512219=KA. 64B. 32C. 20D. 1915、某计算机字长为16位,它的存储容量是64KB,按字编址,则它的寻址范围是(C )216=16+16 = 32K64A. 64KB. 32KBC. 32KD. 无法确定16、某一RAM芯片,其容量为512×8位,如果考虑电源和接地引脚,则该芯片引出的引脚数最少是(A )29=9 + 8 + 4 = 21512A. 21B. 19C. 17D. 1517、若主存每个存储单元为16位,则( B )A. 其地址线也为16位B. 其地址线与16无关C. 其地址线最少为16位D. 其地址线与16有关18、通常计算机的内存可采用( A )A. RAM和ROMB. RAMC. ROMD. 磁盘19、EPROM是指( C )A. 只读存储器B. 可编程的只读存储器C. 可擦除的可编程的只读存储器D. 电可擦除的可编程的只读存储器20、可编程的只读存储器( A )A. 不一定是可改写的B. 一定是可改写的C. 一定是不可改写的D. 以上均不对21、下列说法中( D )是正确的A. 半导体RAM信息可读可写,且断电后仍能保持记忆B. 半导体RAM是易失性RAM,而静态RAM中的存储信息是不易失的C. 半导体RAM是易失性RAM,而动态RAM中的存储信息是不易失的D. 半导体RAM是易失性RAM,而静态RAM只有在电源不掉时,所存信息是不易失的22、下列说法中( B )是正确的A. EPROM是可改写的,但改写一次后不能再次改写B. EPROM是可改写的,且可多次改写C. EPROM是可改写的,是用电信号直接改写D. EPROM是可改写的,是用磁信号直接改写23、和动态MOS存储器相比,双极性半导体存储器的性能是( C )A. 集成度高、存取周期快、位平均功耗少B. 集成度高、存取周期快、位平均功耗大C. 集成度低、存取周期快、位平均功耗大D. 集成度低、存取周期快、位平均功耗少24、在磁盘和磁带两种磁表面存储器中,存取时间与存储单元的物理位置有关,按存储方式分( B )A. 二者都是顺序存取B. 磁盘是随机半顺序存取,磁带是顺序存取C. 磁带是随机半顺序存取,磁盘是顺序存取D. 二者都是随机半顺序存取25、磁盘的记录方式一般采用( A )A. 调频制B. 调相制C. NRZD. NRZ-126、在磁表面存储器的记录方式中( D )A. 不归零制和归零制的记录密度是一样的B. 不归零制的记录方式中不需要同步信号,故记录密度比归零制高C. 归零制的记录方式中需要同步信号,故记录密度高D. 不归零制记录方式由于磁头线圈中始终有电流,因此抗干扰性能好27、磁盘存储器的平均等待时间通常是指( B )A. 磁盘旋转一周所需的时间B. 磁盘旋转半周所需的时间C. 磁盘旋转2/3周所需的时间D. 磁盘旋转1/3周所需的时间28、相联存储器是按( B )进行寻址的存储器A. 地址指定方式B. 内容指定方式C. 堆栈存取方式D. 队列存取方式29、一个四体并行交叉存储器,每个模块的容量是64K×32位,单体的存储周期为200ns,在下述说法中( B )是正确的A. 在200ns内,存储器能向CPU提供256位二进制信息B. 在200ns内,存储器能向CPU提供128位二进制信息C. 在50ns内,存储器能向CPU提供32位二进制信息D. 在50ns内,存储器能向CPU提供128位二进制信息30、主存和CPU之间增加高速缓冲存储器的目的是( A )A. 解决CPU和主存之间的速度匹配问题B. 扩大主存容量C. 即扩大主存容量,又提高了存取速度D. 降低主存价格31、在程序的执行过程中,Cache与主存的地址映射是由( C )A. 操作系统来管理的B. 程序员调度的C. 由相应硬件自动完成的D. 主存自身即可完成32、采用虚拟存储器的目的是( C )A. 提高主存的速度B. 扩大外存的存取空间C. 扩大存储器的寻址空间D. 以上都正确33、常用的虚拟存储器寻址系统由( A )两级存储器组成A. 主存—外存B. Cache—主存C. Cache—外存D. 以上任意组合均可34、在虚拟存储器中,当程序正在执行时,由( C )完成地址映射A. 程序员B. 编译器C. 操作系统D. CPU以下为书上相关例题35、在系统总线的数据线上,不可能传输的是( C )A. 指令B. 操作数C. 握手(应答)信号D. 中断类型号36、假设某系统总线在一个总线周期内并行传送4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是( B )÷⨯)(104=202A. 10MB/sB. 20MB/sC. 40MB/sD. 80MB/s37、某同步总线的时钟频率为100 MHz,宽度为32位,地址/数据总线复用,每传输一个地址或数据占用一个时钟周期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MOV DI,-1
NEXT: INC DI
;DI为元素下标
CMP ARRAY[DI], 0 ;从0号元素起,逐个与0比较
LOOPZ NEXT
JNE OK
;ZF=0,即有非零单元素,转OK
MOV DL,‘0’
;没有找到非零元素,显示一个‘0’
OK: MOV DX,DI
OR DL,30H ;将下标字符转换成ASCII码
SHOW: MOV AH,02H
INT 21H
MOV AX,4C00H ;显示下标
INT 21H
;返回DOS
例6:在目的串中指定位置上插入字符串
;子程序名: STR_INSERT ;入口参数 DS:BX指向源串,ES:BP指向目的串,
ES:DX指向目的串中插入源串的位置。 每个串的前两个字节内为16位的串长度。 ;出口参数 在目的串指定位置上插入了源串
;实现W—(X+120)X Y
SBB
DX,BX
;结果在DX:AX中
ADD
AX,200
;实现W—(X+120)X Y+200
ADC
DX,0
;结果在DX,AX中
IDIV
Z
;最后除以Z,结果商在AX,余数在DX中
MOV
RESULT,AX
;存放结果到数据区
MOV
RESULT+2,DX
MOV
AH,4CH
;返回到DOS
;否,再加上07H
PRINTIT:
MOV
DL,AL
;输出单个字符
MOV
AH,02H
INT
21H
DEC
CH
JNZ
ROTATE
;继续下次转换
RET
BINHEX
ENDP
CSEG2
ENDS
END
例2:求无序表中的最大元素及其位置
;模块A, 文件名MAIN.ASM
EXTRN FOUND:NEAR
DATA1 SEGMENT… ARRAY DB d1,d2,d3, … dn
ENDS
SEGMENT
ASSUME CS:C_SEG,DS:D_SEG
MOV
AX,D_SEG
;填入段地址
MOV
DS,AX
MOV
AX,X
;X+120
ADD
AX,120
IMUL
Y
;(X+120)X Y
MOV
CX,AX
;乘积暂时存BX:CX
MOV
BX,DX
MOV
AX,W
;将W带符号扩展
CWD
SUB
AX,CX
COUNT EQU $ —ARRAY
;数据个数
DATA1 ENDS
CODE SEGMENT WORD PUBLIC ‘CODE ’
ASSUME CS:CODE,DS:DATA1
MAIN: MOV AX,DATA1
MOV DS,AX
;装入段基址
MOV CX,COUNT
LEA SI,ARRAY
CALL FOUND ;找出最大元素及位置
3. 多个模块的组合形式
NONE 表示本段为独立段,不与其他模块段发生连接逻辑。
PUBLIC 表示将本段与其他模块中说明为PUBLIC的同名段邻
接在一起,共用一个段地址。组成一个大的物理段(“段组”) 。
STACK 表示将该段与其他同名的堆栈段连接在一起,组合后
的物理段的长度等于参与组合的各堆栈段的长度之和。
MOV CX,4
;循环次数4→CX
RETRY: PUSH CX
MOV CL,4
SHL BX,CL
MOV DX,0
;DX:AX组成被除数
DIV WORD PTR[SI] ;除以权值,商、余数在AX、DX中
OR BX,AX
;压缩BCD 码
MOV AX,DX
;余数送AX
POP CX
ADD SI,2
;地址加2,指向下一权值
;键盘输入十进制数
MOV DEC—NUM,BX ;二进制数DEC—NUM
CALL FAR PTR BINHEX ;以十六进制形式显示
MOV AH,4CH
INT 21H
;返回DOS
;从键盘输入十进制数,将其转换为二进制数并送BX
DECBIN GETCHAR:
EXIT: DECBIN CSEG1
PROC MOV MOV INT SUB JL CMP JG MOV XCHG MOV MUL XCHG ADD JMP RET ENDP ENDS END
MOV
BX,DEC—NUM
MOV
CH,04H
;共有4位十六进制数
ROTATE:
MOV
CL,04H
ROL
BX,CL
;取最4bit二进制数待转换
MOV
AL,BL
AND
AL,0FH
ADD
AL,30H
;十六进制数 ASCII码
CMP
AL,3AH
;十六进制数在0~9之间吗?
JL
PRINTIT
;是,输出
ADD
AL,07H
W1000 DW 1000,100,10 , 1 ;十进制数千,百。十,个位权值
;子程序名:AX2TOBCD。入口参数:AX=二进制数。出口参数:AX=压缩BCD码
AX2TOBCD PROC NEAR
……
;保护现场
XOR BX,BX
;BCD码暂存单元清零
MOV SI,OFFSET W1000 ;权值首地址送SI
4.6模块化程序设计技术
1. 全局符号的定义与引用 单个模块中使用的符号(变量、标号或子程序名)为 局部符号。一个模块中定义的符号如不另加说明,均 为局部符号,局部符号只能在定义它的模块中使用。
多个模块可共同使用的符号为全局符号。只要将局部 符号在定义和使用它的模块中分别用 PUBLIC 和 EXTRN语句说明,即可作为全局符号(又称外部符 号)使用,全局符号构成了模块间通信的主要渠道。 2. 模块间的转移 模块间的转移有两种:近(段内)转移和远(段间) 转移。它们都是通过转移语句来实现的。具体实现转 移的语句是:JMP、CALL 和 INT。
BCDTO2 ENDP
例2:二进制数转换为BCD码 编程将AX中的二进制数转换成4位BCD码,转换的结 果放在AX中(设AX中的数值小于十进制数10000)。 算法:将AX中的二进制数除以1000得到的商是千位上 的BCD码,所得余数除以100得到的商是百位上的 BCD码,所得余数再除以10得到的商是十位上的BCD 码,最后所得的余数是个位上的BCD码。
SSEG ENDS
DSEG1 SEGMENT
DEC—NUM DW ?
DSEG1 ENDS
CSEG1 SEGMENT
ASSUME CS:CSEG1,DS:DSEG1
START: MOV AX,DSEG1
MOV DS,AX
;装入段基址
PUSH DS
JMP FAR PTR PROMPT
KEY—IN: CALL DECBIN
例1:键盘输入十进制数,以十六进制形式在屏幕上
显示。
;模块A 文件名MAIN. ASM
EXTRN PROMPT:FAR,BINHEX:FAR ;引用外部符号
PUBLIC DEC—NUM,KEY—IN
;定义外部符号
SSEG SEGMENT PARA STACK ‘ STACK ’
DB 100 DUP( ?)
ASSUME CS:CSEG2,DS:DSEG2
PROMPT: MOV AX,DSEG2
MOV DS,AX
;装入段基址
LEA
DX,MSG
MOV AH,09H
INT
21H
POP DS
JMP
FAR PTR KEY—IN
;将DEC—NUM中的二进制数转换为十六进制数的ASCII 码并输出
BINHEX
PROC FAR
NEAR BX,0 AH,1 21H AL,30H EXIT AL,09H
EXIT AH,0 AX,BX CX,0AH CX AX,BX BX,AX GETCHAR
START
;累加和BX(已转换的二进制)初始化
;键入值是否在0~9之间? ;否,转至EXIT
;是,将AX中的BCD数与BX内容交换 ;累加和AX乘以当前权值
W10 DW 10
;十进制数权值
;子程序名:BCDTO2。
入口参数:AX=BCD码。出口参数:AX=二进制数。
BCDTO2 PROC NEAR
PUSH BX
PUSH CX
PUSH DX
MOV BX,AX ;保存AX中的BCD码到BX
MOV AX,0
;结果单元清零
MOV CX,4
;共处理4位BCD码
RETRY: PUSH CX
RET
BINTOASC ENDP
例5:在字节数组中找出第一个非零元素,并显示它的下标
.MODEL SMALL
.DATA
ARRAY DB 0,0,0,25H,0,0,34H,36H,45H
COUNT EQU 9
.CODE
START: MOV AX, DATA
MOV DS,AX
MOV CX,COUNT
JB BTOA2
;小余10转BTOA2
XOR DX,DX ;被除数高字清0
DIV CX
;除以0
OR DL,30H ;余数变ASCII吗
MOV [SI],AL
;存最高位的ASCII码
DEC SI
;ASCII码地址减1
JMP BTOA1
BTOA2: OR AL,30H
相关文档
最新文档