汇编语言程序设计第5章
- 格式:ppt
- 大小:812.50 KB
- 文档页数:170


第五章汇编语言程序设计
5·1编程将片内40H一60H单元中内容送到以3000H为首的存特区中。
答:按题目要求编程如下:MOVRl,#40H
MOVR0,#20H
MOVDPTR,#3000H
LI:MOVA,@Rl
MOVX@DPTR,A
INCR1
INCDPTR
DJNZR0,Ll
5.2编写计算下列算式的程序。
①23H+45H+ABH+03H=
②CDH十l5H-38H-46H=
③1234H+8347H=
④ABl23H-43ADCH=
答:按题目要求编程如下:
①MOVA,#23HADDA,#45H
ADDA,#0ABH
XCHA,B;相加后有溢出处理
ADDCA,#00H
XCHA,B
ADDA,#3H;结果A中是低位,B中是高位
②MOVA,#0CDHADDA,#15H
SUBBA,#t38H
SUBBA,#46H
③MOVA,#34HADDA,#047H
MOV40H,A
MOVA,#12H
ADDCA,#83H
MOV4lH,A;结果40H中是低位,41H中是高位
④CLRCMOVA,#23H
SUBBA,#0DCH
MOV40H,A
MOVA,#0B1H
SUBBA,03AH
MOV41H,A
MOVA,#0AH
SUBBA,#04HMOV42H,A;结果40中是低位,42H中是高位
5·3编程计算片由RAM区5OH~57H八个单元中数的算术平均值,结果存放在5AH中。
答:在本题计算中要求8个单元的和小于255。按题目要求编程如下:MOVR0,#50H
MOVR1,#8
MOVA,#0
LI:ADDA,@R0
INCR0
DJNZR1,L1
MOVB,#8
DIVAB
MOV5AH,A
5·4编写计算下列的程序,设乘积和平方结果均小于255。a,b值分别存在300H和3002H单元中,结果存于片外3000H单元中。25,a=b
①Y=a*b,ab
(a+b)2+10,(a+b)2<10
②Y=(a+b)2,(a+b)2=10
(a+b)2-10,(a+b)2>10
答:按题目要求编程
模拟试题八
一. 选择题。(单项选择,30分)
1. 下面说法正确的是( )
A. 8086/8088为20位CPU。
B. 不同的逻辑段的段地址有可能相同。
C. 同一个逻辑段内所有单元的段地址相同,而偏移地址各不相同。
D. SP寄存器指示下一条要执行的指令的偏移地址。
2. 下列寄存器是16位的是( )。
A. IF B. SP C. EIP D. BL
3. 已知(AL)=41H,(AH)=5AH,CPU执行SUB AL,AH指令后,标志寄存器各位的值正确的是( )
A. SF=1,ZF=0,CF=1,OF=0
B. SF=0,ZF=0,CF=1,OF=0
C. SF=1,ZF=0,CF=0,OF=1
D. SF=0,ZF=1,CF=0,OF=1
4. 完成将CX寄存器清零,并且使进位标志CF置零,错误的指令是( )。
A. SUB CX,CX C. XOR CX,CX
B. MOV CX,0000H D. AND CX,0000H
5. 下面的数据传送指令中,错误的操作是( )。
A. MOV DS,AX C. XCHG BX,[BX]
B. MOV DX,[1000H] D. MOV [AX],1000H
6. 已知(AL)=88H。如果该数是一个有符号数,它的十进制值为X;如果它是一个压缩的BCD码,它的十进制值为Y,则( )
A. X=120,Y=-120 C. X=-120,Y=120
B. X=120,Y=-88 D. X=-120,Y=88
7. 宏ADD3定义如下:
ADD3 Macro A, B, C
ADD A,B
ADD A,C
ENDM
先要实现1+2+3,则下列代码正确的是:( )
《汇编语言程序设计》复习资料
一、基本概念
1、8088/8086CPU内部寄存器有__14____个
,其中的AX、BX、CX、DX是通用寄存器,SP、BP、DI、SI 是基址和变址寄存器,CS、DS、ES、SS、是段寄存器,此外还有指令指针寄存器 IP 和标志位寄存器 FLAGS 两个控制寄存器,所有寄存器都是 16 _位寄存器,每个寄存器可以存放 16 位二进制数。
2、8088/8086CPU的标志位寄存器中有9个标志位,其中的DF、IF、TF是控制标志,OF、SF、ZF、CF、AF、PF 是状态标志。
3、8088/8086CPU有三组总线,它们是 数据 总线 、 控制 总线和 地址 总线;地址总线是 20 条,因此它可以寻址的范围是 1M 字节。通常将 1024 字节称为1K,将 1024K 字节称为1M。
4、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有 64K 字节,全部存储空间可以分成 16 个大小为64K且互相不重叠的段。
5、采用分段方式管理的存储单元的地址分成 物理地址 和逻辑地址两种,逻辑地址由
段地址 和 偏移地址 两部分构成,段地址是每个存储器段的 起始地址 ;偏移地址则是相对于每个段第一个存储单元的 偏移值 。段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的 16 位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是__ 物理地址=段地址16D(或10H)+ 偏移地址___。
6、存储器中,数据是以 字节 为单位存放的,它是一个 8位 二进制数,16位二进制数是 2个字节 ,又称为 字 ;每个存储单元可以存放一个 字节 ;一个字则占用两个存储单元,存放时要将 低字节 放在地址较小的存储单元中。
第四章 汇编语言程序设计
4.1 程序设计语言
4.1.1 机器语言
以二进制代码形式表示指令和数据的语言.(机器码)
如 00111010 + 01011100 → 30H
其机器语言程序为 符号语言程序
二进制 十六进制
01110100 74H MOV A, #3AH
00111010 3AH
00100100 24H ADD A, #5CH
01011100 5CH
11110101 F5H MOV 30H, A
00110000 30H
计算机能够识别机器语言,并能够按设计好的逻辑执行这一串代码所规定的动作.但这种语言难懂、难记、易错和编程困难。
借助助记符形成符号语言,反映指令功能和主要特征,这样便于理解和记忆,这就形成汇编语言。
4.1.2 汇编语言
用符号来表示指令和地址的语言就称作符号语言,又称作汇编语言。这也是一种面向机器的语言。
1 汇编语言的符号
往往用人们容易辨认、阅读和记忆的字母符号。
(1)助记符:
指令系统,如加法 ADD,减法 SUB(TRACT),传送 MOV(E)
伪指令,这是汇编控制指令
(2)符号地址和标号:
用一些便于、记忆和理解的符号组,如 LOOP、NEXT
2 汇编
(1) 几个概念
*源程序: 用符号语言编写的程序。