微机原理第04章(指令系统)3

合集下载

微机原理与接口技术复习题(本)

微机原理与接口技术复习题(本)

微机原理与接口技术复习题(本)第1章概论1. 什么是程序和指令?2. 洪。

诺依曼计算机的核心原理是什么?3. 存储程序的概念是什么?4. CPU由那三部分组成?主机由那几部分组成?5. CPU对内存有那两种操作?6. 325.625D=- B= H234D= BCD7. 已知X=-1110011B,试求[X]原、[X]反、[X]补。

8. 已知X=-1110111B ,Y=+1011010B,求[X+Y]补。

9. 已知X=-1101001B ,Y=-1010110B 计算X-Y。

第2章微型计算机基础1. 微处理器内部由那三部分组成?2. 控制器有那些功能?3. 8086由那两部分组成?其功能是什么?4. 熟悉8088最小模式下的主要引脚功能。

5. 指令队列有什么功能?6. 8088的8个通用寄存器是什么?4个段寄存器是什么?两个控制寄存器是什么?7. 什么是逻辑地址和物理地址,有什么关系什么?8. 4个段寄存器中那一个段寄存器用户程序不用设置。

9. 什么是总线?10. 总线周期中,什么情况下要插入TW等待周期?11. 8088CPU中标志寄存器包含那些标志位什么?第3 章、第4章8088指令系统与汇编语言程序设计1. 什么是寻址方式? 8088CPU有那些寻址方式?2. 试说明MOV SI ,[BX ] 与LEA SI , [BX]两条指令的区别。

3. 设DS=212AH ,CS=0200H ,IP=1200H, BX=0500H , DATA=40H,[217A0H]=2300H, [217E0H]=0400H ,[217E2H]=9000H ,试确定下列指令的转移地址:(1) JMP BX(2) JMP WORD PTR [BX](3) JMP DWORD PTR [BX]4. 设SP=2300H ,AX=50ABH ,BX=1234H ,执行PUSH AX 后SP=?在执行PUSH BX ,POP AX后SP=?,AX=?,BX=?.5. 已知AL=7BH ,BL=38H ,试问执行ADD AL ,BL 后的6个状态标志是什么?6. 试判断下列程序执行后AX中的内容是什么。

微机原理及接口技术-第4章-指令系统

微机原理及接口技术-第4章-指令系统

IN
AL, DX
第4章
指令系统
计算机原理与汇编语言程序设计
实验指导书 李志民编著
中南大学信息科学与工程学院自动化所
第4章
指令系统
指令的机器码(machine code)表示方法
一、机器语言指令的编码目的和特点 1、机器语言指令 汇编语言 流程序
用符号指令编写的程序
经过汇编 程序
相当于解释
机器语言 程序
4.1 指令的基本概念和基本格式
4.2 指令的寻址方式
4.3 8086指令系统
4.4 中断调用类指令
第4章
指令系统 4.1 Definition
and Format of Instruction
Machine instruction:指挥计算机完 成某种操作的命令。
Format:
Operation Code: OPD, OPS (0,1,2) OPD:目的操作数 OPS:源操作数
执行:(32000H)→AX 执行后:(AX)=4545H
第4章
指令系统
指令操作例:MOV AX,[3102H] AL (3102H) , AH (3103H)
如果(DS)=2000H, (23012H) = CDH, (23013H) = ABH 则操作数的物理地址为: 存储器 20000H+3102H = 23102H 指令执行后:(AX) = ABCDH
cannot be OPD but only OPS
第4章
指令系统
2. Register Addressing
寄存器寻址方式的操作数在指令指明的寄 存器中。 汇编格式:R 其中R表示寄存器名。
功能:操作数直接存放在寄存器R中。

微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

