第4章汇编语言程序设计.

合集下载

汇编语言程序设计

汇编语言程序设计

汇编语⾔程序设计第4章汇编语⾔程序设计§4.1 汇编语⾔的模式⼀、汇编语⾔源程序的⼀般模式[Name 模块名][Title 标题][定义宏][定义数据段][定义附加段][定义堆栈段]定义代码段源程序结束中括号括起的部分可以省略,可见在⼀个汇编语⾔源程序中必须要定义代码段,并且必须有源程序结束指令。

⼆、8086汇编语⾔程序的⼀个例⼦Pg90。

§4.2 语句⾏的构成汇编语⾔中的语句⼀般分为两种类型:指令性语句和指⽰性语句。

指令性语句的格式为:[标号:] 助记符 [操作数1[,操作数2]] [;注释]指⽰性语句的格式为:[名称] 助记符 [参数1,参数2,……] [;注释]标号和名称都是编程⼈员根据需要和⼀定的规则任意取的。

也可以认为汇编语⾔的语句⾏是由标记和分隔符(空格)构成。

⼀、标记1.IBM宏汇编的字符集(1)字母(2)数字符(3)特殊字符2.界符⽤于定界⼀个标记的结束或⼀个标记的开始,本⾝具有⼀定的意义。

3.常量出现在汇编语⾔源程序中的固定值称为常量。

(1)数值常量①⼆进制:以字母B结束。

②⼗进制:以字母D或⽆字母结束。

③⼋进制:以字母Q(或O)结束。

④⼗六进制:以字母H结束。

(2)字符常量指⽤单引号或双引号引起的字符或字符串。

4.标识符由程序员⾃⼰建⽴的字符序列(标号或名称)。

⼀个标识符不能超过31个字符,不能以数字开头。

5.保留字汇编语⾔中具有特殊意义的字符序列。

6.注释⼀⾏中分号以后的部分。

⽤于对⼀段或⼀⾏程序进⾏说明,便于阅读和理解。

⼆、符号具有⼀定意义的字符序列。

1.寄存器名2.变量段属性、偏移属性、类型属性3.标号段属性、偏移属性、类型属性4.常数5.其它三、表达式由操作数和运算符组合⽽成的序列。

1.操作数(1)⽴即数(2)寄存器操作数(3)存储器操作数2.运算符(1)算术运算符+、-、*、/、MOD(求余)(2)逻辑运算符AND、OR、NOT、XOR(3)关系运算符EQ、NE、LT、LE、GT、GE结果为“假”时,返回0,结果为“真”时,返回⼆进制全1。

汇编语言程序设计

汇编语言程序设计

第4章 汇编语言程序设计
例4.4 显示两位压缩BCD码值(00~99) ,要求不显示前导0。 本例一方面要排除前导0的情况,另一方面 对于全0情况又必须显示一个0,所以形 成了两个双分支结构的程序。
第4章 汇编语言程序设计 DATA SEGMENT BCD DB 04H ; 给出一个BCD码数据 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA BEGIN: MOV AX, DATA MOV DS, AX MOV DL,BCD ;取BCD码 TEST DL,0FFH ;如果这个BCD码是0,则显示为0 JZ ZERO TEST DL,0F0H ;如果这个BCD码高位是0,不显示 JZ ONE MOV CL,4 ;BCD码高位右移为低位 SHR DL,CL OR DL,30H ;转换为ASCII码 MOV AH,2 ;显示 INT 21H
第4章 汇编语言程序设计 ADC MOV MOV MUL ADD DX,0 W+4,DX AX,A B+2 W+2,AX ;部分积2的高16位与进位相加 ;结果保存到从W+4开始的内存单元 ;取被乘数的低16位 ;与乘数的高16位相乘,得到部分积3 ;部分积3的低16位与W+2开始的内存单元相加 ;结果保存在从W+2开始的内存单元 ;部分积3的高16位与W+4开始的内存单元及 ;进位相加,结果保存在从W+4开始的内存单元 ;把进位值保存在从W+6开始的内存单元 ;取被乘数的高16位 ;与乘数的高16位相乘,得到部分积4 ;部分积4的低16位与W+4开始的内存单元相加 ;结果保存在从W+4开始的内存单元 ;部分积4的高16位与W+6开始的内存单元及 ;进位相加,结果保存在从W+6开始的内存单元

