编程第五章 汇编语言程序设计

第五章汇编语言程序设计一、选择题1.下列指令中,错误的指令条数为()MOV SI,OFFSET[BX+3] XCHG AH,ALMUL 10 IN AX,380HA.1 B.2 C.3 D.42.下面存储单元定义伪指令正确的是()A.BUF DW 99 B.BUF DB 25*60C.BUF DD ‘ABCD’ D.BUF DW ‘D’3.若BUFFER已定义为字变量,且BX=0,则下列4条指令中可相互替代的是()a.LEA SI,BUFFER b.MOV SI,OFFSET BUFFERc.LEA SI,[BX+BUFFER] d.MOV SI [BX+BUFFERA.a、d B.a、b、c C.a、b、c、d D.a、b4.下列几条伪指令经汇编后,变量COUNT的值为()。

START DB 10 DUP(10)DW 5 DUP(5)COUNT EQU $-STARTA.15 B.20 C.30 D.405.下面的两条伪指令汇编后,ND单元的值为()NC DB 2DUP(4,2DUP(4,2))ND DB $-NCA.1 B.2 C.10 D.12二、读简短程序题1. NUM DW ?NAME DW 10 DUP ( ? )CNT EQU 10LEN EQU $--NUMMOV AX, LEN运行程序后AX=( )2. TABLE DW 10, 20, 30, 40, 50, 60, 70, 80,ENTRY DW 6MOV BX, OFFSET TABLEADD BX, ENTRYMOV AX, BX程序执行后, AX=( )3. DAT1 DW ?,18 DUP(8)DAT2 DB 80,66,12,10,178,100,8DAT3 DD ?,?,16COUT1 EQU $-DAT2COUT2 EQU $-DAT1问COUT1、COUT2的值以及上述数据定义占用内存的大小()()()4.某数据段定义如下:DATA SEGMENT 设DATA的段地址是1000H,则X DW 32 DUP(?)M DD 32 DUP(?)变量Z的偏移地址是( )Y EQU 1234HZ DB 20H 物理地址是( )DATA ENDS5.执行下面的程序段后,寄存器AX的值是(),寄存器BX的值是()。

TABLE1 DD 1TABLE2 DW 20 DUP(?)MOV AX , 1MOV BX ,2ADD AX ,TYPE TABLE1ADD BX ,SIZE TABLE2三、读完整程序题1. DSEG SEGMENTBLOCK DB 51, 30,43,107, 89,90,200,197,70,64COUNT $-BLOCKRESULT DB 0DSEG ENDSCODE SEGMENTASSUME CS: CODE,DS: DSEG,SS:STACKMAIN: MOV AX, DSEGMOV DS, AXMOV SI, offset BLOCKMOV CX, COUNTCON: MOV AL, [ SI ]TEST AL, 01HJZ NEXTINC RESURTNEXT: INC SILOOP CONMOV AH, 4CHINT 21HCODE ENDSEND MAIN1)程序完成的操作是()2)程序执行后,RESULT 单元中的内容为()2. DADA SEGMENTBUF1 DB MMBUF2 DB ?DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATAMAIN: MOV AX , DATAMOV DS , AXMOV BX , OFFSET BUF1MOV DI , OFFSET BUF2MOV AH , [ BX ]TEST AH , 80HJZ NEXT1MOV AH , 0FFHJMP NEXT2NEXT1:MOV AH , 00HNEXT2:MOV [DI],AHMOV AH, 4CHINT 21HCODE ENDSEND MAIN设MM为一符号数,问:1)程序完成的操作是()2)当MM为80H时,程序执行后BUF2单元的内容为()3.阅读下列程序:DATA SEGMENTDA1 DB 2,-3,-4,-5,34,-4,0,3,4,24COUNT EQU $ -DAINUM DB?DATA ENDSCOSEG SEGMENTASSUME CS: CODE,DS: DATASTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET DA1MOV CX,COUNT-1XOR BL,BLEXCHG: MOV AL,[SI];XOR AL,[SI+1]TEST AL,80HJE NEXTINC BLNEXT: INC SILOOP EXCHGMOV NUM,BLCOSEG ENDSEND START回答以下问题:1)程序执行后, NUM单元中的内容为()2)指令MOV SI ,OFFSET DA1可用指令()替代。