第四章 80x86 指令系统—累加器专用指令
⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作:
IN acc, port ;(acc) ←(port)
②间接寻址的输入指令
指令格式及操作:
IN acc, DX
;(acc) ←((DX))
第四章 80x86 指令系统—累加器专用指令
⑵ 输出指令
①直接寻址的输出指令 指令格式及操作:
第四章 80x86 指令系统—通用数据传送指令
说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。 *目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。
第四章 80x86 指令系统—通用数据传送指令
例:已知(AX)=1234H,(BX)=5678H,分析下面程序段的执 行过程。
REG <=> REG/MEM • 段寄存器的内容不能参加交换
例: XCHG BX,[BP+SI]
第四章 80x86 指令系统—累加器专用指令
(二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以 是8位的,也可以是16位的。
第四章 80x86 指令系统—累加器专用指令 1.输入/输出指令
DI 1234H DS 4000H
DM
34H 2130H 12H 00H 2132H 40H
第四章 80x86 指令系统—地址传送指令
3. 地址指针装入ES指令 指令格式:
LES reg16, mem32 此指令的功能是将源操作数所对应的双字长的内存单元中的高 字内容(一般为16位段基址)送入ES,低字内容(一般为偏移地址) 送入指令所指定的寄存器中。例如:
LES DI, [2130H]
DI 1234H ES 4000H

微型计算机原理课后答案

微型计算机原理课后答案

微机原理第一章1.计算机按其使用的逻辑元件的不同被分为哪几代?微型计算机是哪一代计算机的分支?答:电子管计算机、晶体管计算机、集成电路计算机和大规模、超大规模集成电路计算机。

微型计算机属于第四代计算机的分支。

2. 简述冯·诺依曼计算机体系结构的基本思想。

答:冯·诺伊曼基本设计思想为:①以二进制形式表示指令和数据。

②程序和数据事先存放在存储器中,计算机在工作时能够高速地从存储器中取出指令并加以执行。

③由运算器、控制器、存储器、输入和输出设备等五大部件组成计算机系统。

3.微型计算机系统由哪几部分组成:答: 微机系统分硬件和软件,硬件包括CPU、存储器、输入输出设备和输入输出借口,软件包括软件系统和应用软件。

6.何谓总线?有哪几类?作用如何?答:总线是计算机中各功能部件间传送信息的公共通道。

根据所传送的信息的内容与作用不同,总线可分为三类:地址总线、数据总线、控制总线。

这三类总线作用为计算机各功能部件间传送地址、数据、控制信息的。

8.存储器读写操作的不同点?答:①读操作:由CPU发出的读命令控制。

写操作:由CPU发出的写命令控制。

②读操作:把数据从内存中读出来,放到DB上。

写操作:把DB上的内容,写入到存储器中。

第二章计算机中的数值和编码1、将十进制数转换为二进制和十六进制(1) 129.75=1000 0001.11B=81.CH(2) 218.8125=1101 1010.1101B=DA.DH(3) 15.625=1111.101B=F.AH(4) 47.15625=10 1111.0010 1B=2F.28 H2、将下列二进制数转换为十进制和十六进制(1) 111010 B=58 =3A H(2) 1011 1100.111B= 188.875= BC.E H(3) 0.1101 1B=0.84375 =0.D8H(4) 11110.01 B=30.25 =1E.4H3、完成下列二进制数的加减法运算(1) 1001.11+100.01=1110.00(2) 1101010110.1001-01100001.0011=01110101.0110(3) 00111101+10111011=11111000 (4) 01011101.0110-101101.1011=101111.10114、完成下列十六进制数的加减法运算(1) 745CH+56DFH=D14B H (2) ABF.8H-EF6.AH=9C28.E H(3) 12AB.F7+3CD.05=1678 .FC H(4) 6F01H-EFD8H=7F29 H5、计算下列表达式的值(1) 128.8125+10110101.1011B+1F.2H=101010101.1010B(2) 287.68-10101010.11H+8E.EH=103.CEH(3) 18.9+1010.1101B+12.6H-1011.1001=36.5256、选取字长n为8位和16位两种情况,求下列十进制数的补码。

微机原理 第四章 微型计算机指令系统

微机原理 第四章 微型计算机指令系统

例: 已知: DS=2000H; SI=1000H 指令: MOV [SI+disp],AX
青岛理工大学琴岛学院
寄存器间接相对寻址过程示意图
CPU
寄存器间接相对 SI=1000H
MOV [SI+20H] 程序 ,AX
CS 偏移1000H
DS
SS
ES
位移20H
青岛理工大学琴岛学院
寄存器相对寻址过程示意图
真正数据所在的地址
青岛理工大学琴岛学院
错误指令举例: 6)基址变址寻址: MOV [BX+CX],AX ; CX不能做变址寄存器 MOV [BX+BP],AX ; BP不能作为变址寄存器 操作数的有效地址 EA等于一个基址寄存器( BX或 MOV [BX+DI],ARRAY; BP)与一个变址寄存器( SI或DI)的内容之和;
总时间=基本执行时间+计算EA的时间+执行总线读/写周期的时间
指令的基本执行时间随指令类型的不同差异很大,访问存 储器既要执行总线的读/写周期,又要计算操作数的有效地址 EA,计算EA的时间又与指令的寻址方式有关。
青岛理工大学琴岛学院
4.2 8086/8088指令系统
数据传送类指令
算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理器控制类指令
21000H 20 位 物 理 地 址 真正数据所在的地址 Memory DS … 20000H