第四章 汇编语言程序设计

第四章 汇编语言程序设计

一、算术运算符
包括:+,-,*,/(取商),MOD(取余),SHL,SHR 特点:①运算对象及结果均为整数 ②地址只能加减 例: DA1 DA2 MOV MOV MOV MOV DB 1,2,3,4 DB 20 AX,30*5 汇编时 AL,31MOD5 AL,31/5 AL,DA2-DA1
MOV MOV MOV MOV
如:加法:1001、1D、2B……
特点:计算机能够直接识别,执行速度快;
但不方便记忆和编程
2、汇编语言(Assembly Language) 用助记符来表示指令,如:加法:ADD…… 特点:机器不能识别,需翻译;但仍然面向硬件, 执行速度较快;多用于编制系统程序、实时控制和通 信程序。 3、高级语言(High-level Language) 用数学语言和自然语言编程; 如:加法:+,输出:Printf… 特点:编程方便简单,无需了解机器硬件;但机器 不能识别,需要庞大的翻译系统,速度较慢。
类型 返回值 1 2 4 类型 返回值 -1 [FFH] -2 [FEH] DB DW DD
变量
标号
NEAR FAR
数值返回运算符(续)
LENGTH:
•对于一般变量,返回1; •对于DUP定义的变量,返回单元数(直接返回第一
个DUP前的N值); 说明:DUP为复制操作符,格式:N DUP(表达式); N表示复制次数,表达式为复制内容 例:2 DUP(1,2) 等价于 1,2,1,2
则:COUNT的值为5
COUNT表示:DA1,DA2占的字节总数(长度之和) 七、优先级(P136 表4-3)
4.3 伪指令语句
在汇编时进行处理,主要完成变量定义,段定义,
段分配,指示程序开始和结束等功能。

第4章 汇编语言程序设计

第4章  汇编语言程序设计

因此, 因此,对例子中的存储器地址作如下运 算: SUM+2 CYCLE-5 NOT_DONE-GO 是有效的表达式。 是有效的表达式。而 SUM-CYCLE
(2)逻辑运算符 逻辑运算符是按位操作的AND、OR、 、 逻辑运算符是按位操作的 、 XOR和NOT。 和 。 1010 1010 1010 1010B AND 1100 1100 1100 1100B=1000 1000 1000 1000B 1100 1100 1100 1100B OR 1111 0000 1111 0000B=1111 1100 1111 1100B NOT 1111 1111 1111 1111B=0000 0000 0000 0000B
ASSUME CS:MY_CODE, ;规定 和DS 规定CS和 : 的内容 DS:MY_DATA : PORT_VA1 EQU 3 ;端口的符号名 GO: MOV AX, MY_DATA ;DS : 初始化为MY_DATA 初始化为 MOV DS, AX MOV SUM, 0 ;清SUM单元 单元
变量可以具有以下几种寻址方式: 变量可以具有以下几种寻址方式: ① 直接寻址 ② 基址寻址 变址(索引) ③ 变址(索引)寻址 ④ 基址变址寻址
2.运算符(Operators) .运算符( ) 算术运算符( Operators) ① 算术运算符(Arithmetic Operators) 逻辑运算符( Operators) ② 逻辑运算符(Logical Operators) 关系运算符( Operators) ③ 关系运算符(Relational Operators) 分析运算符( Operators) ④ 分析运算符(Analytic Operators) 合成运算符( Operators) ⑤ 合成运算符(Synthetic Operators)

第4章 汇编 语言程序设计

