第5章 汇编语言程序设计
第5章习题解答

第5章汇编语言程序设计习题参考答案1.(1) BUFF DB 240 DUP(?)(2) xx DB “BYTE”,”WORD”2.:0000H,则内存分配如下:V AR1V AR2V AR3V AR4V AR53.(1) 段的类型:段的类型有4种,分别是代码段、数据段、堆栈段和附加段。
(2) 段的定义:定义段使用伪指令SEGMENT/ENDS来定义的。
即:段名SEGMENT [定位类型] [组合类型] […类别‟]……段名ENDS(3) 选项的作用和含义:定位类型:告诉汇编程序如何确定逻辑段的边界在存储器的位置,共有4种。
①BYTE:表示逻辑段从字节的边界开始,即本段的起始地址紧接前一段。
②WORD:表示逻辑段从字的边界开始,即本段的起始地址必须是偶数。
③PARA:表示逻辑段从节的边界开始,即本段的起始地址后4位为0。
④PAGE:表示逻辑段从节的边界开始,即本段的起始地址后8位为0。
组合类型:告诉汇编程序当装入存储器时各个逻辑段如何进行组合,共有6种。
①不组合:如果缺省,则不组合。
② PUBLIC:对于不同逻辑段只要有相同段名就把他们集中成一段装入内存。
③ STACK:同PUBLIC相同,但仅限于堆栈段。
④ COMMON:对于不同逻辑段若有相同的段名,则都从同一地址装入。
⑤ MENORY:表示在几个逻辑段连接时,本段定位在地址最高的地方。
⑥ AT 表达式:表示以表达式的值来定位段地址。
‘类别’:在连接时决定各逻辑段的装入顺序。
4. 假设程序中有4个不同类型的段,则名为initprogram宏指令的宏定义如下:initprogram MACRO csname,dsname,esname,ssnameASSUME CS:csname,DS:dsname,ES:esname,SS:ssnameSTART: MOV AX,dsnameMOV DS,AXMOV AX,esnameMOV ES,AXMOV AX,ssnameMOV SS,AXENDM5.假设需传送的数据块为字节数据块,则名为Datastranaction宏指令的宏定义如下:Datastranaction MACRO buffer1,buffer2,lengthLEA SI,buffer1LEA DI,buffer2MOV CX,lengthCLDREP MOVSBENDM6.有效地指令为:(2)、(5)、(9)无效的指令为:(1) 数据类型不一致(3) 两个操作数不能同时为存储器操作数(4) CS不能作为目的操作数(6) 不能用两个变址寄存器作有效地址分量(7) 一个操作数不能是两个变量名的表达式(8) 基址和变址只能相加不能相减(10) 目的操作数不能是立即数(11) 在有效地址中不能减基址或变址严格地说:(9)也不对,因为没有指出存储器的数据类型,即操作数类型不明确。
大学计算机基础第5章

时期 阶段
任务
文档
需求分析 系统的目标及应完成的工作 需求规格说明书
开发
总体设计 软件设计
详细设计 软件编码 编写程序代码
总体设计说明书 详细设计说明书 程序、数据注释
黑盒测试、白盒测试、单元 测试后的软件、
软件测试 测试、集成测试、确认测试、大纲、方案与结
系统测试
果
运行 软件维护 运行和维护
维护后的软件
1)软件生命周期模型:是描述软件开发过程 中各种活动如何执行的模型。 2)常见的软件生命周期模型有:瀑布模型、 增量模型、螺旋模型、喷泉模型、变换模型及 基于知识的模型等。
上图是软件生存周期的瀑布模型。
5、软件工具与软件开发环境
软件工具:就是帮助开发软件的软件。 软件开发环境(或称软件工程环境):是全面支 持软件开发全过程的软件工具的集合,这些软 件工具按照一定的方法和模式组合起来,共同 支持软件生命周期内的各个阶段和各项任务的 完成。
结构化方法的软件开发过程
软件计划后 结构化分析
结构化设计
编码并测试 结构化程序设计
面向对象方法的软件开发过程
软件计划后 面向对象分析
面向对象设计
软件测试 面向对象编程
1、结构化分析方法
1)结构化分析(简称SA)方法是面向数据流 进行需求分析的方法。该方法使用简单易读 的符号,运用抽象的概念模型,根据软件内 部数据传递、变换的关系,自顶向下逐层分 解,描绘出满足功能要求的软件模型
DFD图的数据流可分为两种类型:变换流和事务流 变换流:信息沿着输入通路进入系统,同时将信息的外
部形式转换成内部形式,通过变换中心处理之 后,再沿着输出通路转换成外部形式输出 事务流:信息沿着输入通路到达一个事务中心,事务中 心根据输入信息的类型在若干个动作序列中选 择一个来执行,这种信息流称为事务流
汇编语言程序设计_第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。
第5章 指令与指令系统和汇编语言程序设计(2)