78H 21000H 56H
青岛理工大学琴岛学院

4)寄存器间接寻址:
此方式的操作数存放在存储器单元中,指令给出的 16位寄存器值就是该操作数所在存储单元的EA。

例: 已知: (DS)=2100H,(DI)=2000H 指令: MOV AX,[DI] ;(AX) ((DI)) 注:使用BX、SI、DI,操作数在DS段;BP时在SS段 其中寄存器只能是BX、SI、DI、BP

微机原理课后习题参考答案

微机原理课后习题参考答案

微机原理课后习题参考答案第1部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。

微型计算机:简称“微型机”、“微机”,也称“微电脑”。

由大规模集成电路组成的、体积较小的电子计算机。

由微处理机(核心)、存储片、输入和输出片、系统总线等组成。

特点是体积小、灵活性大、价格便宜、使用方便。

微型计算机系统:简称“微机系统”。

由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。

配有操作系统、高级语言和多种工具性软件等。

1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。

1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。

总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。

1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。

微机原理习题集答案

第1章 概述1.电子计算机主要由.电子计算机主要由 运算器运算器 、 控制器控制器 、 存储器存储器 、 输入设备输入设备 和 输出设备输出设备 等五部分组成。

等五部分组成。

等五部分组成。

2. 运算器运算器 和 控制器控制器 集成在一块芯片上,被称作CPU CPU。

3.总线按其功能可分.总线按其功能可分 数据总线数据总线 、 地址总线地址总线 和 控制总线控制总线 三种不同类型的总线。

三种不同类型的总线。

4.计算机系统与外部设备之间相互连接的总线称为.计算机系统与外部设备之间相互连接的总线称为 系统总线(或通信总线)系统总线(或通信总线) ;用于连接微型机系统内各插件板的总线称为系统内总线(板级总线) ; CPU 内部连接各寄存器及运算部件之间的总线称为内部连接各寄存器及运算部件之间的总线称为 内部总线内部总线 。

5.迄今为止电子计算机所共同遵循的工作原理是迄今为止电子计算机所共同遵循的工作原理是 程序存储程序存储 和 程序控制程序控制 的工作原理。

的工作原理。

这种原理又称这种原理又称为 冯·诺依曼型冯·诺依曼型 原理。

原理。

第3章 微处理器及其结构1.8086/8088 CPU 执行指令中所需操作数地址由执行指令中所需操作数地址由 EU EU EU 计算出计算出计算出 16 16 16 位偏移量部分送位偏移量部分送位偏移量部分送 BIU BIU BIU ,由,由,由 BIU BIU BIU 最后最后形成一个形成一个 20 20 20 位的内存单元物理地址。