第4章  汇编 语言程序设计
14
汇编时,遇到“ 就停止“翻译” 因此, 汇编时,遇到“;” 就停止“翻译”。因此,注释字 段不会产生机器代码。 段不会产生机器代码。 4.1.3 伪指令 在汇编语言源程序中应有向汇编程序发出的指示信息, 在汇编语言源程序中应有向汇编程序发出的指示信息, 向汇编程序发出的指示信息 告诉它如何完成汇编工作,这是通过伪指令来实现。 伪指令来实现 告诉它如何完成汇编工作,这是通过伪指令来实现。 伪指令不属于指令系统中的汇编语言指令,它是程序员 伪指令不属于指令系统中的汇编语言指令, 发给汇编程序的命令,也称为汇编程序控制命令。 发给汇编程序的命令,也称为汇编程序控制命令。 命令 汇编程序控制命令 只有在汇编前的源程序中才有伪指令。 “伪”体现在 只有在汇编前的源程序中才有伪指令。 汇编后,伪指令没有相应的机器代码产生。 汇编后,伪指令没有相应的机器代码产生。 没有相应的机器代码产生 伪指令具有控制汇编程序的输入/输出、 伪指令具有控制汇编程序的输入/输出、定义数据和符 号、条件汇编、分配存储空间等功能。 条件汇编、分配存储空间等功能。
6
经过十几年努力,C51已成为单片机的实用高级编程语言。 经过十几年努力,C51已成为单片机的实用高级编程语言。 已成为单片机的实用高级编程语言 尽管目前已有不少设计人员使用C51来进行程序开发, 尽管目前已有不少设计人员使用C51来进行程序开发,但在 C51来进行程序开发 对程序的空间和时间要求较高的场合,汇编语言仍必不可少 程序的空间和时间要求较高的场合, 空间 要求较高的场合 。 在这种场合下,可使用C语言和汇编语言混合编程。 在这种场合下,可使用C语言和汇编语言混合编程。在很多 需要直接控制硬件且对实时性要求较高的场合,则更是非用 需要直接控制硬件且对实时性要求较高的场合, 汇编语言不可。 汇编语言不可。 掌握汇编语言并能进行程序设计, 掌握汇编语言并能进行程序设计,是学习和掌握单片机程 序设计的基本功之一。 序设计的基本功之一。 基本功之一 4.1.2 汇编语言语句和格式

第四章-汇编语言程序的设计

第四章-汇编语言程序的设计

第四章汇编语言程序设计本章的汇编语言程序设计的主要容有:汇编语言程序设计概述、汇编语言程序的结构形式、汇编语言的伪指令。

(一个单片机应用系统和其它计算机系统一样,在完成一项具体工作的时候,它要按照一定的次序,去执行操作,这些操作实际上就是由设计人员,以单片机能够接受的指令编制的程序,那么无论计算机也好,单片机也好,实际上编制程序的过程,就是用计算机来反映设计者的编程思想,那么这一章中,我们将向大家介绍怎样使用单片机指令系统来编制一些应用程序。

在介绍之前,我们还是来学习汇编语言的一些基础知识)4.1 汇编语言程序设计概述1、计算机的汇编语言以助记符表示的指令,每一条指令就是汇编语言的一条语句。

(汇编语言程序设计实际上就是使用汇编指令来编写计算机程序。

汇编语言的语句有严格的格式要求)2、汇编语言的语句格式MCS-51汇编语言的语句格式表示如下:[<标号>]: <操作码> [<操作数>]; [<注释>]标号:指令的符号地址,有了标号,程序中的其它语句才能访问该语句。

①标号是由1~8个ASCII字符组成,但头一个字符必须是字母,其余字符可以是字母、数字或其它特定字符。

②不能使用汇编语言已经定义了的符号作为标号,如指令助记符、伪指令记忆符以及寄存器的符号名称等。

(同一个标号在程序中只能定义一次,不能重复定义;一条语句可以有标号,也可以没有标号,所以是否有标号,取决于程序中是否需要访问该语句。

)操作码:规定语句执行的操作容,操作码是以指令助记符表示的,是汇编指令格式中唯一不能空缺的部分。

操作数:给指令的操作提供数据或地址。

注释:是对语句或程序段的解释说明。

(在单片机中,这四个部分怎么加以区分呢?使用分界符)分界符(分隔符):用于把语句格式中的各部分隔开,以便于编译程序区分不同的指令段。

冒号(:)用于标号之后空格()用于操作码和操作数之间逗号(,)用于操作数之间,分割两个以上的操作数分号(;)用于注释之前。

第4章 单片机汇编语言程序设计

第4章  单片机汇编语言程序设计

