32位微机原理考试重点文库.docx
16、32位微机原理、汇编语言与接口技术教程课后复习题答案

《16/32 位微机原理、汇编语言及接口技术教程》部分习题参考解答第 1 章微型计算机系统概述〔习题 1.2 〕什么是通用微处理器、单片机(微控制器)、DSP芯片、嵌入式系统?〔解答〕通用微处理器:适合较广的应用领域的微处理器,例如装在PC 机、笔记本电脑、工作站、服务器上的微处理器。
单片机:是指通常用于控制领域的微处理器芯片,其部除CPU外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。
DSP芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,部集成有高速乘法器,能够进行快速乘法和加法运算。
嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。
〔习题 1.5 〕说明微型计算机系统的硬件组成及各部分作用。
〔解答〕CPU CPU也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片集成了控制器、运算器和若干高速存储单元(即寄存器)。
处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
外部设备:外部设备是指可与微机进行交互的输入(Input )设备和输出(Output )设备,也称I/O 设备。
I/O 设备通过I/O 接口与主机连接。
总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。
习题 1.6 〕什么是总线?微机总线通常有哪 3 组信号?各组信号的作用是什么?解答〕总线:传递信息的共用通道,物理上是一组公用导线。
3 组信号线:数据总线、地址总线和控制总线。
I/O 端口的地址信息。
1)地址总线:传输将要访问的主存单元或2)数据总线:传输读写操作的数据信息。
3)控制总线:协调系统中各部件的操作。
〔习题 1.7 〕简答如下概念:(1)计算机字长(2)取指-译码-执行周期(3)ROM-BIOS(4)中断(5)ISA 总线〔解答〕(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。
(完整版)微机原理试卷库合集(有答案)

(完整版)微机原理试卷库合集(有答案)微机原理试题库合集第1套⼀、填空题:(每空1分,共20分)1.以8086/8088CPU标志寄存器中有6个状态标志和_____3____个控制标志。
2.若有⼆个数8439H和A56AH进⾏相加,则运算后标志寄存器中的ZF= 0 ,PF=1 ,CF= 1 ,OF= 1 。
3.8086在每个总线周期的T3状态开始对 READY 信号进⾏采样,若其为⾼电平,则进⼊T4状态。
4.设CS=3100H,DS=40FEH,两段的空间均为64K个单元,则两段的重叠区为 32 个单元,两段的段空间之和为 131040个单元。
5.8086/8088系统,中断向量表中,每个中断向量占⽤___4_____个字节。
6.对于下⾯的数据定义,各条MOV指令单独执⾏后,请填充有关寄存器的内容TABLE1 DB ?,?,?TABLE2 DW 26 DUP(?)……MOV AX,TYPE TABLE1;(AX)= 1MOV BX,TYPE TABLE2;(BX)= 2MOV CX,LENGTH TABLE2;(CX)= 26MOV DX,SIZE TABLE2;(DX)= 527.在使⽤8086间接输⼊/输出指令时,必须在执⾏该指令之前将相应的端⼝地址送⼊ DX__ 寄存器中。
8.8k×8位的SRAM存储芯⽚,需要寻址线13根。
9.8086/8088CPU复位后,代码段寄存器CS的值为___FFFFH________ 。
10.8086/8088CPU,由INTR引脚引起的中断称为___可屏蔽______中断。
11.8086/8088系统中,⼀个栈的深度最⼤为_____64_____KB。
12.存储器是计算机中的记忆设备,主要⽤来存放程序和_____数据____ 。
13.在微型计算机系统中,CPU对输⼊输出的寻址可归纳为__统⼀编址_和独⽴编址两种⽅式。
⼆、选择题 (每题1分,共10分)1.若由1K×1位的RAM芯⽚组成⼀个容量为8K字(16位)的存储器时,需要该芯⽚数为B 。
32位微机原理考试重点..

1,原码:0表示“+”,1表示“-”,数值位与真值数值位相同。
反码:正数的反码与原码表示相同。
负数反码符号位为1,数值位为原码数值各位取反。
补码:正数的补码表示与原码相同。
负数补码的符号位为1,数值位等于反码加1。
[X]补= [X]反+1 负数直接求补: 从最低位起,到出现第一个1以前原码中的数字不变,以后逐位取反,但符号位不变。
2,各种编码方法的表数范围:n+1位二进制编码x表示的整数范围:原码、反码:-2n<x<2n补码:-2n≤x<2n8位原码、反码的表数范围是-127~+127,补码的表数范围是-128~+127;16位原码、反码的表数范围是-32767~+32767,补码的表数范围是-32768~+327673,原码、反码、补码表示小结:正数的原码、反码、补码表示均相同,符号位为0,数值位同数的真值。
零的原码和反码均有2个编码,补码只有1个编码。
负数的原码、反码、补码表示均不同,符号位为1,数值位:原码为数的绝对值反码为每一位均取反码补码为反码再在最低位+1由[X]补求[-X]补:逐位取反(包括符号位),再在最低位+14,进位标志CF(Carry Flag):运算结果的最高位产生进位或借位时,或循环指令也会影响该位。
奇偶标志PF(Parity Flag):运算结果的低8位中所含1的个数为偶数个,则该位置1。
辅助进位标志AF(Auxiliary Carry Flag):加减法运算时,如果第3位与第4位之间有进位或借位产生,则该位置1。
一般用于BCD运算中是否进行十进制调整的判断依据。
零标志ZF(Zero Flag):运算结果为零,则该位置1。
符号标志SF(Sign Flag):与运算结果符号位(即最高位)相同。
溢出标志OF(Overflow Flag):当运算结果超出结果寄存器的表达范围时,该位置1。
跟踪标志TF(Trap Flag):控制CPU按调试的单步方式执行指令。
中断允许标志IF(Interrupt Enable Flag):控制CPU对外部可屏蔽中断(INTR)的响应。
微机原理试题及答案

微机原理试题及答案一、选择题(每题2分,共20分)1. 微处理器中的寄存器主要用于存储()。
A. 指令B. 操作数C. 地址D. 程序2. 在微机系统中,总线是用于()。
A. 存储数据B. 传输数据C. 执行指令D. 控制设备3. 微机系统中,内存的主要作用是()。
A. 存储操作系统B. 存储程序和数据C. 执行程序D. 控制程序运行4. 在微机系统中,中断的作用是()。
A. 暂停程序运行B. 启动程序运行C. 响应外部事件D. 执行数据传输5. 微机系统中的I/O设备指的是()。
A. 输入设备B. 输出设备C. 输入输出设备D. 存储设备6. 微机系统中,CPU的主要功能是()。
A. 存储数据B. 执行程序C. 传输数据D. 控制设备7. 在微机系统中,外设是指()。
A. 内存B. 硬盘C. 打印机D. 显示器8. 微机系统中的DMA是指()。
A. 数据传输方式B. 直接存储器访问C. 动态内存访问D. 数字多媒体应用9. 微机系统中,指令周期包括()。
A. 取指令B. 执行指令C. 取指令和执行指令D. 存储指令10. 微机系统中,字长是指()。
A. 存储容量B. 指令长度C. 数据宽度D. 地址范围二、填空题(每空1分,共10分)11. 微处理器的时钟频率通常用____表示,单位是赫兹(Hz)。
12. 微机系统中的总线可以分为数据总线、地址总线和____。
13. 微机系统中,一个存储单元可以存储一个____。
14. 微机系统中,中断向量表存储了中断服务程序的____。
15. 微机系统中,I/O端口地址通常由____总线提供。
16. 微处理器的指令集是一组预定义的____。
17. 微机系统中,堆栈操作遵循____原则。
18. 微机系统中,DMA可以减少CPU的____。
19. 微机系统中,指令的执行通常分为取指、____、执行和结果写回四个阶段。
20. 微机系统中,字长为32位的CPU一次可以处理____位的数据。
微机原理试题库及答案

微机原理试题库及答案一、选择题1. 在微机系统中,CPU不能直接访问的存储器是()。
A. RAMB. ROMC. CacheD. 硬盘2. 下列关于微处理器的叙述中,错误的是()。
A. 微处理器是微机的核心部件B. 它包括控制器和运算器两部分C. 微处理器只能执行整数运算D. 微处理器可以执行控制命令3. 在微机系统中,用于存放当前正在执行的程序和数据的存储器是()。
A. ROMB. RAMC. 硬盘D. 软盘4. 微机系统中,I/O设备通过()与CPU进行通信。
A. 数据总线B. 控制总线C. 地址总线D. I/O总线5. 在微机系统中,用于实现存储器扩展的芯片是()。
A. 计数器B. 寄存器C. 存储器接口芯片D. 算术逻辑单元二、填空题6. 微机系统中的总线包括________、________和________三种类型。
7. 在微机系统中,________是用于存储程序和数据的物理部件。
8. 中断系统允许CPU在执行程序过程中,对外界请求做出响应,这种响应称为________。
9. 微机系统中的________是用于控制CPU和其他系统部件协同工作的部件。
10. 在微机系统中,________是用于暂时存放信息的高速存储部件。
三、简答题11. 简述微处理器的发展历程及其对计算机性能的影响。
12. 描述微机系统中存储器的层次结构,并解释每一层次的作用。
13. 解释中断在微机系统中的作用及其实现方式。
14. 阐述微机系统中输入/输出设备的作用及其与CPU的通信过程。
15. 描述微机系统中总线的作用及其分类,并解释它们各自的功能。
四、计算题16. 给定一个16位的二进制补码数,其数值为F7E1,请计算其十进制等价值。
17. 如果一个微机系统的时钟频率为2GHz,且每个时钟周期可以执行一条指令,计算在一分钟内该系统可以执行多少条指令。
18. 给定一个微机系统的内存地址范围是0x0000到0xFFFF,请计算该系统的最大内存容量。
青科大32微机考试重点汇总

1、程序计数器用于存储下一条要执行指令的地址,可以从0开始计数(每次加1或加一个固定的数),以支持程序的顺序执行;也可以将外部数据装入其中,以支持程序跳转操作。
2、CPU的控制器通常由三个部分组成,即 ALU 、控制器和寄存器。
3、8086CPU的数据总线是 16 位的,8088CPU的数据总线是 8 位的。
8086地址线20 位。
4、8086CPU的指令队列为 6 个字节,8088CPU的指令队列为 4 个字节。
5、8086CPU的4个段地址寄存器分别是代码段寄存器CS、数据段寄存器DS、附加段寄存器ES、堆栈段寄存器SS。
6、8086CPU从功能上可分为两部分,即总线接口单元BIU 和执行单元EU 。
7、8086中的BIU由 4 个 16 位段地址寄存器、一个 16 位指令指针寄存器、6字节的指令队列、20位的地址加法器组成。
8、8086/8088的执行部件EU由 4 个通用寄存器、 4 个专用寄存器、一个标志寄存器和ALU 部件组成。
9、8086/8088CPU设有 6 个状态标志位, 3 个控制标志位;当执行比较指令时,如果运算结果为零,则标志位 ZF置1;如果运算结果的最高位为1,则标志位 SF 置1。
10、8086/8088系统中存储器按字节编址,可寻址的存储器空间为 1M 。
8086/8088系统把存储空间分成若干个逻辑段,每个逻辑段容量≤ 64 。
16 个字节的存储空间称为1节。
11、8086的地址有20位,那么它的可寻址空间为 1024 K,其中每个段的最大长度为 64 K。
12、8086复位后如下寄存器的内容为:(CS)= FFFF H,(IP)= 0000 H。
13、8086的中断向量是中断处理子程序的入口地址,每一个中断向量占4个存储单元其中前两个单元存放中断子程序入口地址的偏移量(IP),后两个单元存放中断子程序入口地址的段地址量。
14、8086CPU的中断类型码与中断向量存放地址之间的关系为:中断向量的段地址(CS)=0000H,中断向量的偏移量(IP)= 中断类型码×4 。
32位微机原理

第3章 指令系统
2.指令系统
(3)逻辑指令 逻辑运算指令: AND、OR、NOT、XOR、TEST 移位指令: SHL、SAL、SHR、 SAR、ROL、ROR (4)串处理指令 串处理指令 串重复前缀 MOVSB / MOVSW REP STOSB / STOSW REPE / REPZ LODSB / LODSW REPNE / REPNZ CMPSB / CMPSW SCASB / SCASW 设置方向标志指令:CLD、STD
根据该图,写出DMAC、INTR、T/C以及PIOCS的地址范围
用比较器组成的可选式译码电路:
A0 A1 A2 A3 A9 AEN . . . . . . . . . DIP +5V
P0~P7
74LS688 IOR/IOW
P=Q
比较器
Q0~Q7
Y0 Y1 Y2 Y3 G Y4 G2B Y5 G2A Y6 Y7 74LS138 A B C
第4章 汇编语言程序设计
子程序
从功能上来讲,子程序是主程序的一个组成部分。为了实 现程序的结构化、模块化,提高程序的可重用性,通常将 主程序中具有公用性、重复性、功能相对独立和完整的一 个程序段,单独设计成一个程序模块,供主程序调用,该 程序模块就称为子程序。 子程序可以嵌套。
第4章 汇编语言程序设计
分支程序
分支程序是利用条件转移指令实现程序执行次序改变的一种程 序结构形式,即当程序执行到某一指令后,根据某个条件是否 满足,分别执行不同的指令序列。 一般来说,分支程序经常是先用比较指令或数据操作及位检测 指令等来改变标志寄存器各个标志位。然后用条件转移指令进 行分支。 分支程序执行完后可以立即结束,也可以转到公共点结束,如 下图所示。 分支程序可以再分支。 程序框图:在绘制程序流程图时,需用菱形判断框,表示判定 条件。在绘制好流程图编写助记符程序时,建议先按上下流程 线写,写完上下流程线上的各框环节后,再写分支部分里的框 框。
(word完整版)微机原理复习考试题及,文档

微机原理1、8086 从功能上分成两全局部:总线接口单元BIU〔负责 8086CPU与储藏器和 I/O 设备间的信息传达。
〕,执行单元 EU 〔负责指令的执行。
〕2、执行工作方式: 8 位微办理器〔串行工作〕, 8086〔并行工作〕。
3、8086 微办理器的执行环境:地址空间,根本程序执行存放器,堆栈, I/O 端口。
4、根本的程序执行存放器〔8086〕:8 个通用存放器、 1 个指令指针存放器、 1 个标志存放器、 4 个段存放器5、8086 的 16 位通用存放器是:AX〔累加器〕 BX〔基址存放器〕 CX〔计数〕 DX〔数据〕:数据寄存器SI〔源变址〕 DI〔目的变址〕 BP〔基址指针〕 SP〔货仓指针〕:指针存放器6、8086 的 8 位通用存放器是:AL BL CL DL〔低8 位〕AH BH CH DH〔高8 位〕7、16 位的段存放器: CS、SS、DS、ES8、16 位 FLAGS存放器包括一组状态标〔 SF,ZF,OF,CF,AF,PF〕、一个控制标志〔 DF〕和两个系统标志〔 IF,TF 〕9、下一条将要执行指令的PA=〔CS〕内容左移 4 位+〔IP 〕10、逻辑地址的形式为:段存放器:偏移地址;物理地址=段存放器(D S/CS/SS/ES〕左移四位 +偏移地址11、寻址方式:〔1〕马上数寻址方式〔 2〕存放器寻址方式〔 3〕直接寻址方式〔 4〕存放器间接寻址方式〔 5〕存放器相对寻址方式[ 马上方式,存放器方式,储藏器方式]12、最小组态:就是系统中只有一个 8088/8086 微办理器,全部的总线控制信号,都是直接由 CPU产生的,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。
最大组态:系统中能够只有一个微办理器,也能够有两个或两个以上的微办理器,其中一个为主办理器,即 8086/8088CPU,其他的微办理器称之为协处理器,它们是协助主办理器工作的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1,原码:0表示“+”,I表示“一”,数值位与真值数值位相同。
反码:正数的反码与原码表示相同。
负数反码符号位为1,数值位为原码数值各位取反。
补码:正数的补码表示与原码相同。
负数补码的符号位为1,数值位等于反码加1。
[XJ补二[X」反+1负数直接求补:从最低位起,到出现第一个1以前原码中的数字不变,以后逐位取反, 但符号位不变。
2,各种编码方法的表数范围:n+1位二进制编码x表示的整数范围:原码、反码:・2n<x<2n补码:・2nWx<2n8位原码、反码的表数范围是-127〜+127,补码的表数范围是・128~+127; 16位原码、反码的表数范围是-32767〜+32767,补码的表数范围是-32768〜+327673,原码、反码、补码表示小结:正数的原码、反码、补码表示均相同,符号位为0,数值位同数的真值。
零的原码和反码均有2个编码,补码只有1个编码。
负数的原码、反码、补码表示均不同,符号位为1,数值位:原码为数的绝对值反码为每一位均取反码补码为反码再在最低位+1由[X]补求[-X]补:逐位取反(包括符号位),再在最低位+14,进位标志CF (Carry Flag):运算结果的最高位产生进位或借位时,或循坏指令也会影响该位。
奇偶标志PF (Parity Flag):运算结果的低8位小所含1的个数为偶数个,则该位置1。
辅助进位标,忐AF (Auxiliary Carry Flag):加减法运算时,如果第3位与第4位Z间有进位或借位产生,则该位置1。
一般川于BCD运算中是否进行|•进制调整的判断依据。
零标志ZF (Zero Flag):运算结果为零,则该位置1。
符号标志SF (Sign Flag):与运算结果符号位(即最高位)相同。
溢出标志OF (Overflow Flag):当运算结果超出结果寄存器的表达范围时,该位置1。
跟踪标志TF (Trap Flag):控制CPU按调试的单步方式执行指令。
中断允许标志IF (Interrupt Enable Flag):控制CPU对•外部可屏蔽中断(INTR)的响应。
当IF=1时,允许CPU响应外部可屏蔽屮断;当IF=0时,禁止响应INTR,但不禁止CPU 对非屏蔽中断(NMI)的响应。
方向标志DF (Direction Flag):用于控制串操作指令中的地址变化方向。
5,立即寻址方式:8086 CFU指令系统中,有一部分指令所用的8位或16位操作数就在指令中提供,这种方式叫立即寻址方式。
■例如:MOV AL, 80H;将十六进制数80H送入ALMOV AX, 1090H;将1090H 送AX, AH 中为10H, AL 中为90H寄存器寻址方式:如果操作数在CPU的内部寄存器中,那么寄存器名可在指令中指出。
这种寻址方式就叫寄存器寻址方式。
■例如:INC CX ;将CX的内容加1MOV AX, BX ;将BX内容送AX, BX内容不变ROL AH, 1 ;将AH中的内容不带进位循环左移一位采用寄存器寻址方式的指令在执行时,操作就在CPU内部进行,不需要使用总线周期, 执行速度快。
直接寻址方式:使用直接寻址方式,数据在存储器中,存储单元有效地址EA由指令直接指出,所以直接寻址是对存储器进行访问时最简单的方式例如:MOV AX, | 2000H ]寄存器间接寻址方式:采用寄存器间接寻址方式时,操作数一定在存储器中,存储单元的有效地址由寄存器指出。
这些寄存器可以是BX, BP, SI和DI,即有效地址等于其中某一个寄存器的值寄存器相对寻址方式(直接变址寻址):操作数有效地址EA为基址或变址寄存器内容与指令中指定位移量之和,操作数在存储器中。
可用寄存器及其对应的默认段情况与寄存器间接寻址方式相同。
基址变址寻址方式:用这种寻址方式时,操作数的有效地址等于基址寄存器的内容加上一个变址寄存器的内容,16位寻址时,基址寄存器可用BX和BP,变址寄存器可用SI 和DI;32位寻址时,基址寄存器可用任何32位通用寄存器,变址寄存器可用除ESP 以外的32位通用寄存器。
用MOV指令实现两内存字节单元内容的交换1、M OV BL, [2035HJ;MOV CL, |2045H|;MOV |2045H|, BL;MOV |2035H], CL;2、M OV AL, [2035H];XCHGAL, |2045H];MOV [2035H],AL;测试某状态寄存器(端口号27H)的第2位是否为1IN AL, 27HTEST AL, 00000100BJNZ ERROR ;若第2位为1,转ERROR处理设数据段:ADDR1 DF 1234567890ABH贝lj LES EBX,ADDR1指令执行后(ES)=1234H, (EBX)=567890ABH【例题】实现两个无符号双字加法运算。
设目的操作数存放在DX和AX寄存器中,其中DX存放高位字。
源操作数存放在BX、CX中,其中BX存放高位字。
如指令执行前(DX) =0002H, (AX) =0F365H, (BX) =0005H, (CX) =0E024H指令序列为ADD AX, CXADC DX, BX则第一条指令执行后,(AX)=0D389H, SF=1, ZF=O, CF=1, OF=0第二条指令执行后,(DX)=0008H, SF=O, ZF=O, CF=O, OF=0 【例题】比较AL的内容数值大小。
CMP AL, 100; (AL) -100JB BELOW ;(AL) <100,转到BELOW 处执行SUB AL, 100; (AL) >=100, (AL) -100—ALINC AH ;(AH) +1—AHBELOW:・・・【例题】设x、y、z均为双字长数,它们分别存放在地址为X, X+2; Y, Y+2;乙Z+2 的存储单元中,存放时高位字在高地址中,低位字在低地址中,编写指令序列实现w J x+y+24 - z,并用w和w+2单元存放运算结果。
MOV AX, XMOV DX, X+2ADD AX, YADC DX, Y+2ADD AX, 24ADC DX, 0SUB AX, ZSBB DX, Z+2MOV w, AXMOV W+2, DX【例题】无符号数0A3H与11H相乘。
MOV AL, 0A3H ;(AL) =0A3HMOV BL, 11H ;(BL) =11HMUL BL ;(AX) =0AD3H【例题】若(AL) = 0B4H, (BL) =11H,求执行指令IMUL BL和MUL BL后的乘积值。
(AL) =0B4H为无符号数的180D,带符号数的・76D(BL) =11H为无符号数的17D,带符号数的17D则执行IMULBL 的结果为(AX) =0FAF4H =-1292D, CF=OF=1 执行MULBL 的结果为(AX) =0BF4H = 3060D, CF=OF=1【例题】写出实现无符号数0400H/0B4H运算的程序段。
MOV AX, 0400H ; (AX) =0400HMOV BL, 0B4H ; (BL) =0B4HDIV BL ;商(AL) =05H,余数(AH) =7CH【例题】写出实现有符号数0400H /0B4H运算的程序段。
MOV AX, 0400H ; (AX) =0400HMOV BL, 0B4H ; (BL) =0B4HIDIV BL ; (AL) =0F3H, (AH) =24H算术运算综合举例【例3・36】计算:(C-120 +A*B)/C,保存商和余数到X和Y中,其中A、B、C、X和Y都是有符号的字变量。
编制程序如下:MOVAX,CSUB AX, 120CWDMOV CX, DXMOV BX, AX ; (CX, BX)—(DX, AX)MOV AX, AIMUL B ; (DX, AX)—A*BADD AX, BX ;计算32位二进制之和ADC DX, CXIDIVC ; AX 是商,DX 是余数MOV X, AX ;保存商到指定单元MOV Y, DX课堂练习计算:(V- (X*Y+Z-540)) /X,其中X, Y,乙V 均为16位带符号数,已分别装入X, Y,乙V 单元中,上式计算结果的商存入AX,余数存入DX 寄存器。
编制程序如下: mov a x, x imuly movex, ax movbx, dx movax, z cwdaddex, ax adc bx, dxsubex, 540 sbbbx, 0 movax, v cwdsubax, ex sbbdx, bx idiv x【例题】压缩BCD 码的加法运算。
;(AL) =68H,表示压缩BCD 码68 :(BL) =28H,表示压缩BCD 码28 ;二进制加法:(AL) =68H+28H=90H ;十进制调整:(AL) =96H;实现压缩BCD 码加法:68+28=96【例题】压缩BCD 码的减法运算。
MOV AL, 68H ;(AL) =68H,表示压缩BCD 码68MOV BL, 28H;(BL) =28H,表示压缩BCD 码28 SUBAL,BL ■ 二进制减法:(AL) =68H-28H=40H DAS;十进制调整:(AL) =40H■ 实现压缩BCD 码减法:68-28=40【例题】 AND AL, 77H ;将AL 中第3位和第7位清零。
AND AX, BX ;两个寄存器逻辑与MOV AL, 68HMOV BL, 28HADD AL, BLDAAAND AL, 1111 OOOOB ;屏蔽AL 寄存器低4位AND MEM-BYTE, AL ;存储单元和寄存器逻辑与例题】OR AL, 88HOR BX, 0C000H【例题】逻辑非运算。
MOV NOT NOT AX, 878AH ; (AX) =878AH AX ; (AX) =7875HWORD PTR L1OOOH ];将 1000H 和 1001H 两单;元中的内容求反码,再送回这两单元中【例题】测试AX 中的第12位是否为0,不为0则转L 。
TEST AX, 1000HJNEL /JNZ L 例3・54: (BX)=84F1H,把(BX)中的16位数每4位压入堆栈 MOVCH, 2 ;循环次数 MOVCL, 4 ;移位次数NEXT: ROL BX, CLMOV AH, BLAND AH, OFHROL BX, CLMOV AL, BLAND AL, OFHPUSH AXDEC CHJNZ NEXT 例题:设BLOCK 数据块中存储有正数和负数,试编写程序将正负数分开,分别存放在 Dplus 和Dminus 开始的存储区域mov si,offset blockmov di^offset dplusmov bx,offset dminus mov ax 5dsmov es^axmov cx 9count cld so on: lodsbtest al,80h jnz minus stosb jmp again minus: xchg bx^di;数据都在一个段中,所以设置e§=d§ ;cx~字节数 ;从block 取出一个数据;检测符号位,判断是正是负 ;符号位为1,是负数,转向minus;符号位为0,是正数,存入dplus;程序转移到聘ain 处继续执行 stosb;把负数存入dminus xchg bx,di again:loop go on ;字节数减1;将AL 寄存器中第3位和第7位置1 ;将BX 中第15位和第14位置1◎例:检验一段被传送过的数据是否与源串完全相同,程序如下:CLDMOV CX, 100 初始化MOV SI, 2400HMOV DI, 1200H;REPE CMPSB ;串比较,直到ZF=0 或CX=0JZ EQQDEC SIMOV BX, SI ;第一个不相同字节偏移地址~BXMOV AL, [SI];第一个不相同字节内容一ALJMP STOPEQQ: MOV BX, 0 ;两串完全相同,BX=0STOP: HLT•例题:在某字符串中查找是否存在字符。