位的内存单元物理地址。

2.8086/8088 CPU CPU在总线周期的在总线周期的在总线周期的T1 T1 T1 时刻,用时刻,用时刻,用A19/S6A19/S6A19/S6~~A16/S3 A16/S3 输出输出输出 20 20 20 位地址信息的最高位地址信息的最高位地址信息的最高 4 4 4 位,而在位,而在其他时钟周期,则输出其他时钟周期,则输出 状态状态 信息。

微机原理与接口技术 指令系统整理

微机原理与接口技术指令系统整理一、引言微机原理与接口技术是计算机科学与技术专业中的重要课程之一,它主要介绍了微机的基本原理和接口技术。

其中,指令系统是微机的核心组成部份,它定义了微机的指令集和指令的执行方式。

本文将对微机原理与接口技术中的指令系统进行整理和总结,旨在匡助读者更好地理解和掌握微机的指令系统。

二、指令系统概述1. 定义指令系统是计算机硬件与软件之间的接口,它定义了计算机的指令集和指令的执行方式。

指令系统包括指令的格式、指令的编码方式、指令的功能等内容。

2. 指令集指令集是指计算机所能执行的所有指令的集合。

常见的指令集有精简指令集(RISC)和复杂指令集(CISC)等。

3. 指令的格式指令的格式包括操作码、操作数和寻址方式等部份。

操作码用于指示所执行的操作,操作数用于指定操作的对象,寻址方式用于确定操作数的地址。

4. 指令的编码方式指令的编码方式决定了指令在计算机内部的表示方式。

常见的编码方式有二进制编码、十进制编码和十六进制编码等。

5. 指令的功能指令的功能包括数据传送、算术运算、逻辑运算、控制转移等。

不同的指令可以实现不同的功能。

三、指令系统分类1. 指令的类型指令可以根据其功能和操作对象的不同进行分类。

常见的指令类型有数据传送指令、算术运算指令、逻辑运算指令、控制转移指令等。

2. 指令的寻址方式指令的寻址方式决定了指令如何获取操作数的地址。

常见的寻址方式有即将寻址、直接寻址、间接寻址、寄存器寻址等。

3. 指令的执行顺序指令的执行顺序决定了指令的执行顺序和流程。

常见的执行顺序有顺序执行、条件执行、循环执行等。

四、指令系统设计原则1. 简洁性原则指令系统应尽量简洁,避免冗余和复杂的指令,以提高执行效率和降低设计成本。

2. 完备性原则指令系统应包含常用的指令,能够满足大部份应用需求。

3. 兼容性原则指令系统应与硬件和软件环境兼容,以便于系统的扩展和升级。

4. 可扩展性原则指令系统应具有良好的扩展性,能够支持新的指令和功能的添加。

微机原理与接口技术(第2版)电子教案3


指 令 系 统
3.2.1 数据传送指令
数据传送指令用来实现寄存器和存储器间字节 或字的数据传送。 数据传送指令包括堆栈操作、地址传送等指令。 下面分别从以下几个方面介绍: 1、通用数据传送指令 2、地址传送指令 3、标志寄存器传送指令
指 令 系 统
1.通用数据传送指令
(1)数据传送指令 MOV 格式:MOV OPD, OPS 功能:OPD是目的操作数,OPS是源操作数,该语名的功能 是将源操作数送至目的操作数中,即 OPS → OPD 说明: (1)MOV指令不允许在两个存储单元之间直接传送数据。 (2)MOV指令不允许在两个段寄存器之间直接传送数据。 (3)MOV指令不允许用立即数直接为段寄存器赋值。 (4)MOV指令不影响标志位。
执行后:
AX=5678H,SI、DS、 (31234H) 的内容不变。
指 令 系 统
5.寄存器相对寻址
寄存器相对寻址又称为直接变址寻址,操作数的偏移地址EA是一个 基址或变址寄存器的内容和指令中给出的8位或16位位移量之和。寻址 方式如下图所示:
R 操作码
rel 变址值
寄存器名
段寄存器 段首址
左移4位 位移量
演示
指 令 系 统
举例说明
例如,MOV AX,[SI] 执行前:
AX=0ABCDH,SI=1234H,DS=3000H, (31234H)=5678H。 这是一条双操作数指令,AX是目的操作数地址,其寻址方式为寄存器寻
址方式; [SI]指明了源操作数采用寄存间接寻址方式, SI的内容为源操
作数的偏移地址EA。 原操作数的物理地址为:PA = (DS)左移4位+SI = 31234H。
部数据线为16位),地址线为32条,实际寻址范围为4GB,虚拟存储空间达 64TB。 80386的内部寄存器共16个,分别是: ①8个32位通用寄存器:EAX、EBX、ECX、EDX、ESI、EDI、ESP 和EBP。 ②6个16位段寄存器:CS、DS、SS、ES、FS、GS。与ES相似,FS和