运行过程中,可以直接看到屏幕上显示的内容,运行过后,再用D 20F0命令看内存的20F0区域中保存的运行结果,6个大写的英文字母 已经被修改为小写字母: 0061 0062 0063 0064 0065 0066
汇编语言程序设计
1 将寄存器R2和R3的内容相加,结果存入R0。 2 将寄存器R2和R3的内容相加,如果有进位,寄存器R0的内 容置1,否则置0 3 若R1的内容是负数则置R0为-1,否则置0(提示:用TEST) 4 检测R3的是奇数,R0的内容置为1,否则置为0。(提示: 用移位检测C的方法来测量一位) 5 将内存中1000H起始的10个单元的内容取出加2送入原地址。 6 已知内存中1000H起始的10个单元中的数是ASC码,将其取 出送显示。 7 将键盘录入的数存到内存1000H单元中。 8 将键盘录入的10个数存到内存1000H-1009H。
有寄存器寻址,寄存器间接寻址等7种。
从表5.1中可以看出, (A组) INC DR 单操作数(DR的内容加1) (B组) LDRR DR,[SR] 双操作数 (DR [SR])
(4)从指令的功能区分
有运算、读写内存类指令,输入输出指令,转移 指令,子程序调用指令,置进位标志指令等。
从表5.1中可以看出, (A组) ADD DR ,SR 加运算 (B组) LDRR DR,[SR] 读写内存
41 42 43 44 45 46
A 2080
MVRD R3, 0006 ;指定被读数据的个数
MVRD R2, 20F0 ;指定被读、写数据内存区首地址
(2084) LDRR R0, [R2]
;读内存中的一个字符到R0寄存器
CALA 2100 ;调用子程序(入口地址为2100),完成显示、
第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个机器周期。
微机原理与汇编语言实用教程_第5章_运算程序设计及应用举例

/webnew/
第5章 运算程序设计及应用举例 章
5.1.4 除法指令 1.无符号数除法指令DIV (Unsigned Divide Instruction) 指令格式:DIV SRC (AX) (SRC) (AX)/(SRC)商、AH AH (AX) (AX)/ 功能:如果SRC是字节操作数,则把AX中的无符号数除以SRC,得到8位 的商送AL中,8位的余数送AH中,即:AL AL 8 AH AL (SRC)余数。 如果SRC是字操作数,则把DX和AX中的无符号数除以SRC,得到16位的 商送AX中,16位的余数送DX中,即:AX (DX,AX)/(SRC)余数。 指令对标志位的影响无定义。 (DX,AX)/(SRC)商、DX
IMUL指令除了运算对象是有符号数之外,其它都与MUL指令一样,但计算结果 不同。如果乘积的高半部分有符号扩展,则CF=OF=0,否则CF=OF=1。 例5.8 有符号数0B4H与11H相乘。 MOV AL,0B4H MOV BL,11H IMUL BL ;(AL)=0B4H=-76D ;(BL)=11H=17D ;AX)=(AL)×(BL)=(-76)×17=-1292D=0FAF4H ;CF=OF=1
/webnew/
第5章 运算程序设计及应用举例 章
例5.4 DATA SUB1 SUB2 SUB3 DATA 双精度数带借位减法运算。 SEGMENT DW 7788H,5566H DW 3344H,1122H DW 0,0 ENDS … MOV AX,SUB1 SUB AX,SUB2 MOV SUB3,AX MOV AX,SUB1+2 SBB AX,SUB2+2 MOV SUB3+2,AX …
/webnew/
第5章 运算程序设计及应用举例 章
微机原理第五章 程序设计-dsh