RO 20HBCMDH BCDL
SWAP A ORL A, #30H MOV 21H, A SJMP $
;BCDH数送A的低4位 21 0011
;完成转换 @R0 ;存数
H22HB0C001D0HBCD 01000L
END
回目录 上页 下页
方法1小结:
以上程序用了8条指令,15个内存字节,执行时间为9个 机器周期。
21 0011BCDH H22H0011BCDL
回目录 上页 下页
程序:
ORG 1000H
MOV R0, #22H ;R0 22H MOV @R0,#0 ; 22H 0 MOV A, 20H ;两个BCD数送A
A
B00C01D01H0BB0CC0D0DHL
XCHD A, @R0 ;BCDL数送22H ORL 22H, #30H ;完成转换
例4-7:设30H单元存放的是一元二次方程ax2+bx+c = 0
根的判别式△= b2 – 4ac的值。
试根据30H单元的值,编写程序,
判断方程根的三种情况。
在31H中存放“0”代表无实根,
存放“1”代表有相同的实根,
存放“2”代表两个不同的实根。
解:△为有符号数,有三种情况,这是一多重分支程序
即小于零,等于零、大于零。
R3
R2
回目录 上页 下页
程序:
ORG 1000H CLR C CLR A SUBB A, R0 MOV R2, A CLR A
SUBB A, R1 MOV R3 , A SJMP $ END
;CY 0
;A 0
;低字节求补
;送R2
;A清零 R3 0000
;高字节求补 0000

单片机第4章汇编语言程序设计

