汇编语言程序设计第五章 循环与分支程序设计

合集下载

汇编语言程序设计方法

汇编语言程序设计方法

C 名字前加 下划线
从右到左 调用程序

SYSCALL
从右到左 被调用程序

STDCALL 名字前加
下划线 (注)
被调用程序

PASCAL 名字变大写
BASIC 名字大写
FORTRAN 名字大写
从左到右 被调用程序

从左到右 被调用程序

从左到右 被调用程序

12
PROTO是过程声明伪指令,用于事先声明过程的结构。它的格 式如下:
结束处理部分
AGAIN: ADD AX,CX
;从20,19,……2,1倒序累加到AX
LOOP AGAIN ;每循环一遍,CX自动减1
MOV SUM,AX ;将累加和送入SUM单元
.EXIT 0
END
初始化部分
循环结束? 是 否
工作部分 修改部分 结束处理部分
7
二、用MASM 6.x循环控制伪指令实现循环结构
.CODE
.STARTUP
MOV AL, B
IMUL AL
MOV BX,AX MOV AL,A
;BX中为B的平方
IMUL C
MOV CX,4
IMUL CX
;AX中为4AC
.IF SWORD PTR BX>=AX ;比较B的平方和4AC的大小
MOV SIGN,1
;条件成立,SIGN得到1
.ELSE
MOV SIGN,0
.IF 条件表达式 ;条件为真(非0),执行分支体
分支体
[.ELSEIF 条件表达式
分支体
;前面IF条件为假,并且当前ELSEIF条件为真执行分支体
[.ELSE
;前面IF条件为假执行分支体

汇编语言程序设计_第5章 分支循环程序设计(参考答案)

汇编语言程序设计_第5章 分支循环程序设计(参考答案)

第5章分支、循环程序设计本章要点: 转移指令的寻址方式及其执行过程,控制转移类指令的使用,分支和循环程序的设计和应用。

程序调试的方法,常见问题的程序设计方法。

一、单项选择题5.1.1条件转移是根据标志寄存器中的标志位来判断的,条件判断的标志位共有( B )位。

A. 4B. 5C. 6D. 95.1.2用一条条件转移指令一次可以实现( A )个分支。

A. 2B. 3C. 4D. N5.1.3 条件转移指令的转移范围是(A)。

A. -128~127B. 0~255C. 0~65535D. -32768~327675.1.4 设A为字变量,B为标号,下列指令中不正确的是(D)。

A. MOV AX,AB. JNZ BC. JMP [SI]D. JMP B[BX]5.1.5 下述指令中影响CF标志位的是(A)。

A. SHL AL,1B. MOV AL,1C. JC LD. JNC L5.1.6 下述指令中不影响CF标志位的是(A)。

A. INC SIB. SUB SI,0C. NEG ALD. TEST AL,15.1.7 在多重循环程序设计中,每次通过外层循环进入内层循环时,其内层循环的初始条件(B)。

A. 不必考虑B. 必须重新设置C. 必须清0D. 必须置15.1.8 当设计一个程序时,最重要的是(B)。

A. 程序的结构化B. 能使程序正常运行并实现功能C. 程序的执行速度快D. 程序占用的存储空间小*5.1.9 如果“JNC L”指令的操作码放在0040H,转移后在0020H处取下一指令的操作码,那么这条指令的位移量是(C)。

A. 1EHB. 20HC. 0DEHD. 0E0H*5.1.10 如果“JGE P”指令的操作码放在0050H,该指令的位移量是34H,执行完这条指令转移取下一条指令的偏移地址是(C)。

A. 82HB. 84HC. 86HD. 88H二、填空题5.2.1 当下面循环程序中的划线处填上一个什么数字时,执行的循环次数最多?MOV CX,____0______MOV AX,0L:INC AXLOOP L5.2.2 当两个数进行比较后,执行__JE L(JZ L)表示两数相等则转移到L。

汇编语言程序设计的基本方法

汇编语言程序设计的基本方法

01
例2 编写程序,计算(W-(X*Y+Z-100))/W,其中W、X、Y、Z均为16位带符号数,计算结果的商存入AX,余数存入DX。
02
例3 把非压缩十进制数DAT1转换为压缩十进制数
例2编写程序,计算(W-(X*Y+Z-100))/W,其中W、X、Y、Z均为16位带符号数,计算结果的商存入AX,余数存入DX。
通常,编制一个汇编语言源程序应按如下步骤进行:
1
明确任务,确定算法。
2
绘制流程图(包括确定内存单元和分配寄存器)。
3
根据流程图编写汇编语言程序。
4
上机调试程序。
5
程序的基本结构有四种:顺序结构、分支结构、循环结构和子程序结构。
6
5.6 汇编语言程序设计的基本方法
5.6.1 顺序程序设计
顺序结构也称线性结构,其特点是其中的语句或结构被连续执行。 顺序程序是最简单的,也是最基本的一种程序结构。这种结构的程序从开始到结尾一直是顺序执行的,中途没有任何分支。从这种结构的流程图来看,除了有一个起始框,一个终止框外,就是若干执行框,没有判断框。指令指针IP值线形增加,IP=IP+1
条件
N

例4用比较指令和条件转移指令实现两路分支的程序段。
两路分支程序设计
例4用比较指令和条件转移指令实现两路分支的程序段。 … MOV AX,M ;假定M和N为有符号数 MOV BX,N CMP AX,BX ;比较 M和N的大小,影响标志位,准备条件 JG NEXT ;M>N时转移,注意若M、N为无符号数时用JA指令 …… ;分支程序2 JMP DONE NEXT: …… ;分支程序1 …… DONE:RET
X+20 (X≥0)

汇编语言循环程序设计

汇编语言循环程序设计

RET
HEXASC
ENDP
CODE ENDS
END START
⑵ 用伪指令方法编程:
DATA SEGMENT
HEXDATA DW 4D7EH
RESULT DB 4 DUP(?)

DATA ENDS
CODE SEGMENT
ASSUME CS:CODE;DS:DATA
STAห้องสมุดไป่ตู้T: MOV
AX, DATA
[例3] 在xx单元开始的连续单元中存放有10个无符 号数,从中找出中最大者送y• y单元。
根据题意,我们把第一个数先送入AL寄存器中, 然后将AL中的数与后面的9个数逐个进行比较。如果AL 中的数较小,则两数交换;如果AL中的数大,则不交换 。在比较过程中,AL中始终保持较大的数,这样,比较 9次后,则最大的数在AL中,最后把AL中的数(最大者 )存入yy单元。
MOV BX, [SI]
NEXT: MOV AX, BX
AND AL, 0FH
CALL HEXASC
MOV [DI], AL
INC DI
PUSH CX
MOV CX, 4
SHR BX, CL
POP CX
LOOP NEXT
LEA
MOV STD LOOP1: LODSB MOV MOV INT LOOP MOV MOV INT MOV INT
YSEG SEGMENT

CALL SUBT1
MOV AH,4CH INT 21H SUBT1 PROC FAR
YSEG ENDS

RET SUBT1 ENDP XSEG SEGMENT
2.寄存器内容的保护和恢复
通常主程序和过• 程的设计是分开的, 因而他们所使用的寄存器往往会发生冲 突。为避免冲突,应在进入过程时,将 该过程所用到的寄存器内容保护起来, 称为保护现场。而从过程返回主程序前 ,再将这些寄存器的内容恢复,称为恢 复现场。保护现场和恢复现场通常分别 用堆栈压入指令和弹出指令来实现。例 如:

第5章 汇编语言程序

第5章 汇编语言程序

Y
条件满足?
N
处理段
例5-5 设内部RAM30H,31H单元存放两个无符号数, 将大数存在31H,小数存于30H。 ORG 1000H START:CLR C MOV A,30H SUBB A,31H JC NEXT ;次序符合,返回 MOV A,30H ;交换 XCH A,31H MOV 30H,A NEXT: NOP SJMP $ END
$
5-3 分支程序
由条件转移指令构成程序判断框,形成程序分支结构。 5-3-1 单重分支程序 一个判断决策框,程序有两条出路。 两种分支结构: 例1 求R2中补码绝对值,正数不变, 影响条件 负数变补。
MOV A,R2 JNB ACC.7,NEXT;为正数? CPL A ;负数变补 INC A MOV R2,A NEXT:SJMP NEXT ;结束
五、对源程序进行交叉汇编得到机器代码; 反汇编 —— 分析现成产品的程序,要将二进制 的机器代码语言程序翻译成汇编语言源程序。
六、程序调试。
通过微计算机的串行口(或并行口)把机器代 码传送到用户样机(或在线仿真器)进行程序 的调试和运行。
5.1.3评价程序质量的标准
(1)程序的执行时间。 (2)程序所占用的内存字节数。 (3)程序的逻辑性、可读性。 (4)程序的兼容性、可扩展性。 (5)程序的可靠性。
方法二:采用除10H取余数将BCD拆开 ORG 1000H MOV A,20H; 2B 1T MOV B,#10H ; 3B 2T DIV AB ; 1B 4T ORL B,#30H ; 3B 2T MOV 22H,B ; 3B 2T ORL A,#30H; 2B 1T MOV 21H,A ; 2B 1T SJMP $ END;7条指令、16个内存字节、13个机器周期。

《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》教案附:习题参考答案《汇编语言程序设计》(第4版)钱晓捷主编前言1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。

它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。

3.本教材共有十一章,其内容安排如下:(1).第一、二章为汇编语言所用的基础知识。

(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。

(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。

(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。

(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。

(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。

(7).第九章说明BIOS和DOS系统功能调用的使用方法。

(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。

附:教学参考书1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2.沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年3.沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4.沈美明、温冬婵、张赤红编著,IBM–PC汇编语言程序设计—实验教程,清华大学出版社,1992年5.周明德,微型计算机IBM PC/XT(0520系列)系统原理及应用(修订版),清华大学出版社,19916.郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957.王士元、吴芝芳,IBM PC/XT[长城0520] 接口技术及其应用,南开大学出版社,19908.杨素行,微型计算机系统原理及应用,清华大学出版社,19959.戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610.张昆藏,IBM PC/XT微型计算机接口技术,清华大学出版社,199111.孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/Pentium),学苑出版社,199312.吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 (1)1.1进位计数制与不同基数的数之间的转换 (1)1.2二进制数和十六进制数的运算 (2)1.3计算机中数和字符的表示 (3)1.4几种基本的逻辑运算 (3)第 2 章 80X86计算机组织 (4)2.180X86微处理器 (4)2.2基于微处理器的计算机系统构成 (4)2.3中央处理机 (5)2.4存储器 (6)2.5外部设备 (7)第 3 章 80X86的指令系统和寻址方式 (8)3.180X86的寻址方式 (8)3.2程序占有的空间和执行时间 (10)3.380X86的指令系统 (10)第 4 章汇编语言程序格式 (27)4.1汇编程序功能 (27)4.2伪操作 (27)4.3汇编语言程序格式 (31)4.4汇编语言程序的上机过程 (34)第 5 章循环与分支程序设计 (37)5.1循环程序设计 (37)5.2分支程序设计 (38)5.3如何在实模式下发挥80386及其后继机型的优势 (38)第 6 章子程序结构 (40)6.1子程序的设计方法 (40)6.2子程序的嵌套 (41)6.3子程序举例 (41)第 7 章高级汇编语言技术 (43)7.1宏汇编 (43)7.2重复汇编 (44)7.3条件汇编 (45)第 8 章输入/输出程序设计 (46)8.1I/O设备的数据传送方式 (46)8.2程序直接控制I/O方式 (47)8.3中断传送方式 (47)第 9 章 BIOS和DOS中断 (50)9.1键盘I/O (50)9.2显示器I/O (52)9.3打印机I/O (53)9.4串行通信口I/O (54)第 10 章图形与发声系统的程序设计 (55)10.1显示方式 (55)10.2视频显示存储器 (55)10.3EGA/VGA图形程序设计 (56)10.4通用发声程序 (57)10.5乐曲程序 (58)第 11 章磁盘文件存取技术 (59)11.1磁盘的记录方式 (59)11.2文件代号式磁盘存取 (60)11.3字符设备的文件代号式I/O (61)11.4BIOS磁盘存取功能 (62)附录:《IBM—PC汇编语言程序设计》习题参考答案 (63)第一章.习题 (63)第二章.习题 (64)第三章.习题 (65)第四章.习题 (79)第五章.习题 (84)第六章.习题 (104)第七章.习题 (118)第八章.习题 (125)第九章.习题 (130)第十章.习题 (134)第十一章.习题 (145)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。

第五章_汇编语言程序设计基础

第五章_汇编语言程序设计基础
3
§5-1 汇编语言的基本概念
汇编 语言 源程 序 汇编 程序 A ss em bl er 机器 语言 目标 程序
汇编语言指令与机器指令之间有一一对应的关系,所以汇 编语言与具体的机器密切相关,是一种面向机器的语言。 不同机器(CPU)的汇编语言不同。 为方便编程,实际的汇编程序常还提供一些除机器指令以 外的命令,被称为伪指令。伪指令(Pseudo Instruction) 仅在汇编过程中指导汇编程序如何生成目的代码,自己本 身并没有对应的机器代码。 汇编语言的指令(语句)包含两类:硬指令或真指令(指 令语句)和伪指令(指示性语句) 。
12
§5-2 汇编语言的基本语言成分
6. 综合运算符(改变属性运算符):由已存在的存储器操作数 (变量/标号)生成一个段地址和位移量相同、类型不同的新 的存储器操作数(变量/标号)。 (1) 改变变量/标号的类型: 格式: 新类型 PTR 变量/标号 功能:把PTR左边的属性赋给右边的变量/标号 [例] 设变量XVAR是字节属性,现把它的两个字节内容送 到AX中起去。 MOV AX , WORD PTR XVAR (2) 定义当前存储单元的类型: 格式: THIS 类型 功能:可用于建立新类型的存储器变量,但不分配新的存 储空间,它的段地址和位移量是汇编时的当前值。 [例] WBUFFER EQU THIS WORD BUFFER DB 100 DUP(?)
17
§5-3 汇编语言源程序的结构
(3) 段的类别属性:通常使用的类别名是‘CODE’、 ‘DATA’、‘STACK’,分别指明是代码段、数据段、 堆栈段;但也允许用户自定义类别名。类别名必须用单引 号括起来。 连接程序在组织段时,将所有同类别的段集中在一起, 进行相邻分配。 2. 段寄存器说明伪指令(ASSUME): 格式: ASSUME 段寄存器:段名 [,段寄存器:段名] 功能:告诉汇编程序,段名所指的段由那一个段寄存器寻 址,即建立段与段寄存器的关系。 说明:段寄存器的实际值(CS除外)还要由数据传送令在 执行程序时赋值。

汇编-循环与分支程序设计

汇编-循环与分支程序设计

方法A
MOV DL,0DH MOV AH,06H INT 21H MOV DL,0AH MOV AH,06H INT 21H
方法B
MOV DL,0AH MOV AH,06H INT 21H MOV DL,0DH MOV AH,06H INT 21H
记住以下ASCII值
退格:08H(即8) 空格:20H(即32) 换行:0AH(即10) 回车:0DH(即13) 0 :30H(即48) a :61H(即97) A :41H(即65)
程序流程图
开始
DX=A
DX=A+B BX=DX DX左移3位 BX左移1位
DX=BX+DX-500
结束
编写程序
DATA BUFA BUFB RESULT
SEGMENT DW ? DW ? DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: CODE
➢ 循环控制部分:判断循环条件满足与否,常用方法:计数控制、特 征值控制、地址边界控制等。
➢ 常用指令
[1].LOOP,LOOPZ/LOOPE,LOOPNZ/LOOPNE;
[2].各种跳转指令;
特别要注意循环入口和循环次数的正确设置、地址指针及循环控
制条件的修改等。否则会得不到期望的结果。
➢ 多重循环程序设计循环嵌套
INT 21H
不回显在屏幕上
2.键盘一次输入一个字符串的方法:
串地➢址例存如入(,DS在:D数X)据、调区用定参义数的为字10送符A缓H冲区如下:
MOV MOV MOV MOV MOV
DABADDAXuHSX,f,,,TfASAO0eEXfArGf,Hsc/eSASBo/tBEuu设TCufnGRf置BftTMfueILeNIr/frENE/fGT/设e/NN/r/置BTB/2uu/1存ffBHDffDuD功入eefBBBrrf能字是的er参符存段的33?数串放地偏22 为的输址移D0最入U存地APH大字入址(长符D存S?度串入)并的DX存缓入冲B区uffer的首字节;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

start
;end assembly
16
5.2 分支程序设计 5.2.1 分支程序的结构形式
Y
处理1
条件满足?
N
处理2 处理1
判断条件
处理2

处理n
IF_THEN_ELSE结构
CASE结构
17
5.2.2 分支结构设计方法

一般利用条件转移指令来产生。
(1)单条件,测试某次运算结果(P88) A、ZF,0或相等:JZ(JE)、JNZ(JNE) B、SF,符号:JS、JNS C、OF,溢出:JO、JNO D、PF,奇偶位:JP、JNP E、CF,进位:JB(<)、JNAE(≯=)或JC JNB(≮)、JAE(≥)或JNC
;main part of prognam main proc far assume cs:prgnam,ds:datarea ;starting execution address start: ;set up stack for return ;save old data segment push ds ;put zero in AX sub ax,ax ;save it on stack push ax ;set ds register to current data segment ;datarea segment addr mov ax,datarea ;into DS register mov ds,ax
(COUNT1)
Y (COUNT1) -1
Y 结束
N
(COUNT1)=0?
14
以下为程序的实现:
Datarea n a Datarea segment EQU 20 dw n dup(?) ends ;define data segment
Prognam segment ;
;define code segment

5
开始
初始化循环记数值
BX循环左移一个数位 把最右边的数位转换为ASCⅡ 是 ASCⅡ A~F? Y 加上7 显示一个字符 N Y N
记数值-1 =0?
结束
返回例题
6
下面是以BIN2HEX.ASM为文件名建立的源文件
prognam main segment ;define code segment proc far assume cs:prognam ;starting execution addr ;save old data segment ;put zero in AX ;save zero on stack
1 8 16 84 32 5
2 16 84 32 8 5
3 84 32 16 8 5
13
程序的结构框图如图所示
(COUNT1)
N -1
(COUNT2) I
(COUNT1) 0 Y
开始
AI ≥ AI+1 ? N AI AI+1
I=I+1
(COUNT2) (COUNT2) -1
N
(COUNT2)=0?
2
循环程序设计过程

框图:
次数:4
初值
取一个十六进数
显示
循 环 体
循环 控制
3
次数-1 =0?
结束
取一个十六进制数
1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0

BX
B
5
7
4 B 5
5 7 4 B
7 4 B 5
4 B 5 7
B 5 7 4
7 4
4
显示十六进数字符
利用DOS功能调用(#2功能):DL←ASCII码 十六进数字符:0┅9,A┅F. ASCII码:30H┅39H,41H┅46H 算法:1,十六进数+30H 2,>39H? 3,YES 再加07H NO 不操作 4,结束
;the following instruction delete an element from the list as follows: ;(1) if the element lies at the end of the list, delete it by decreasing ; the element count by 1.
start: ;set up stack for return push ds xor ax,ax push ax :main part of prognam mov ch,4 rotate: mov cl,4 rol bx,cl mov al,bl and al,0fh add al,30h cmp al,3ah jl printit add al,7h
;number of digits ;set count to 4 bit ;left digit to right ; move to AL ;mask off left digit ;convert hex to ASCⅡ ;is it >9? ;jump if digit=0 to 9 ;digit is A to F
;set count1 ;to n-1 ;save count1 in di ;clear bx ;load a(i) into ax and compare ;with a(i+1) ;swap if ;a(i)<a(i+1) and store greater ;number ;increment index ;if not the end of a pass,repeat ;restore count1 for the either loop ;if not the final pass,repeat ;return to dos ;end of main part of prognam ;end of code segment
;if(CX)=0,delete last ele ;move one ele up in list
;point to next ele ;repeat untill all ele moved ;decrease ele count by 1 ;exit ;end of main part of prog
11
;(2)otherwise, delete the element by moving all subsequent elements up by one position. delete: next_el:
dec_cnt:
exit: del_ul
jcxz dec_cnt mov bx,es:[di] mov es:[di-2],bx add di,2 loop next_el pop di dec word ptr es:[di] ret endp
思路: 1、因为已排序,采用折半查找法以提高查找效率。 2、先取中间元素,如果相等则查找成功;如果比中间元素 大,则再取高半部的中间元素进行比较;如果比中间元素小 ,则再取低半部的中间元素进行比较。 3、重复2过程直到查找成功或最终未找到该数为止。 4、顺序查找法平均N/2次,折半法平均比较次数为log2N
7
printit: mov dl,al mov ah,2 int 21h dec ch jnz rotate ret main endp prognam ends end start
;put ASCⅡ char in DL ;display output function ;call DOS ;done 4 digits? ;not yet ;return to DOS ;end of main part of prog ;end of segment ;end of assembly
15
mov dec mov loop1: mov mov loop2: cmp jge xchg mov continue: add loop mov loop ret endp main Prognam ends end
cx,n cx di,cx bx,0 ax,a[bx] ax,a[bx+2] continue ax,a[bx+2] a[bx],ax bx,2 loop2 cx,di loop1
Back
12
多重循环程序设计

例 5.7 有一个首地址为A的N字数组,请编制一
程序使该数组中的 数按从大到小的次序排序。
我们采用冒泡排序算法从第一个字开始依次对相邻两个数进 行比较,如次序对则不做任何调整;如次序不对则这两个数交换 位置。下表表明了这种算法的例子:
序号 1 2 3 4 5 数 8 5 16 84 32 比较遍数
第五章 循环与分支程序设计
编制一个汇编语言程序的步骤如下:
1)分析题意,确定算法。 2)根据算法画出程序框图。 3)根据框图编写程序。 4)上机调试程序。
5.1 循环程序设计
循环程序可由以下三部分组成:
1)设置循环的初始状态:循环次数、指针设置、 初值。 2)循环体。 3)循环控制:修改指针、改变次数、判断条件。
B、SF∧OF=0:JNL(≮)、JGE(≥)
C、(SF∧OF)∨ZF =1:JLE(≤)、JNG(≯)
D、(SF∧OF)∨ZF =0:JNLE(≮=)、JG(>)
20
(4)测试CX或ECX的值为0转移指令(P91)
A、(CX)=0:JCXZ
B、(ECX)=0:JECXZ
21

例5.9:在附加段中,有一个按从小到大排列的无 符号数数组,其首地址放在DI寄存器中,数组中 的第一个单元存放着数组长度。在AX中有一个无 符号数,要求在数组中查找(AX),如找到,则使 CF=0,并在SI中给出该元素在数组中的偏移地址; 如未找到,则使CF=1。
18
(2)根据无符号数比较结果进行转移(P89)
相关文档
最新文档