INT
COSEG
21H
ENDS END START
第三节 分支程序
计算机可根据不同条件进行逻辑判断,从而选择不同 的程序流向。程序的流向是由 CS和 IP决定的,当程序 的转移仅在同一段内进行时,只需修改偏移地址 IP的 值;如果程序的转移是在不同的段之间进行,则段基 址 CS和偏移地址 IP均需要修改。 转移指令分为无条件转移指令和条件转移指令。 在进行分支程序设计时,首先要根据处理的问题用比 较、测试的方式,或者用算术运算、逻辑运算使标志 寄存器产生相应的标志位,根据转移条件选择转移指 令。
INC INC DEC JNZ
BX BX CX LOP ; ;控制部分
修改部分
MOV YY,AX MOV AH,4CH INT CODE ENDS 21H
END
START
一.循环的基本结构
1.先执行,后判断结构
流程图如右:
入口
初始化部分
循环体
修改部分
N
循环 结束? Y 出口
例2. 编程统计数据块中正数的个数,
Y
RS END (DX)
DATA
SEGMENT
D1
COUNT RS DATA CODE
DB,-1,-3,5,7,-9,·,-6 · ·
EQU DW ENDS SEGMENT ASSUME CS:CODE,DS:DATA $-D1 ?
START:
MOV
AX,DATA
MOV
MOV MOV MOV
DS,AX
JMP JUS2
BIGD: JG JUS1 ;x>0转移 ;x=0
MOV AL, 0
JMP
JUS1: JUS2:
JUS2
第五章_汇编语言程序设计基础