4.阅读程序:DATA SEGMENTTABLE DB 60H,40H,50H,80H,30HCOUNT DB $_TABLEDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATAMAIN : MOV AX ,DATAMOV DS ,AXMOV CX ,COUNTMOV DX ,CXDEC DXLEA BX ,TABLELOP0: MOV SI ,00HMOV CX ,DXLOP1: MOV A L,[BX+SI]CMP AL ,[BX+SI+1]JBE NEXTXCHG AL,[BX+SI+1]MOV [BX+SI],ALNEXT: INC SILOOP LOP1DEC DXJNZ LOP0MOV AH, 4CHINT 21HCODE ENDSEND MAIN回答以下问题:1)该程序的功能是()2)程序运行结束时,TABLE+3单元的内容是()3)程序中DX寄存器的作用是()4)若将JBE NEXT改为JAE NEXT,则对程序的影响是()5.阅读程序DATA SEGMENTNUM DW 8088HRESULT DB?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMAIN: MOV AX ,DATAMOV DS ,AXMOV CX ,16MOV AX ,NUMLOP1: AND AX ,AXJZ DONESHL AX ,1JNC NEXTINC CHNEXT: DEC CLJNZ LOP1MOV RESULT,CHCODE ENDSEND MAIN回答以下问题:1)该程序的功能是()2)程序运行结束时,RESULT单元的内容是()3)指令AND AX,AX在程序中的作用是()6. 阅读下列程序:DATA SEGMENTDATA1 DB 9,-3,-4,-7H,34,-18,0,3,-6,21COUNT EQU $ -DATAIDATA ENDSCOSEG SEGMENTASSUME CS: CODE,DS: DATASTART: MOV AX ,DATAMOV DS ,AXMOV DI ,OFFSET DA1MOV CX ,COUNT-1XOR BX ,BXEXCHG: MOV AL ,[DI];XOR AL ,[DI+1]TEST AL ,80HJE NEXTINC BXNEXT: INC DILOOP EXCHGCOSEG ENDSEND START回答以下问题:1)该程序的功能是()2)程序运行结束时,BX寄存器中的内容是()7. DATA SEGMENTDA1 DB 95H,34H,6BHDA2 DB 05H,2EH,72HDA3 DB ?,?,?COUNT EQU 3DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX ,DATAMOV DS ,AXLEA DI ,DA1LEA SI ,DA2XOR AL ,ALMOV BX ,OFFSET DA3+2MOV CX ,COUNTMU1: MOV AL ,[DI+03H]ADC AL ,[SI+03H]MOV [BX],ALDEC DIDEC SIDEC BXLOOP MU1CODE ENDSEND STATR回答以下问题:1)该程序完成的操作是()2)程序运行结束后,DA3开始的三个单元中的内容为()8.已知下列程序段:DATA SEGMENTDB1 DB 12H,34H,0,56HDW1 DW 78H,90H,0AB46H,1234HADR1 DW DB1ADR2 DW DW1BUF DB 5 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARBEGIN:MOV AX ,DATAMOV DS ,AXXOR CX ,CXMOV CL ,3ADD ADR1,CXSUB ADR2,CXMOV BX ,ADR1MOV DI ,BXMOV SI ,ADR2MOV AL ,DB1[BX]MOV BUF [DI],ALMOV AX,DW1[BX][SI]MOV WORD PTR BUF,AXMOV AH,4CHINT 21HSTART ENDPCODE ENDSEND BEGIN上述程序运行结束后,BUF中各字节单元内容是什么?四、编程题1.在内存DATA1中,存放着10个带符号的8位二进制数,试编程求它们的最大值,最小值,以及它们存放的单元(即找出该数存放单元的地址)?2.试编制一程序,实现十个一位十进制数的累加,累加后以未组合形式存放在AH(高位)和AL(低位)中?3.试编制一程序,计算出从2开始的前50个质数。

4.设有100个学生的成绩存放在RECORD为首地址的字数组之中,试编写一个子程序统计60~69分,70~79分,80~89分,90~99分及100分的人数(假设学生的成绩都及格),分别存放到G6,G7,G8,G9和G10单元中。

合集下载

第5章 汇编语言程序设计20PPT课件