单片机第4章汇编语言程序设计
将汇编语言程序汇编成目标程序后,还要进行 调试,排除程序中的错误。只有通过上机调试并得 出正确结果的程序,才能认为是正确的程序。
4.2 伪指令
伪指令是在机器汇编中告诉汇编程序 如何汇编、对汇编过程进行控制的命令。 伪指令与汇编语言指令不同,只在源程序 中出现,不产生任何机器代码,在程序的 运行过程中不起作用,故称为“伪指令”。
处理 判断 连接
2.绘制程序流程图 简单的问题可由文字说明, 当问题复杂时,将文字说明的步骤以图形符号表示, 称流程图。
3.编写源程序 用汇编语言把流程图所表明的 步骤描述出来,实现流程图中每一框内的要求,从 而编制出一个有序的指令流,即汇编语言源程序。
4.汇编、调试 汇编语言是用指令助记符代替机 器码的编程语言,所编写的程序是不能在计算机上 直接执行的,因此利用它所编写的汇编语言程序必 须转换为单片机能执行的机器码形式的目标程序才 能运行,我们把这一过程称为汇编,进行汇编的程 序称为汇编程序。
4. 定义字伪指令DW
[标号:] DW 16位字数据表
该指令的功能与DB相似, 区别仅在于从指定地
址开始存放的是指令中的16位数据, 而不是字节串。
每个16位数据要占两个存储单元, 高8 位先存(低位
地址), 低 8 位后存(高位地址)。
1403H 3CH
ORG 1400H DATA1:DW 324AH,3CH
散转程序是分支程序的一种, 它可根据运算结果或输入数 据将程序转入不同的分支。MCS - 51 指令系统中有一条跳转指 令JMP@A+DPTR,用它可以很容易地实现散转功能。该指令 把累加器的8位无符号数与16位数据指针的内容相加, 并把相加 的结果装入程序计数器PC,控制程序转向目标地址去执行。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章习题集一、判断 (正确的在括号画“√” , 错误的画“×”1. 汇编语言程序语言必须由四部分组成。

(2. 汇编语言源程序中所使用的变量,必须在代码段中先定义,后引用。

(错3. 在汇编语言中,一般伪指令语句放在代码段中 (错4. 逻辑操作符 AND 、 OR 、 XOR 或 NOT ,只能用于数字表达式。

( 错5. 符号定义语句不占内存单元,变量定义语句占内存单元。

(6. 汇编语言源程序中至少有一个代码段。

( 对7. 伪指令是指示性语句 , 不产生机器目标代码。

( √8. 伪指令BV AR :DB ‘ ABCD ’ , 200 DUP(?是合法伪指令。

9. 伪指令 DAT1 DB 7, 8, 9, 10 与 DA T1 DW 07H, 08H , 09H , 0AH 所预置的数据是一样的。

10. 8086CPU 的中断向量表共占有 1024个字节 (00000H -003FFH , 所以共有1024个中断。

[ ]二、单项选择题1. 用高级语言编写的程序(C 。

A 、只能在基本种计算机上运行B 、无需经过编译或解释,即可被计算机直接执行C 、具有通用性和可移植性D 、几乎不占用内存空间2. 一般地,我们将计算机指令的集合称为(B 。

A . 机器语言 B. 汇编语言 C. 模拟语言 D. 仿真语言3. 我们通常所说的“裸机”指的是(C 。

A. 只装备有操作系统的计算机B. 不带输入输出设备的计算机C. 未装备任何软件的计算机D. 计算机主机暴露在外4. 计算机的软件系统一般分为(C 两大部分。

A. 系统软件和应用软件B. 操作系统和计算机语言C. 程序和数据D. DOS 和 Windows5. 计算机系统软件中的汇编程序是一种 ( C 。

A. 汇编语言程序B. 编辑程序C. 翻译程序D. 将高级语言转换成汇编程序的程序6. 假设 V1和 V2是用 DW 定义的变量,下列指令中正确的是:AA. MOV V1,20HB. MOV V1, V2C. MOV AL,V1D. MOV 2000H , V27. PC 机所使用的标准键盘向主机发送的代码是 AA . ASCII 码B . 扫描码 C. BCD 码 D. 格雷码8. 8086CPU 中断号为 8的中断矢量存放在(C 。

A. 0FFFFH :0008HB. 0000H :0008HC. 0000H :0020HD. 0020H :0000H9. 已知变量 VAR 为字型,则 TYPE VAR=(B 。

A 、 1B 、 2C 、 3D 、 410. 交换寄存器 SI 、 DI 的内容,正确的程序段是(AC 。

A 、 PUSH SIB 、 PUSH SIPUSH DI PUSH DIPOP SI POP DIPOP DI POP SIC 、 MOV AX , SID 、 MOV AX , SIMOV SI , AX MOV BX , DIMOV DI , AX XCHG BX , AX11. 段定义语句以 ( B 语句结束。

A.ENDB.ENDSC.ENDPD.ENDM 12. 若主程序段中数据段名为 DA TA ,对数据段的初始化操作应为A. MOV AX, DATAB. MOV AX, DA TAMOV ES, AX MOV DS, AXC. PUSH DSD. MOV DS, DATA13. .EXE 文件产生在A. 汇编B. 编辑C. 用软件转换D. 连接14. 定义双字变量的定义符是。

A. DWB. DQC. DDD. DT15. 下列存储器操作数的跨段前缀可省略的是。

A. DS:[BP]B. SS:[BP]C. ES:[BX]D. ES:[SI]16. 执行下列指令:STR1 DW ‘AB’STR2 DB 16 DUP(?CONT EQU $-STR1MOV CX,CONTMOV AX,STR1HLT后寄存器 CL 的值是 c 。

A. 0FHB. 0EHC. 12HD. 10H17. 与 MOV BX, OFFSET VAR指令完全等效的指令是 ( D。

A. MOV BX, VARB. LDS BX, VARC. LES BX, VARD. LEA BX, VAR18. 在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是( D。

A 、 WORD B 、 PAGE C 、 BYTE D 、 PARA19. BUF DW 10H DUP(3 DUP(2, 10H , 3, 5上述语句汇编后,为变量 BUF 分配的存储单元字节数是 (160? 。

A 、 80HB 、 100HC 、 124D 、 19220. 在汇编语言程序的开发过程中使用宏功能的顺序是 (C 。

A 、宏定义,宏调用B 、宏定义,宏展开C 、宏定义,宏调用,宏展开D 、宏定义,宏展开,宏调用21. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是 ( B。

A 、名字项B 、操作项C 、操作数项D 、注释项22. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有 ( D 。

A 、 CMPB 、 SUBC 、 AND D 、 MOV23. 为使 CX=-1时,转至 MINUS 而编制了一指令序列,其中错误的序列是 ( D。

A 、 INC CX JZ MINUSB 、 SUB CX, OFFFFH JZ MINUSC 、 AND CX, OFFFFH JZ MINUS D 、 XOR CX, OFFFFH JZ MINUS24. 假设 V1和 V2是用 DW 定义的变量,下列指令中正确的是 ( A .A. MOV V1,20HB. MOV V1, V2C. MOV AL,V1D. MOV 2000H , V225. 假设 V AR 为变量,指令 MOV BX , OFFSET VAR 的寻址方式是 (C 。

A .直接寻址B .间接寻址C .立即寻址D .存储器寻址三 . 多项选择题(每题有多个正确答案,选出所有正确答案,多选、少选均不得分1. 8086指令的操作数可能有A. 0B. 1C. 2D. 32. 变量定义的伪指令助记符有:。

A. DBB. DWC. DDD. DFE. DQF. DT3. 主程序与子程序之间传递参数可通过A. 堆栈B. 存储器单元C. 通用寄存器D. 指令队列E. 其他4. 汇编语言源程序经 MASM 汇编后可直接生成的文件是。

A. .LSTB. .CRFC. .EXED. .OBJE. .ASMF. .MAP5. 过程(子程序调用的形式有(ABCD 。

A 、段内直接B 、段内间接C 、段间直接D 、段间间接四. 填空题8. 设当前的 SP=0FFFH,执行 PUSHF 指令后, SP=(0FFD H ,若改为执行 INT 20H 指令后,则 SP=(0FF9 H 。

2. 23. 当要求段的首地址只能被 16整除时,需选择的定位方式为。

2. 二进制编码的十进制数称为 BCD 码,它用BCD 码有和两种格式。

1. MOV AX , ((V AR LT 6 AND 40 OR ((V AR GE 6 AND 50 ,当 V AR ﹤ 6时, 汇编结果源操作数为。

2. 程序段 V AR1 DB ?V AR2 DW 20 DUP(58H , 2 DUP(?V AR3 DB‘ABCD’...MOV AX,TYPE V AR1MOV BX,TYPE V AR2MOV CX,LENGTH VAR2MOV DX,SIZE VAR2MOV SI,LENGTH VAR3, , 。

3. 段定义伪指令语句用语句表示开始,以语句表示结束。

4. ARRAY DW 10 DUP(5 DUP(4 DUP(20H , 40H , 60H 语句执行后共占字节存储单元。

5. 汇编语句中, 一个过程有 NEAR 和 FAR 两种属性。

NEAR 属性表示主程序和子程序内转移 , FAR 属性表示主程序和子程序段间转移。

6. DOS 系统功能号应放在寄存器中。

7. 子程序又称 ,它可以由8. 与指令 MOV BX , OFFSET BUF功能相同的指令是。

10. 设有伪指令 A DB 01H, 23H ,则执行指令B DW 2 DUP(0MOV AL, TYPE A后, (AL ;MOV BL, SIZE B后, (BL 。

.设有伪指令 A DB 01H, 23H ,则执行指令B DW 2 DUP(0MOV AL, TYPE A后, (AL ;MOV BL, SIZE B后, (BL 。

7. 根据下面的指令和伪指令序列, AX 寄存器的内容TAB DB 1, 2, 3, 4, 5, 6ENTRY EQU 3MOV BX , OFFSET TABADD BX , ENTRYMOV AX , WORD PTR [BX]8. 对于下面两个数据段,偏移地址为 10H 和 11H 的两个字节中的数据是一样的吗?为什么?DTSEG SEGMENT | DTSEG SEGMENTORG 10H | ORG 10HDATA1 DB 72H | DATA1 DW 7204HDB 04H | DTSEG ENDSDTSEG ENDS |( 。

12. 将下列文件类型填入空格:(1 .obj (2 .exe (3 .crf (4 .asm (5 .lst (6 .map 编辑程序输出的文件有( ;汇编程序输出的文件有( ;连接程序输出的文件有( 。

4. ORG 1000HX DB 12HY DW XZ DD Y(DS=3800H, (BX=1000H, (SI=0002H求下列指令执行完后指定寄存器的内容MOV AX, [1000H] ;MOV AX, [BX]; HMOV AX, [BX+SI]; HMOV AX, [Y+1];LDS SI,Y; H6. 数据段中有以下定义:ARRAY1 EQU 16HARRAY2 DW 16H请指出下面两条指令的寻址方式:MOV AX , ARRAY1;寻址方式:MOV AX , ARRAY2;寻址地址:8. 内存单元初始化内容为:(2000H :2A00H --(2000H :2A02H 分别为 0FH 、0EH 、 0DH , (2000H :2A10H --(2000H :2A12H 分别为 09H 、 08、 07H 。

执行下列程序后,请填写存储单元的内容:MOV AX , 2000HMOV DS , AXMOV ES , AXMOV SI , 2A10HMOV DI , 2A00HCLDMOV CX , 3L :MOV AL , [DI]MOVSBDEC SIMOV [SI], ALINC SILOOP LHLT(1 2000H :2A00H= 09H 。

相关文档
最新文档