§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除外)还要由数据传送令在 执行程序时赋值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
格式:<符号> DATA <变量值> 功能:定义符号变量值(内部RAM)
ONE DATA 30H (数据或地址) TWO DATA ONE+1
4.2.1 简单程序设计
Ø 特点: 从第一条指令开始依次执行每一条指令,直到程 序执行完毕,中间没有转移指令,没有分支。 入口 只有一个入口一个出口。
1、判零
CJNE R0,#0,NZERO
MOV A,R0 JZ ZERO CLR C MOV A,R0 SUBB A,#0 JZ ZERO
DO1: JC positive …… ;negative
Positive:….
∴0FFH~80H negative 00H~7FH positive
其它方法?
用cjne实现三分支
• 格式:<标号:> DB <项或项表> • 功能:把项或项表的数值存入从标号开始的
连续单元,其中项或项表可以是一个字节、数 或以引号括起来的字符串。 ‘ ’
Dat:
ORG 1000H DB 11h,-1,’A’,’BCD’ END 补码 1000H 程序存储器 11H FFH 41H 42H 43H 44H
定义位伪指令
• 格式:<符号> BIT <位地址> • 功能:定义位变量地址
U V W X Y Z Q BIT 20H.0 ;U为位变量,其地址为20H单元的最低位 BIT 20H.1 BIT 20H.2 BIT P1.0 BIT P2.4 BIT P3.2 BIT TCON.2
赋值伪指令
• 格式:<符号> EQU <变量值> • 功能:定义符号变量值
流程图图例
• 起止框 • 处理框 • 判断框 • 连线
开 始 结 束
XX+1 Y Y-1
F>5?
Y N
程序设计步骤流程图
4.1.3
伪指令
• 定义:仅向汇编程序发出的,并仅由汇编程序在汇
编过程中识别和执行的一种汇编控制命令,它本身在 目标程序中不产生机器码。(指示性指令)
• • • • • •
…
…
入口
A=?
0AH
0BH
0CH
0DH
语句组1
AAA
语句组2
BBB
语句组3
CCC
语句组4
DDD
4.2.3 循环程序设计
• 循环程序结构 • 循环程序通常有两种编制方法 • 循环问题的类型 • 循环程序设计举例
循环程序结构
• 循环初始化: 循环控制变量的初始化、 数据变量的初始化 • 循环工作部分:循环主体,重复执行的部分 • 循环控制部分:循环变量的修改、终止控制 • 循环结束:这部分程序用于存放执行循环程 序所得结果以及恢复各单元的初值。
y=
1 x 0 1 x 0 0 x0
判零
(R0)x (R1)y
开始
x=0?
Y
N
x<0?
Y
N
y0
y-1 y+1
结束
cjne R0,#0,MP1 mov R1,#0 判正负 sjmp MP3 MP1:mov A,R0 jnb ACC.7,MP2 mov R1,#0FFh sjmp MP3 分支间 MP2:mov R1,#01h 隔离 MP3:sjmp $ end
用条件转移语句实现二分支
根据不同 的条件,执行不 同的程序段。 JZ 、 JNZ 、 JC 、 JNC 、 JB 、 JNB、CJNE 、 DJNZ
入口
条件
No
Yes
语句组1
语句组2
正确合理地运用
出口
用cjne实现三分支
编程要点: cjne ≠不等于则: jc 或 jnc > 大于 ≥? < 小于 = 等于 ORG 0000H Cjne R3,#15,NEQ sjmp L1 NEQ: jnC L1 sjmp L2 L1: nop …… L2: ;=15 ;>15 ;<15 ;≥15
4.1.4
汇编可分成两种: 人工汇编
汇编语言源程序的汇编
人工查指令机器码表
ቤተ መጻሕፍቲ ባይዱ汇编
汇编语言源程序
机器汇编
机器语言目标程序 机器语言目标程序
汇编语言源程序
汇编
汇编程序
机器汇编是用机器自动把汇编语言源程序翻译成可以运行的目 标代码程序,即二进制程序的过程,它是一种用机器来代替人脑的 汇编,完成这一汇编过程的软件称为“汇编程序”。
程序中可以有多 条ORG语句, 但定义的起始地 址既不要交叉, 也不要重叠。
必须从小地址向 大地址分配程序 所占空间。
汇编结束伪指令
• 格式: END • 功能:停止汇编 • 示例:ORG 0000H
ljmp 0100H ORG 0100H mov A,#5Ah sjmp $ END
Start:
定义字节伪指令
算法1 DIV 100 得百位,再DIV 10 的十位和个位
算法2 DIV 10 的个位,再DIV 10 的十位和百位 存储 8位无符号二进制数占一个单元 个位、十位和百位各占一个单元
结束
4.2.2 分支程序设计
•用条件转移语句实现二分支
•用cjne实现三分支
•例4-6 多分支
•用 jmp @A+DPTR 实现多分支
汇编起始伪指令:ORG 汇编结束伪指令:END 定义字节伪指令:DB 定义字伪指令: DW 定义位伪指令: BIT 赋值伪指令: EQU DATA
汇编起始伪指令
• 格式: ORG <起始地址> • 功能:指定汇编源程序编译成机器语言程序
的起始地址
– 例如: ORG 0000H LJMP 0100H ORG 0100H Start: MOV A,#5AH SJMP $ END
[例4-6] ONE和TWO单元中的两个带符号数比较大小,将较大者 存入MAX单元中。两数相等则任一个存入MAX即可。
若X-Y为正,则OV=0,X>Y ORG 1000H ONE DATA 30H OV=1,X<Y TWO DATA 31H 若X-Y为负,则OV=0,X<Y MAX DATA 32H OV=1,X>Y CLR C MOV A ,ONE SUBB A ,TWO JZ XMAX JB ACC.7 , NEG JB OV , YMAX SJMP XMAX NEG:JB OV , XMAX YMAX:MOV A ,TWO SJMP RMAX XMAX:MOV A , ONE RMAX:MOV MAX , A SJMP $ END
一、分清可执行指令和非执行指令及其功能 二、将高级语言程序设计方法迁移到汇编语言程序设计中来 三、特别注意汇编语言是面向机器的, 要记住 CPU的资源;
存储器结构与寻址方式;
I/O口、定时/计数器、中断系统等关键的参数; 寄存器间接寻址中指针的选择和使用技巧。 四、从宏观上看,MCS-51汇编语言程序的整体结构 从微观上看,微机中各组成部分是如何通过程序联系起来。
4.2.1 简单程序设计
4.2.2 分支程序设计
4.2.3 循环程序设计
4.2.4 查表程序设计
4.2.5 散转程序设 4.2.6 子程序设计 4.2.7 运算程序设计
4.1.1
• 机器语言
汇编语言与机器语言
– 计算机唯一能够识别和执行的语言,面向机器,二进制。
• 汇编语言
– “符号语言”,用指令助记符代表机器语言指令,面向机 器。 – 要经过汇编。
1、[例4-3] 两位压缩的BCD码转换成相应的ASCII码 算法1 ANL 拆字、ORL #30H 算法2 DIV 拆字、 ORL #30H 拼字 拼字
语句1 语句2 …… 语句n 出口
存储
两位BCD数指压缩的BCD码占一个单元
相应的ASCII码占二个单元
2、[例4-4] 将8位无符号二进制数转换成三位BCD码
电气与电子工程学院
本章重点
教学目标: 本章内容是软件编程的关键,地位重要。 程序结构(顺序、分支、循环、子程序); 应用实例;
熟练掌握程序设计的思路方法和技巧;
要求掌握典型算法;
找到分析问题和解决问题的着眼点;
学会抓住不同问题的规律性;
举一反三,独立思考,有创意,有新意,独到。
汇编语言程序设计的要点:
低级语言适合开发实时控制程序
• 高级语言
– 面向算法、过程、对象,类似自然语言,可移植性好,须 经解释或翻译后才能被执行。
4.1.2
指令格式:
标号段 :
LABEL
汇编语言的格式
操作数段
OPRAND
操作码段
OPCODE
;注释段
COMMENT
•伪指令格式: –名字 或 定义符 参数,…,参数;注释 ;注释
–[标号:]定义符 项表
LOOP: MOV A,@R0 1. 标号段 标号段位于语句的开头,指明标号所在指令的 …… 首地址,标号又称为标号地址或符号地址,是一个 DJNZ R2,LOOP 可选项,只有需要时才设置。 • 绝对不允许把指令的保留字、寄存器号及伪指 令字符作为语句的标号; • 标号在同一程序单位中只能出现一次。 2、 操作码段 • 操作码段可以是可执行指令的助记符,操作码 段用于指示计算机进行何种操作,因此,是任何一 条语句中的必选项,汇编语言根据这一字段生成目 标代码。 • 操作码段也可以是伪指令的助记符,对汇编程 序下命令,在汇编时起作用。
用 jmp @A+DPTR 实现多分支
KeyB5: mov DPTR,#JMPTBL clr C subb A,#0Ah RL A JMP @A+DPTR JMPTBL: ajmp AAA ajmp BBB ajmp CCC CCC: ajmp DDD … AAA: … … DDD: BBB: … … 键入 10,转AAA 11,转BBB 12, 转CCC 13, 转DDD 键入值放于A中