第5章 汇编语言程序设计20PPT课件
第5章 汇编语言程序设计
第5章 汇编语言程序设计
5.1 汇编语言的基本概念
汇编语言是一种采用助记符表示的程序设计语言, 即用助记符来表示指令的操作码和操作数,用标 号或符号代表地址、常量或变量。
汇编语言编写的程序能够直接利用硬件系统的特 性直接对位、字节、字寄存器或存储单元、I/O端 口进行处理,同时也能直接使用CPU指令系统提供 的各种寻址方式。
(小于)、GT(大于)、LE(小于等于)、GE (大于等于) (4)分析运算符:SEG、OFFSET、TYPE、SIZE和 LENGTH (5)合成运算符:PTR、THIS、SHORT
5.3 伪指令语句
5.3.1 数据定义伪指令 5.3.2 符号定义伪指令 5.3.3 段定义伪指令 5.3.4 模块定义与连接伪指令 5.3.5 处理器选择伪指令
汇编程序时最早也是最成熟的一种系统软件。 汇编程序的功能如下:
用汇编语言编 写的源程序
汇编程序
目标程序
5.2汇编语言源程序的格式
5.2.1 分段结构 5.2.2 汇编语言语句的类型和格式
5.2.1 分段结构
汇编语言源程序的结构是分段结构形式,一个汇 编语言源程序由若干段(SEGMENT)组成,每个段 以SEGMENT语句开始,以ENDS语句结束。整个源 程序的结尾是END语句。
5.3.1 数据定义伪指令
数据定义伪指令的用途是定义一个变量的类型, 给操作数赋值,或者仅给变量分配存储单元而不 赋予特定的值
数据定义伪指令的一般格式为:
[变量名] 作数……]
伪指令定义符
操作数[,操
数据定义伪指令定义符后面的操作数可以是 常数、表达式或字符串,但每项操作数的值不能 超过由伪指令定义符所定义的数据类型限定的范 围。

汇编语言程序设计_第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。

第05章汇编语言及程序设计ppt课件

第05章汇编语言及程序设计ppt课件

汇编语言 源程序
汇编
目标程序
汇编程序
一一对应
汇编语言的指令
机器语言的指令
汇编语言程序设计的特点:
➢ 汇编语言是面向机器的语言,CPU不同的机器有不同 的汇编语言
➢ 可以充分利用机器的硬件功能和结构特点
➢ 可有效地加快程序的执行速度,减少目标程序所占用 的存储空间
➢ 可以对输入/输出端口进行控制,实时性能好 ➢ 汇编语言程序移植性、通用性、可读性差
第 5 章 程序设计及汇编语言
内容安排
一. 程序设计步骤 二. 程序设计 三. 汇编语言及汇编程序 四. 汇编语言源程序格式及实例 五. 上机操作
§5.1 程序设计步骤
(1〕分析问题 (2〕建立数学模型 (3〕确定算法 (4〕绘制程序流程图 (5〕内存空间分配 (6〕编制程序与静态检查 (7〕程序调试〔实验)
[名字] DW <表达式或数据项表> 功能:表达式或项表中的每一项是一个/两个字
节数,他们从符号名地址开始按字节连续存放, 如:直D到1 表中DB数据12H项, 结12H束 12H
D1 DB 3 DUP (12H) MOV AX, D1
注意:① 表达式或数据项表多于一项时,项与项之间用 逗号“,”或空格分隔
MOV BL,0FFH ;将FFH送入BL寄存器
LOut: MOV AL,BL
OUT 73H,AL ;将结果的标志数据输出到 73H端口
HLT
;暂停
Lw10: MOV BL,00H
JMP LOut
L10to20: MOV BL,88H
JMP LOut
3. 循环程序
强制CPU重复执行某一指令系列〔程序段〕的一种程序 结构形式
组成:

汇编语言程序设计第5章

汇编语言程序设计第5章

6.整理文档
程序设计的结果包括两大部分,一是程序,二是文档。这 里讲的文档主要是包括各个设计阶段的规格说明书,以及用户 使用手册等。这是用户使用、维护程序的依据。 7.软件测试
测试是保证软件质量的重要手段,其主要方式是在设计测
试用例的基础上检验软件的各个组成部分。首先是进行单元测 试,查找各模块在功能和结构上存在的问题并加以纠正。其次 是进行组装测试,将已测试过的模块按一定顺序组装起来。最 后按规定的各项需求,逐项进行有效性测试,决定已开发的软 件是否合格,能否交付用户使用。
4.编码 这个阶段也称为程序编制或编程,主要是选择一种程序设
计语言,并用此语言具体地实现所设计的算法。
5.调试与排错
通过调试来排除程序中的错误,保证程序的正确。一般要作
静态检查和动态运行。静态检查包括人工检查和上机进行语法
检查;动态运行就是根据程序在工作中所有可能的情况,例如,
输入各种不同的初始数据,检查程序执行是否正确。
例5-1 若内存的数据段中,有缓冲区BUFFER,存取数据的
规则是先存储一个16位带符号的被除数,再存储一个16位带符
号的除数,接着存储商,最后存储余数。 DATA SEGMENT
BUFFER DW 812DH
DW 013CH DW ? DW ? DATA ENDS
;被除数
;除数 ;存商 ;存余数
STACK
JNC LABEL JO JNO JS LABEL LABEL LABEL
JNS LABEL
JP/JPE LABEL JNP/JPO LABEL
SF=0
PF=1 PF=0
为正时转移
结果为偶时转移 结果为奇时转移
(2) 根据两个无符号数比较结果来决定转移的条件转移指令

汇编语言程序设计ppt课件

汇编语言程序设计ppt课件

3.用注释行说明程序,便于阅读和修改调试和修改。
1
9
常用程序结构: 顺序程序、循环程序、分支程序、查表程序、子程
2. 顺序与循环程序设计
❖5.2.1 顺序程序设计(又称简单程序) 既无分支,又无循环,按照顺序执行 可完成一定的基本功能,是编写复杂程序的 基础
10
例1:将一个字节内的两个BCD码拆开并变成ASCII码, 存入两个RAM单元。BCD码放在内RAM的20H, 转换后高半字节放到21H,低字节放22H。
ROM
20H BCDH BCDL
SWAP A ORL A, #30H MOV 21H, A SJMP $
;BCDH数送A的低4位 21H 0011 BCDH ;完成转换 @R0 22H 000101 B0C0D0L0
;存数
END
12
回目录 上页 下页
5.2.2 循环程序
包含多次重复执行的程序段,循环结构使程序紧凑。
11
回目录 上页 下页
程序:
ORG 1000H
MOV R0, #22H ;R0 22H MOV @R0,#0 ; 22H 0 MOV A, 20H ;两个BCD数送A
A
B0C0D01H01 B0BCC0DD0LH0
XCHD A, @R0 ;BCDL数送22H ORL 22H, #30H ;完成转换
表示程序结构和程序功能
美国国家标准化协会ANSI(American National
Standard Institute)设定了一些常用的流程图符号如图所示:
开始
起止框

流程线
输入输出框 判断框
处理框
连接点 图:常用流程图符号
Y
?

第5章 汇编语言程序设计ppt课件

第5章  汇编语言程序设计ppt课件

;段分配
START:MOV AX,DATA MOV DS,AX MOV AL,BUF1 ADD AL,BUF2 MOV SUM,AL MOV AH,4CH INT 21H
CODE ENDS END START
;填装数据段寄存器DS ;取第一个加数 ;和第二个加数相加
代 码 段
;返回DOS状态 ;CODE段结束 ;整个源程序结束
第5章 汇编语言程序设计
5.1 汇编语言程序格式 5.2 常用伪指令 5.3 汇编语言的编写 5.4 DOS功能调用 5.5 汇编语言设计
最新课件
教学重点
本章介绍程序结构、伪指令、DOS功能调用。 重点:汇编语言程序的基本结构;
伪指令及其使用方法; DOS功能调用; 基本的汇编语言程序设计方法。 难点:DOS功能调用的应用 汇编语言程序的设计
算术运算符
运 算
逻辑运算符

及 关系运算符

达 式
分析运算符
综合运算符
+、—、*、/、MOD
与数学运算符的意义相同。
A取N模D是、取OR余、数N。OT、XOR E例运Q:算、82结NEM果、O是LD一T、1个6G常;T数、结.L果E、为G2 E 两个2表0H达M式O比D较7时; ,结表果达为式4表示 方法/性质要相同 关时SSEI系Z,GE成为、、立全OT,YF0PF结SE果ET为、全LE1;NG不T成H、立 例把T规等偏H如存定价移IS:储存于地、指单储址MP令元OT单RV地M元OB址的XV分,性B解0X质;,为3段2地EQ址4和5
作用:由编程者按照一定的规则来定义的一种较“宏 大”的指令,包括多条指令或伪指令 。
最新课件
例题1
SEGMENT
ENDS

第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个机器周期。

汇编语言程序设计 第五章 课件


(3)串搜索指令 SCAS
LEA DX,ASS MOV AH,10 INT 21H LEA DI,ASS+2 ;输入串首址→DI MOV CL,ASS+1 ;输入串长度→CX MOVZX CX,CL MOV AL,′A′ ;计数器清零 MOV BX,0 P: REPNE SCASB ;查找字符‛A” JE A ;查到字符‛A”转A处执行 ;全部查完转结束 JMP OUT1 ;所有判断完否 A: CMP CX,0 JE OUT1 ;全部查完转结束 CMP BYTE PTR [DI], ‘M’ ;判断‛A”后的字符为‛M”否 JNE B ;不是转B处执行 INC BX ;是‛AM”计数器加1 B: JMP P ;未完转P继续判断 OUT1:MOV AH,4CH ;返回操作系统 INT 21H CODE ENDS END START
(1)串操作指令MOVS、CMPS、SCAS的 使用格式及功能; (2)简单宏指令的定义与调用方式; (3)模块程序设计的方法。
第五章
程序设计的其它方法与技术 三、本章学习的难点:
(1)MOVS与MOV、CMPS与CMP功能上
的差别及串操作指令的正确使用方法; (2)宏指令的定义与调用方式; (3)模块之间的组合、定位及通信方式; (4)模块化程序设计技术。
(5)存储字节/字/双字指令 STOS
●格式: ●功能:
STOS
OPD 或
STOSB 往字节串中存数 STOSW 往字串中存数 STOSD 往双字串中存数
⑴ 字节操作:(AL)→ ES:[DI]/[EDI] 字操作: (AX)→ ES:[DI]/[EDI] 双字操作:(EAX)→ES:[DI]/[EDI] 即将AL(或AX、EAX)中的数据送入DI/EDI所指的目的串中的字节(或 字、双字)存储单元中。修改指针DI/EDI,使之指向串中的下一个元素。 ⑵ 修改串指针,使之指向下一元素,修改方式为: i.当DF=0时,(SI)/(ESI)增量1(字节操作)或2(字操作) 或 4(双字操作)。 ii.当DF=1时,(SI)/(ESI)减量1(字节操作)或2(字操作) 或 4(双字操作)。 说明:该指令执行后,并不影响标志位,因而它一般只带REP重复前缀, 用来将一片连续的存储字节(或字)单元臵相同的值。

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

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除外)还要由数据传送令在 执行程序时赋值。

《汇编语言程序设计》第5章基本汇编语言程序设计.ppt

汇编语言程序设计的基本步骤: 1.分析题意,确定数据结构和算法 2.根据算法绘制程序流程图 3.根据流程图编写程序 4.调试程序
5.1 汇编语言程序的设计步骤
汇编语言程序设计的基本步骤
例5.1 在100个字的无符号整数字中找出最 大数。
5.1 汇编语言程序的设计步骤
汇编语言程序设计的基本步骤
5.2 顺序结构的程序设计
(2)输出:在8086.8088指令系统中,字符的输出是由 DOS21H中断的02H子功能来实现的,命令序列如下: MOV AH,02H INT 21H 其作用是将寄存器DL中所存放的字符进行显示输出, 故在执行该命令序列之前,应先将被输出字符的ASCII 码存入DL中。
程序的基本结构
1.顺序结构 2.分支结构 3.循环结构
ห้องสมุดไป่ตู้
5.1 汇编语言程序的设计步骤
程序的基本结构 1.顺序结构
5.1 汇编语言程序的设计步骤
程序的基本结构 2.分支结构
5.1 汇编语言程序的设计步骤
程序的基本结构 3.循环结构
5.1 汇编语言程序的设计步骤
第5章基本汇编语言程序设计
1.分析题意,确定数据结构和算法 (1)初始化,建立一个数据指针指向数据区的首
地址; (2)将第一个数存入寄存器(如AX)中; (3)调整数据指针,使其指向下一个数; (4)将数据指针所指的数与寄存器AX的内容相比
较,如果该数较大,则将其存入AX,否则丢掉; (5)重复执行(3)、(4)两步,直至将数组中
分析:比较两数可用CMP指令,而带符号数的比 较结果可由标志位SF、OF来确定,选用的转移 指令应为JG、JL等。
第5章基本汇编语言程序设计
5.1 汇编语言程序的设计步骤 5.2 顺序结构的程序设计 5.3 分支结构的程序设计 5.4 循环结构的程序设计 5.5 子程序设计
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档