微机原理与接口技术习题答案4(1)

合集下载

微机原理及接口技术课后习题及参考答案

微机原理及接口技术课后习题及参考答案

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。

① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。

① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。

① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。

① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。

① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。

1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=100011.11B=43.6Q=23.CH③ 123.875D=1111011.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=111101110.000111B=494.109D ②63.73Q=110011.111011B=51.922D③ 35.6Q=11101.110B=29.75D ④323.45Q=11010011.100101B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补=01111111 ② [-1]补= 11111111③ [-0]补=00000000 ④[-128]补=100000001.6 ① [+355]补= 0000000101100011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。

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

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

第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先执行读存储器操作,从给定地址单元中取出指令,送到先进先出的指令队列中等待执行。

《微机原理与接口技术》参考答案完整版

《微机原理与接口技术》参考答案完整版

《微机原理与接口技术》习题参考答案习题21.为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。

因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。

2.8086CPU由哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。

指令队列在BIU中。

它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。

3.8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指针寄存器和变址寄存器。

其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。

8086的指针寄存器和变址寄存器不可分割为8位寄存器。

4.8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。

在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。

8086就是通过IP寄存器来控制指令序列的执行流程。

5.在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。

它们的含义如下:CF:进位标志。

它记录运算时从最高有效位产生的进位值或结果值。

最高有效位有进位或有借位时CF=1,否则CF=0。

PF:奇偶标志。

它记录运算结果的奇偶检验条件。

当结果操作数中“1”的个数为偶数时PF=1,否则PF=0。

AF:辅助进位标志。

在字节运算时,由低半字节(字节的低4位)向高半字节有进位或借位时,AF=1,否则AF=0。

《微型计算机原理与接口技术》(第三版)习题答案

《微型计算机原理与接口技术》(第三版)习题答案

《微机原理与接口技术》习题解答习题11.1 冯·诺依曼型计算机的设计方案有哪些特点?【解答】冯·诺依曼型计算机的设计方案是“存储程序”和“程序控制”,有以下5方面特点:(1)用二进制数表示数据和指令;(2)指令和数据存储在内部存储器中,按顺序自动依次执行指令;(3)由运算器、控制器、存储器、输入设备和输出设备组成基本硬件系统;(4)由控制器来控制程序和数据的存取及程序的执行;(5)以运算器为核心。

1.2 微处理器和微型计算机的发展经历了哪些阶段?各典型芯片具备哪些特点?【解答】经历了6代演变,各典型芯片的特点如表1-1所示。

表1-1 微处理器的发展及典型芯片的特点1.3 微型计算机的特点和主要性能指标有那些?【解答】除具有运算速度快、计算精度高、有记忆能力和逻辑判断能力、可自动连续工作等基本特点以外,还具有功能强、可靠性高、价格低廉、结构灵活、适应性强、体积小、重量轻、功耗低、使用和维护方便等。

微型计算机的性能指标与系统结构、指令系统、硬件组成、外部设备以及软件配备等有关。

常用的微型计算机性能指标主要有:字长、主频、内存容量、指令数、基本指令执行时间、可靠性、兼容性、性能价格比等。

21.4 常见的微型计算机硬件结构由哪些部分组成?各部分的主要功能和特点是什么?【解答】微型计算机硬件一般由微处理器、内存储器、外存储器、系统总线、接口电路、输入/输出设备等部件组成。

主要组成部件的功能和特点分析如下:(1)微处理器:是微型计算机的核心部件,由运算单元ALU、控制单元、寄存器组以及总线接口部件等组成,其功能是负责统一协调、管理和控制系统中的各个部件有机地工作。

(2)内存储器:用来存放计算机工作过程中需要的操作数据和程序。

可分为随机存储器RAM和只读存储器ROM。

RAM存放当前参与运行的各种程序和数据,特点是信息可读可写,存取方便,但信息断电后会丢失;ROM用于存放各种固定的程序和数据,特点是信息固定不变,关机后原存储的信息不会丢失。

微机原理及接口技术课后习题及参考答案

微机原理及接口技术课后习题及参考答案

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。

① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。

① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。

① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。

① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。

① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。

1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=.11B=43.6Q=23.CH③ 123.875D=.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=.B=494.109D ② 63.73Q=.B=51.922D③ 35.6Q=11101.110B=29.75D ④ 323.45Q=.B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补= ② [-1]补=③ [-0]补= ④[-128]补=1.6 ① [+355]补= 00011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。

微机原理与接口技术习题及参考答案精选全文完整版

微机原理与接口技术习题及参考答案精选全文完整版

可编辑修改精选全文完整版《微机原理与接口技术》复习题一、填空题1、微型计算机由、、和构成。

2、在8086CPU中,寄存器指向下一条要执行的指令。

3、微型计算机的总线根据功能可分为、和。