微型计算机原理-第4章(5)微机原理与接口技术(第三版)(王忠民)

格式:SBB DST,SRC 操作:DST <= DST-SRC-CF
▪DEC(Decrement) 减1
格式:DEC DST 操作: DST <= DST -1
第四章 80x86 指令系统—算术运算指令
▪NEG(Negate)求补
格式:NEG DST 操作: DST <= 0-DST
利用NEG指令可以得到负数的绝对值
60H

ACH

74H

3BH

DATA2 C1H
36H

9EH

D5H
20H

图4.19 例4.3中被加数和加数在内存中的存放情况
第四章 80x86 指令系统—算术运算指令
程序如下: LOOPER:MOV
MOV CX,5
;设置循环次数
MOV SI,0
;置位移量初值
CLC
AL,DATA2[SI]
;取一个
第四章 80x86 指令系统—算术运算指令
说明: 1、DST:REG/MEM,SRC:8/16data/REG/MEM。 2、DST、SRC不能同时为MEM。 3、加法指令影响标志寄存器的状态标志。 4、INC指令不影响CF标志。
第四章 80x86 指令系统—算术运算指令 例 4.3 计 算 两 个 多 字 节 十 六 进 制 数 之 和 : 3B74AC60F8H+20D59E36C1H=?
第四章 80x86 指令系统—算术运算指令
(3)乘法指令
▪MUL(Unsigned Multiple) 无符号数乘法
格式:MUL SRC 操作:AX<=AL*SRC(字节)/ DX,AX<=AX*SRC(字)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ASSUME CS:CODESG, DS:DATA SG START: …
CALL subp…Biblioteka RETMAINENDP
段内间接调用:
第4章:例4.17 求较大值
cmp ax,bx ;比较AX和BX jae next ;若AX≥BX,转移 xchg ax,bx ;若AX<BX,交换 next: mov wmax,ax
如果AX和BX存放的是有符号数, 则条件转移指令应采用JGE指令
第4章:例4.17 求较大值(另解)
cmp ax,bx ;比较AX和BX jae next mov wmax, bx ;若AX<BX,wmax←BX jmp done next: mov wmax,ax ;若AX≥BX,wmax←AX done: ……
相对寻址方式
用标号表达
指令代码中提供目的地址相对于当前IP的位移 量,转移到的目的地址(转移后的IP值)就是 当前IP值加上位移量
直接寻址方式
用标号表达
指令代码中提供目的逻辑地址,转移后的CS和 IP值直接来自指令操作码后的目的地址操作数
间接寻址方式
用寄存器或存储器操作数表达
指令代码中指示寄存器或存储单元,目的地址 从寄存器或存储单元中间接获得
inc di loop again
;循环条件判定:循环次数减1,不为0转移(循环)
第4章:例4.18 数据块传送(字)
mov cx,200h
;设置循环次数:1K÷2=200H
mov si,offset sbuf
;设置循环初值:SI指向数据段源缓冲区开始
mov di,offset dbuf again:
第4章:4.2.7.2 条件转移指令
条件转移指令Jcc根据指定的条件确定程序 是否发生转移。其通用格式为:
Jcc label
;条件满足,发生转移 ;IP←IP+8位位移量; ;否则,顺序执行
label是一个标号、一个8位位移量,表示Jcc指令 后的那条指令的偏移地址,到目标指令的偏移地 址的地址位移 label只支持短转移的相对寻址方式
⑴ JZ/JE和JNZ/JNE 利用零标志ZF,判断结果是否为零(或相等) ⑵ JS和JNS 利用符号标志SF,判断结果是正是负 ⑶ JO和JNO 利用溢出标志OF,判断结果是否产生溢出 ⑷ JP/JPE和JNP/JPO 利用奇偶标志PF,判断结果中“1”的个数是偶是奇 ⑸ JC/JB/JNAE和JNC/JNB/JAE 利用进位标志CF,判断结果是否进位或借位
第4章:例题4.15解答3 用JNS指令实现
mov bx,ax 错误!循环指令不影响SF等标志 ror bx,1 ;将AX的最低位D0移进最高位(符号位SF) jns even ;标志SF=0,即D0=0:AX内是偶数,程序转移 add ax,1 ;标志SF=1,即D0=1:AX内的奇数,加1 even: shr ax,1 ;AX←AX÷2
第4章:目标地址的寻址范围:段内寻址
段内转移——近转移(near)
在 当 前 代 码 段 64KB 范 围 内 转 移 ( ±32KB范围) 不需要更改CS段地址,只要改变IP偏 移地址
代 码 段
段内转移——短转移(short)
转移范围可以用一个字节表达,在段 内-128~+127范围的转移
代 码 段
第4章:例4.17 偶校验
;对DL寄存器中8位数据进行偶校验 ;校验位存入CF标志 test dl,0ffh ;使CF=0,同时设置PF标志 jpe done ;DL中“1”的个数为偶数 ;正好CF=0,转向done stc ;DL中“1”的个数为奇数,设置CF=1 done: …… ;完成
第4章:2. 比较无符号数高低
第4章:例题4.15解答1 用JZ指令实现
test ax,01h ;测试AX的最低位D0(不用AND指令,以免改变AX) jz even ;标志ZF=1,即D0=0:AX内是偶数,程序转移 add ax,1 ;标志ZF=0,即D0=1:AX内的奇数,加1 even: shr ax,1 ;AX←AX÷2
;首先CX←CX-1;然后判断;若CX≠0,转移
JCXZ label
;为0循环指令
:如果CX=0,则转移
label操作数采用相对短寻址方式 还 有 LOOPZ/LOOPE 和 LOOPNZ/LOOPNE 两 条 指令 dec cx jnz label
第4章:例4.18 数据块传送(字节)
mov cx,400h
第4章:无条件转移指令JMP(jump)
JMP label
;IP←IP+位移量
;段内转移、相对寻址
演示
JMP r16/m16
;IP←r16/m16
;段内转移、间接寻址
演示 演示
JMP far ptr label JMP far ptr mem
;段间转移、直接寻址
演示
;IP←偏移地址,CS←段地址
;段间转移,间接寻址 演示 ;IP←[mem],CS←[mem+2]
用右移一位的方法实现除以2。 本例中用RCR指令比SHR指令更好。
第4章:例题4.15解答2 用JNC指令实现
mov bx,ax 还可用SAR、ROR和RCR指令 shr bx,1 ;将AX的最低位D0移进CF jnc even ;标志CF=0,即D0=0:AX内是偶数,程序转移 add ax,1 ;标志CF=1,即D0=1:AX内的奇数,加1 even: shr ax,1 ;AX←AX÷2
第4章:3. 比较有符号数大小
判断有符号数的大(Greater)、小(Less), 需要组合OF、SF标志、并利用ZF标志确定相等 与否 两数的大小分成4种关系,分别对应4条指令
JL(JNGE):目的操作数小于(不大于等于)源操作数 JNL(JGE):目的操作数不小于(大于等于)源操作数 JLE(JNG):目的操作数小于等于(不大于)源操作数 JNLE(JG):目的操作数不小于等于(大于)源操作数
第4章:Jcc指令的分类
Jcc指令不影响标志,但要利用标志(表2-4) 根据利用的标志位不同,分成三种情况:
⑴ 判断单个标志位状态 ⑵ 比较无符号数高低 ⑶ 比较有符号数大小
Jcc指令实际虽然只有16条,但却有30个助记符 采用多个助记符,目的是为了方便记忆和使用
第4章:1. 判断单个标志位状态
ADD BX,0 ;增加一条指令
第4章:例4.16 判断是否为字母Y
;寄存器AL中是字母Y(含大小写),则令AH=0, 否则令AH=-1 cmp al,‟y‟ ;比较AL与小写字母y je next ;相等,转移 cmp al,‟Y‟ ;不相等, ;继续比较AL与大写字母Y je next ;相等,转移 mov ah,-1 ;不相等,令AH=-1 jmp done ;无条件转移指令 next: mov ah,0 ;相等的处理:令AH=0 done: ……
子程序和调用程序在同一个程序模块中,子程序可以直接访问模 块中的变量。
DATASG SEGMENT X Y DATASG CODESG MAIN DW 100 DW 10 ENDS SEGMENT PROC FAR subp PROC NEAR MOV AX,X MOV BX,Y MUL BX RET subp END CODESG ENDS END START
符号名
PROC
……
类型
演示
符号名
ENDP RET(RETURN)
子程序调用和返回指令: CALL 过程有两种类型:
按过程与调用语句间的位置,过程有两种类型。
NEAR类型:调用指令与过程在同一个段中 FAR类型:调用指令与过程不在同一个段中 CALL指令和RET指令都不影响条件码。
(1)、 CALL( Call a procedure)调用
无符号数的大小用高(Above)、低(Below) 表示,需要利用CF确定高低、利用ZF标志确定相 等(Equal) 两数的高低分成4种关系,对应4条指令
JB(JNAE):目的操作数低于(不高于等于)源操作数 JNB(JAE):目的操作数不低于(高于等于)源操作数 JBE(JNA):目的操作数低于等于(不高于)源操作数 JNBE(JA):目的操作数不低于等于(高于)源操作数
第4章
第4章:4.2.7 控制转移类指令
控制转移类指令用于实现分支、循环、 过程等程序结构,是仅次于传送指令 的常用指令 重点掌握:
JMP/Jcc/LOOP/JCXZ CALL/RET INT n/IRET 常用系统功能调用 控制转移类指令通过改变IP(和CS)值, 实现程序执行顺序的改变
第4章:目标地址的寻址方式
代 码 段
代 码 段
第4章:4.2.7.1 无条件转移指令
JMP label
;程序转向label标号指定的地址
只要执行无条件转移指令JMP,就使程序转到指 定的目标地址,从目标地址处开始执行指令 操作数label是要转移到的目标地址(目的地址、 转移地址) JMP指令分成4种类型:
⑴ ⑵ ⑶ ⑷ 段内转移、相对寻址 段内转移、间接寻址 段间转移、直接寻址 段间转移、间接寻址
第4章:目标地址的寻址范围:段间寻址
段间转移——远转移(far) 从当前代码段跳转到另一个代码段, 可以在1MB范围 需要更改CS段地址和IP偏移地址 目标地址必须用一个32位数表达,叫 做32位远指针,它就是逻辑地址
实际编程时,汇编程序会根据目标地址的 属性,自动处理成短转移、近转移或远转移 程序员可用操作符short、near ptr 或far ptr 强制成为需要的转移类型
第4章:例题4.15
题目:将AX中存放的无符号数除以2,如果是奇 数则加1后除以2 问题:如何判断AX中的数据是奇数还是偶数? 解答:判断AX最低位是“0”(偶数),还是“1” (奇数)。可以用位操作类指令
相关文档
最新文档