4、主存储器和CPU之间增加高速缓冲存储器的目的是。

5、在计算机系统中定时信号一般可以用和两种方法来获得。

6、中断类型码为31H的中断向量存放在从开始的4个存储单元。

7、系统工作于实模式,设BX=4000H,DI=0100H,DS=3100H,在指令MOV AX,[BX+DI]中,源操作数的寻址方式为;物理地址为。

8、在异步传输中,设每个字符对应1个起始位、7个数据位、1个奇偶校验位、1个停止位,如果波特率为1200bps,则每秒钟传输的最大字符数是个。

9、CPU和输入/输出设备之间的信号分为、和三类。

10、CPU的可屏蔽中断受标志的影响,如果允许CPU接受可屏蔽中断请求,则该标志取值为。

11、是微型计算机的核心。

12、在8086CPU中,一个最基本的总线周期有个时钟周期组成。

M/为高电平,表示。

13、在最小模式下,如果8086CPU的引脚IO14、8086CPU有16根数据线和20根地址线,所以可寻址的地址空间最大为字节。

15、存储器扩展有两种方法,分别是扩展和扩展。

16、8086复位时,代码寄存器CS和指令指针寄存器IP分别初始化为和。

17、系统工作于实模式,设BX=4000H,SI=0100H,DS=3100H,在指令MOV DX,[BX+SI]中,源操作数的寻址方式为;物理地址为。

18、9片8259中断控制器组成两级级联,则最多能提供个中断。

19、8086CPU的编程结构包括和。

20、CPU和外设之间的数据传送方式包括、和。

21、当CS=,WR=,RD=,A0=时,CPU设置8259的ICW1。

二、选择题1、8086CPU的指令队列为 ( ) 个字节。

A 2B 4C 6D 82、标志寄存器的标志位ZF=1表示运算结果()。

微机原理与接口技术课后习题答案(朱红)

微机原理与接口技术课后习题答案(朱红)

第一章习题答案一、选择题1.十进制数 66 转换成二进制数为_______。

A. 11000010B.01100110C.11100110D.01000010答案:D2.十进制数 27.25 转换成十六进制数为_______。

A. B1.4HB.1B.19HC.1B.4HD.33.4H答案:C3.下列数中最小的是________。

A. (101001)2B. (52)8C. (2B)16D. (50)10答案:A4.若一个数的 BCD 编码为 00101001,则该数与______相等。

A. 41HB.121DC.29DD. 29H答案:C5.十进制数 9874 转换成 BCD 数为________。

A. 9874HB. 4326HC. 2692HD. 6341H答案:A6.BCD 数 64H 代表的真值为_______。

A. 100B.64C.-100D.+100答案:B7.十六进制数 88H,可表示成下面几种形式,错误的表示为_______。

A. 无符号十进制数 136B.带符号十进制数-120C.压缩型 BCD 码十进制数 88D.8 位二进制数-8 的补码表示答案:D8.若[A]原=1011 1101,[B]反=1011 1101,[C]补=1011 1101,以下结论正确的是______。

A. C 最大B. A 最大C.B 最大D.A=B=C答案:B9.8 位二进制补码表示的带符号数 1000 0000B 和 1111 1111B 的十进制数分别是____。

A. 128 和 255 B. 128 和-1 C. -128 和 255 D. -128 和-1答案:D10.微机中地址总线的作用是___________。

A.用于选择存储器单元B.用于选择进行信息传输的设备C.用于指定存储器单元和 I/O 设备接口单元的选择地址D.以上选择都不对答案:C11.计算机中表示地址使用____。

A.无符号数B.原码C.反码D.补码答案:A二、填空题1.计算机的主机由_______、控制器、主存储器组成。

《微机原理与接口技术》习题4解答

《微机原理与接口技术》习题4解答

《微机原理与接⼝技术》习题4解答习题44.1 半导体存储器有哪些优点?SRAM、DRAM各⾃有何特点?【解答】特点是容量⼤、存取速度快、体积⼩、功耗低、集成度⾼、价格便宜。

SRAM存放的信息在不停电的情况下能长时间保留不变,只要不掉电所保存的信息就不会丢失。

⽽DRAM保存的内容即使在不掉电的情况下隔⼀定时间后也会⾃动消失,因此要定时对其进⾏刷新。

4.2 ROM、PROM、EPROM、E2PROM、Flash Memory各有何特点?⽤于何种场合?【解答】掩膜式ROM中的信息是在⽣产⼚家制造时写⼊的。

制成后,信息只能读出不能改写。

PROM中晶体管的集电极接V CC,基极连接⾏线,发射极通过⼀个熔丝与列线相连。

出⼚时,晶体管阵列的熔丝完好。

写⼊信息时,选中某个晶体管,输⼊⾼低电平保留或烧断熔丝对应1和0。

烧断熔丝不能再复原,因此只能进⾏⼀次编程。

EPROM芯⽚的顶部开有⼀⽯英窗⼝,通过紫外线的照射可擦除⽚内原有信息,⼀块芯⽚可多次使⽤,缺点是只能进⾏整⽚写。

E2PROM是可⽤电擦除和编程的只读存储器,能在线读写,断电情况信息不丢失,能随机改写;其擦写次数可达1万次以上,数据可保存10年以上。

可作为系统中可靠保存数据的存储器。

Flash Memory是新型的半导体存储器,可实现⼤规模电擦除,擦除功能可迅速清除整个存储器的所有内容;可⾼速编程;闪速存储器可重复使⽤,适⽤于⽂件需要经常更新的可重复编程应⽤中。

对于需要实施代码或数据更新的嵌⼊性应⽤是⼀种理想的存储器。

4.3 动态RAM为什么需要经常刷新?微机系统如何进⾏动态RAM的刷新?【解答】动态RAM是利⽤电容存储电荷的原理来保存信息的,由于电容会泄漏放电,所以,为保持电容中的电荷不丢失,必须对动态RAM不断进⾏刷新。

DRAM的刷新常采⽤两种⽅法:⼀是利⽤专门的DRAM控制器实现刷新控制,如Intel 8203控制器;⼆是在每个DRAM芯⽚上集成刷新控制电路,使存储器件⾃⾝完成刷新,如Intel 2186/2187。

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

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

解:BUF DB "BONJOUR_BELLE"BUFR DB 100 DUP(?)MOV CX, NLEA SI, BUFLEA DI, BUFRADD DI,CXDEC DIL1:MOV AL,[SI]MOV [DI],ALINC SIDEC DILOOP L12.利用移位、传送和相加指令实现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, CX3.在缓冲区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.编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。

解:利用移位指令完成。

XOR DX,DXMOV CX,8L1:SHR AL,1RCR DX,1SHR BL,1RCR DX,1LOOP L15.在变量VAR1和V AR2中分别保存有两个字节型的正整数,编写完整的汇编语言程序实现:(1)当两数中有一个奇数时,将奇数存入VAR1,偶数存入V AR2;(2)当两数均为奇数时,两个变量的内容不变;(3)当两数均为偶数时,两数缩小一倍后存入原处。

解:当V AR1为奇数时,不论V AR2的奇偶性,这两个单元的内容均不变;只有当V AR1为偶数时,如果V AR2为奇数,则V AR1与V AR2内容交换;如果V AR2为偶数,则两数缩小一倍后存入原处。

DA TA SEGMENTV AR1 D B 28V AR2 DB 36DA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, ES:DA TASTART:MOV AX, DA TAMOV DS,AXMOV ES, AXMOV AL,VAR1MOV BL,V AR2TEST AL,1JZ EVEN1JMP OVEREVEN1:TEST BL,1JZ EVEN2MOV V AR1,BLMOV V AR2,ALJMP OVEREVEN2:SHR AL,1MOV V AR1,ALSHR BL,1MOV V AR2,BLOVER:MOV AH,4CHMOV AL,0INT 21HCODE ENDSEND START6.已知在字变量V AR1、V AR2和V AR3中保存有3个相同的代码,但有一个错码,编写程序段找出这个错码,并将它送到AX,其地址送SI;如果3个代码都相同,则在AX 中置-1标志。

解:在数据段中定义:V AR1 DW 5A34HV AR2 DW 5A35HV AR3 DW 3A34H在代码段中编写程序段:MOV AX,-1MOV BX,V AR1CMP BX,V AR2JZ L2CMP BX,V AR3JZ L1MOV AX,BXLEA SI,VAR1JMP OVERL1:MOV AX,V AR2LEA SI,VAR2JMP OVERL2:CMP BX,V AR3JZ OVERMOV AX,V AR3LEA SI,VAR3OVER:7.分析下列程序段的功能:MOV CL,04SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,BL解:程序段完成DX:AX组成的32位无符号数左移4位,低位补零(也即除以16)。

8.下列程序段执行后,求BX寄存器的内容:MOV CL,3MOV BX,0B7HROL BX,1ROR BX,CL解:实际上完成BX内容循环右移2位,因此,BX寄存器的内容为C02DH。

9.下列程序段执行后,求BX寄存器的内容:MOV CL,5MOV BX,7D5CHSHR BX,CL解:完成BX内容逻辑右移5位,因此,BX寄存器的内容为03EAH。

10.将BUFFERS中N个字按相反顺序传递到BUFFERT中。

解:LEA SI,BUFFERSLEA DI,BUFFERTMOV CX,NADD DI,NADD DI,NSUB DI,2L1:MOV AX,[SI]MOV [DI],AXADD SI,2SUB DI,2LOOP L111.数组ARRAY中存放有一组字型数据,前两个字节存放数据长度(5的倍数)。

为给这个数组中的数据进行加密保护,每5个数据取出一个数据进行加密处理:奇数位进行取反,偶数位不变,例如对数据0110 1100 1011 0001B加密后变成1100 0110 0001 1011B,编写加密程序encrpytion 和解密程序unencrpytion 。

解:约定从第一个数据开始,每5个数据为一组,每组中的第一个数据采取加密/解密处理。

由于加密算法采用的是取反操作,解密算法也采用取反操作,因此解密和解密算法是同一个程序。

ENCRPYTION PROC NEARLEA SI,ARRAYXOR DX,DXMOV AX,[SI]MOV BX,5DIV BXMOV CX, AXADD SI, 2L1:MOV AX, [SI]XOR AX,0AAAAHMOV [SI], AXADD SI,10LOOP L1RETENCRPYTION ENDP13.设BUF中存放有N个无符号数(或有符号数),编程实现求它们的最小值(存入AX)和最大值(存入DX)。

解:BUF存放有N个无符号数的程序如下:MOV CX,N-1LEA SI,BUFMOV AX,[SI]MOV DX,AXADD SI,2L1:CMP AX,[SI]JBE NOCHG1XCHG AX,[SI]NOCHG1:CMP DX,[SI]JAE NOCHG2XCHG DX,[SI]NOCHG2:ADD SI,2LOOP L1如果BUF中存放的是有符号数,则只需要将程序中的两行内容修改:JBE NOCHG1 改成:JLE NOCHG1JAE NOCHG2 改成:JGE NOCHG214.设BUFFER中存放有N个无符号(第1个字节存放缓冲区的长度),编程实现将其中的0元素抹去,并更新其长度。

解:设BUFFER中存放的是字节型数据。

采用双指针方法:SI为读指针,DI为写指针,从低地址开始,内存中读出一个字节,如果不为0,则写入内存;如果为0,则不进行写操作。

LEA SI, BUFFERXOR CX,CXMOV CL, [SI]INC SIMOV DI, SIXOR BH,BHXOR AL,ALL1:CMP [SI],ALJZ L2MOV BL,[SI]MOV [DI],BLINC DIINC BHL2:INC SILOOP L1MOV BUFFER,BH16.编写一个子程序实现统计AL中1的个数,然后检测出字节型缓冲区BUF中0和1个数相等的元素个数。

解:统计AL中1的个数,只需将AL右移,移出的一位内容进行累加,子程序为:COUNTBYTE PROC NEARPUSH AXPUSH CXMOV CX,8XOR BL,BLCOU1:SHR AL,1ADC BL,0LOOP COU1POP CXPOP AXRETCOUNTBYTE ENDP在此基础上,可以检测出字节型缓冲区BUF中0和1个数相等的元素个数,即一个字节中有4个1。

设BUF中有N个字节型数据,结果保持在BH中。

MOV CX,NLEA SI, BUFXOR BH,BHL1: MOV AL,[SI]CALL COUNTBYTECMP BL,4JNZ L2INC BHL2: INC SILOOP L119.在缓冲区BUFFER中,第1个字节存放数组的长度(<256),从第2个字节开始存放字符的ASCII码,编写子程序完成在最高位给字符加上偶校验。

解:STACK SEGMENT STACK 'STACK'DW 100H DUP(?)TOP LABEL BYTESTACK ENDSDATA SEGMENTBUFFER DB 3 ;首字节为字符串长度DB 'ABC' ;字符串DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START:MOV AX,STACKMOV SS,AXLEA SP,TOPMOV AX,DA TAMOV DS,AXMOV ES,AXLEA DI,BUFFERXOR CX,CXMOV CL,[DI]INC DICALL SETEVENMOV AH,4CH ;返回DOSMOV AL,0INT 21HSETEVEN PROC NEAR ;加偶校验子程序PUSH AXPUSH BXPUSH CXPUSH DISETEVEN1:MOV AL,[DI]CALL COUNTBYTEAND BL,01HJZ SETEVEN2OR AL,80HMOV [DI],ALSETEVEN2:INC DILOOP SETEVEN1POP DIPOP CXPOP BXPOP AXRETSETEVEN ENDPCOUNTBYTE PROC NEARPUSH AXPUSH CXMOV CX,8XOR BL,BLCOU1:SHR AL,1ADC BL,0LOOP COU1POP CXPOP AXRETCOUNTBYTE ENDPCODE ENDSEND START20. 编写程序完成求多位数(N个字)的绝对值。

21. 已知斐波那契数列的定义为:)3(,1,12121≥+===--i F F F F F i i i ,编写求该数列前n 项的子程序。

解:设奖斐波那契数列存放在字变量RESULT 中。

相关文档
最新文档