微机原理与接口技术第3章_习题[1]PPT教学课件
微机原理与接口技术课件微机第三章ppt课件
15
8 7 6 5 43 210
1 0 0 0 1 0 D W MOD REG R/M
操作码
0:数据从寄存器传出 1:数据传至寄存器
2.立即数寻址指令的编码 3.包含段寄存器的指令的编码 4.段超越前缀指令的编码
3-3 8086的指令集
8086指令系统按功能可分为6大类型:
1、 数据传输类 2、 算术运算类 3、 逻辑运算和移位类 4、 串操作类 5、 控制转移类 6、 处理器控制类
一、数据传送指令
数据传送指令又可以分成4种:
l 通用数据传送 l累加器专用传送指令 l 目的地址传送 l 标志寄存器转送
指令的共同特点是:
1、除POP和SAHF指令外,这类指令的操作 结果不会影响FR寄存器中的标志。
2、指令中有两个操作数,目的操作数和源 操作数,其执行过程为:
目的操作数 源操作数,
在字符串运算指令中作源变址寄存器用 SI 在间接寻址中作变址寄存器用
在字符串运算指令中作目标变址寄存器用 DI 在间接寻址中作变址寄存器用
BP 在间接寻址中作基址指针用
SP 在堆栈操作中作堆栈指针用
隐含性质 不能隐含 隐含 隐含 隐含 隐含 不能隐含 隐含 隐含 不能隐含 隐含 不能隐含 隐含 不能隐含 隐含 不能隐含 不能隐含 隐含
例: MOV AX , [3E4CH] ;A1 4C 3E MOV [1234H] , AL ;A2 34 12
两个概念
段超越: MOV AX , [3E4CH] MOV AX , ES:[3E4CH]
符号地址: MOV AX , RESULT
如何区分RESULT是立即数还是符号地址?
如果 RESULT EQU 3E4CH; 立即数 MOV AX,RESULT
微机原理与接口技术第3章1PPT课件
12
二、半导体存储器的组成
①地址寄存存储储体地址译器芯片的存主储要体部分,用读写电来存储信数据寄息
AB②存地址译码 码电路
路
存 DB
根据输入的地址编码来选中芯片内某个特 定的存储单元控制电路
③ 片选和读Βιβλιοθήκη 控制逻辑选中存储芯O片E,W控E制CS读写操作
13
存储器需要刷新时间。
5
2、存取速度(续)
存取速度是指每秒从存储器读写信息的数量,用 BM表示,设W为存储器传送的数据宽度(位或字节), 则BM=W/TA,单位为位/秒或字节/秒。
6
三、存储器的分类
存储器
主存储器 外存储器
1、主存储器,简称主存,(也叫内存),可以被 CPU直接访问,以较快的速度进行读写操作,主要用 来存放计算机当前运行所需的程序和数据。
17
三、半导体存储器的读写操作(续)
存储器的写操作可以描述如下: (1)在CPU的控制下,将要访问的存储单元地址码送 地址寄存器中; (2)地址译码器将地址寄存器中的地址码译成相应行、 列信号,标定所访问的存储单元。 (3)在CPU的控制下,将CPU内某部件的内容送数据线 上。
(4)在CPU的统一控制下,由控制电路将写命令转换成 相应的读写电路的操作,将数据线上的信号传到指定单元, 完成存储器的写操作。
主存(内存) 辅存(外存)
8
一、半导体存储器的分类
按制造工艺
双极型:速度快、集成度低、功耗大 MOS型:速度慢、集成度高、功耗低
按使用属性
随机存取存储器RAM:可读可写、断电丢失 只读存储器ROM:正常只读、断电不丢失
详细分类,请看图示
9
《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理
惟一差别是80486又新定义了一个AC 标志位(即标志 寄存器的位18),也就是对准校验标志(Alignment Checkout Flag)。 若AC位为1时,80486就允许对没有对准的数据进行 对准检查,既可以是对字对准进行检查,也可以对双 字甚至四字的对准进行检查。若80486发现在进行存 储器操作时出现没有按边界对准情况,就发生数据访 问异常事故,并把这种异常事故编号为异常事故17。 若AC位为0则不检查。 如果对存储器进行读写操作时,使用的是一个未对准 的地址,80486就允许产生异常事故信号。若AC=1, 若出现了单字存储操作时使用的是奇地址,双字存储 操作使用的不是双字边界内地址,或者在进行四字(8 个字节)存储操作时使用的不是四字边界内地址,就 会出现数据访问不对准异常。
15
图3.4示出80486微处理机CPU的逻辑框图。 图中的Cache部件、8K• 节的统一Cache、 字 以及浮点部件FPU和EP寄存器组在以 80386为基础的系统内属于不同的独立芯 件,并不在80386 CPU芯片之内,而在 80486中这些部件变成了80486 CPU的一 个组成部分。 这两个新集成到80486 CPU内的部件,一 个是浮点部件FPU,它有效地提高了浮点 操作性能;另一个是指令和数据共用的高 速缓冲存储器Cache。
7
3.标志寄存器EFLAGS
80486的标志寄存器是一个32位寄存器,如图3.3所 示。它的作用是用来存放有关80486微处理机的状态 标志信息、控制标志信息以及系统标志信息。 80486的状态标志信息报告的是算术运算类指令在执 行完之后的机器状态。控制标志仅有一个即DF标志, 用来控制串操作过程中执行方向问题,即是给目标变 址寄存器EDI、源变址寄存器EDI、源变址寄存器 ESI 增值还是增负值(减值)问题。系统标志信息用来控 制输入/输出、屏幕中断、调试、任务转换和控制保 护模式与虚拟8086模式间的转换等操作。 对绝大多数系统来说,若通过应用程序改变系统标志 寄存器中的标志状态,都将引起一个异常事故出现。 拿80486的标志寄存器与 80386的标志寄器进行比较 后会发现,二者几乎完全一样。 8
微机原理与接口技术习题答案3讲解
第3章8086CPU指令系统1.写出完成下列要求的变量定义语句:(1)在变量var1中保存6个字变量:4512H,4512,-1,100/3,10H,65530;(2)在变量var2中保存字符串:’BYTE’, ’word’, ’WORD’;(3)在缓冲区buf1中留出100个字节的存储空间;(4)在缓冲区buf2中,保存5个字节的55H,再保存10个字节的240,并将这一过程重复7次;(5)在变量var3中保存缓冲区buf1的长度;(6)在变量pointer中保存变量var1和缓冲区buf1的偏移地址。
解:var1 DW 4512H,4512,-1,100/3,10H,65530var2 DB ’BYTE’,’word’,’WORD’buf1 DB 100 DUP(?)buf2 DB 7 DUP(5 DUP(55H),10 DUP(240))var3 DB LENGTH buf1pointer DW var1,buf1 (或者pointer D W OFFSET var1,OFFSET buf1)2.设变量var1的逻辑地址为0100:0000,画出下列语句定义的变量的存储分配图:var1 DB 12,-12,20/6,4 DUP(0,55H)var2 DB ‘Assemble’var3 DW ‘AB’, ‘cd’, ‘E’var4 DW var2var5 DD var2解:3.指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1, VAR2为字变量, L1为标号):(1)MOV SI,100 (2)MOV BX,VAR1[SI](3)MOV AX, [BX] (4)MOV AL, [DX](5)MOV BP, AL (6)MOV VAR1, VAR2(7)MOV CS, AX (8)MOV DS, 0100H(9)MOV [BX][SI], 1 (10)MOV AX, VAR1+VAR2(11)ADD AX, LENGTH VAR1 (12)OR BL, TYPE VAR2(13)SUB [DI], 78H (14)MOVS VAR1, VAR2(15)PUSH 100H (16)POP CS(17)XCHG AX, ES (18)MOV DS, CS(19)JMP L1+5 (20)DIV AX, 10(21)SHL BL, 2 (22)MOV AL, 15+23(23)MUL CX (24)XCHG CL, [SI](25)ADC CS:[0100], AH (26)SBB VAR1-5,154解:(1)MOV SI,100 正确。
微机原理与接口技术:08第3章 寻址方式和指令系统3.3 习题3
交通信息与控制工程系教案(理论教学用)课程名称微机原理与接口技术第 8 次第 4 周 2 学时上课教室WM1310 课程类型专业基础课授课对象自动化专业章节名称第三章寻址方式和指令系统(3.3)教学目的和要求1.掌握8086的基本指令,如逻辑运算和移位指令、串操作指令、程序控制指令等。
讲授主要内容及时间分配1.逻辑运算和移位指令;(35min)2.串操作指令;(20min)3.程序控制指令;(25min)4.处理器控制指令。
(10min)教学重点与难点重点:1.逻辑运算和移位指令的基本功能和格式;2.串操作指令的基本功能和格式;3.程序控制指令的基本功能和格式。
难点:逻辑运算和移位指令的基本功能和格式。
要求掌握知识点和分析方法1.逻辑运算和移位指令的格式、功能及应用方法;2.串操作指令的格式、功能及应用方法;3.程序控制指令的格式、功能及应用方法。
启发与提问1.逻辑移位和算术移位指令的区别?教学手段多媒体+板书作业布置思考题:1.远跳转和近跳转的区别?3.2, 3.53.9, 3.113.12, 3.14主要参考资料备注讲授内容三、逻辑运算和移位类1.逻辑运算逻辑运算指令对操作数的要求大多与MOV指令相同。
逻辑运算是按位操作的,它包括AND(与)、OR (或)、NOT(非)、XOR(异或)和TEST(测试)指令。
除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0,AF位无定义,SF、ZF和PF 根据运算结果设置。
“与”运算指令格式:AND OPRD1,OPRD2操作:两操作数相“与”,结果送目标地址。
【例】要屏蔽AL中的高4位。
AND AL,00001111B【例】AND AL,AL此指令执行前后,(AL)无变化,但执行后使标志位发生了变化,即CF=0,OF=0。
“或”运算指令格式:OR OPRD1,OPRD2操作:两操作数相“或”,结果送目标地址【例】(AL)=0FH,OR AL,10000000B(AL)=8FH【例】OR AL,AL指令执行前后,(AL)不变,但执行后标志位发生了变化,即CF=0,OF=0。
微机原理与接口技术第3章(指令部分)
例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
微机原理与接口技术——第三章.ppt
常数
出现在汇编源程序中的固定值,即其在运行期间不会变化 字符串常数 是由单引号括起来的一串字符。汇编程序把它们表示成一 个字符序列,一个字节对应一个字符,把引号内的字符翻 译成ASCII码 。 ’218’——32H,31H,38H
11
表达式
由操作数和运算符组合的序列,它在汇编时能产生一个值。 算术运算符 +、-、*、/、MOD
SIZE
DATA5
LENGTH DATA9
SIZE
DATA9
;结果为1000H ;结果为0001H ;结果为1 ;结果为1 ;结果为1 ;结果为3 ;结果为3
24
PTR 运算符
合成运算符PTR可以由已存在的存储器操作数声名一个段和 偏移量相同,而类型不同的新的存储器操作数,格式如下:
类型 PTR 表达式
0123H、0456H、0789H、0ABCH
CODE SEGMENT
程序4.1
ASSUME CS:完CO成D4E个数
MOV AX, 0123H
相加
ADD AX, 0456H
ADD AX, 0789H
ADD AX, 0ABCH
MOV AX, 4C00H
INT 21H
CODE ENDS
END
32
顺序程序设计
2
常数与表达式
3
标识符
4
数据定义
5
与数据相关的操作符
6
符号定义
9
常数
出现在汇编源程序中的固定值,即其在运行期间不会变化
数值常数
按其基数的不同,可以有二进制(B)、八进制(O)、十进 制(D)、十六进制数(H)等不同的表示形式
00101100B 1234D 1234 255O 56H 0BA12H
微机原理与接口技术-第3章-41
用来取代IP中的当前值。该寄存器或存储器单元可由数据寻址方式中
除立即数之外的任何一种方式得到。其示意如图3-14所示。
指令 数据寻址方式
寄存器
根据数据寻址方式 计算 EA 值
转移有效地址
或
IP
转移有效地址 取其中之一
存储器
图图3-41.144 段内间接寻址示意图
段内间接寻址的特点是CS的值不变,IP的值由16位寄存器或存储器
指令 寄存器
寄存器 EA
段寄存器 段地址
左移 4 位
+
存储器 操作数
图34-.66 寄存器间接寻址示意图
例如指令: MOV AX,[BX] 设(DS)=3000H,(BX)=3000H,执行后(AX)=2C7DH,操作示
意图如图3-7所示。 又如指令:MOV AX,ES:[SI];段寄存器为ES,数据在附加段中。
第3章 指令系统与汇编语言程序设计
3.1 概述 3.2 8086寻址方式 3.3 8086指令系统 3.4 汇编语言程序格式与常用伪指令 3.5 汇编语言程序设计 3.6 汇编语言程序上机过程
3.1 概述
3.1.1 指令与程序 3.1.2 汇编语言基本概念
3.1.1指令与程序
所谓指令,就是指示计算机进行某一工作的命令,而程序是为求 解某一问题或进行某项工作的若干条指令的有序集合。指令如图3-1 所示。一台计算机全部指令的集合称为指令系统。操作码域说明指令 的类型与功能,操作数域也称为地址域,说明数据在存储器中的地址 及操作结果存放的地址。
用二进制代码表示指令系统的语言称为机器语言,用以设计 的程序称为机器语言程序。例如以下两条指令可构成一段程序, 是把数据20H经寄存器CL,与累加器AL中的数相加,结果在AL 中。
微机原理与接口技术课件:第3章_3 加1指令INC(单操作数指令)
7
SUB/SBB对标志位(CF/OF/ZF/SF)的影响
CF=
1 0
被减数的最高有效位有向高位的借位
否则
OF= 1 两个操作数符号相反,而结果的符号与减数相同
0 否则
CF=1表示无符号数减法溢出。 OF=1表示带符号数减法溢出。
MOV AL,34H
MOV BL,25H
CBW
; AL的符号扩展到AH
DIV BL ; 0034H÷25H,结果为
; (AH)=0FH, (AL)=01H
19
5.BCD码运算的十进制调整指令
• 专用于对BCD码运算的结果进行调整 • 包括:DAA、AAA、DAS、AAS、AAM、AAD • 均为隐含寻址,隐含的操作数为AL和AH • 为何要对BCD码的运算结果进行调整?
•AAA指令应紧跟在ADD或ADC指令之后。
21
AAA指令的操作如下: 如果AL的低4位>9∨AF=1,则:
① AL←(AL)+6,(AH)←(AH)+1,AF←1 ② AL←((AL)∧0FH) ③ CF←AF
否则AL←(AL)∧0FH
22
调整原理:先看一个例子
计算8+9 0000 1000
见右式
10
比较指令在使用时,一般在其后紧跟一条条件 转移指令,判断比较结果的转向。 举例:比较AL、BL、CL中带符号数的大小,将
最小数放在AL中。 程序:
CMP AL,BL ;AL和BL比较 JNG BBB ;若AL≤BL,则转 XCHG AL,BL ;若AL>BL,则交换 BBB: CMP AL,CL ;AL和CL比较 JNG CCC ;若AL≤CL,则转 XCHG AL,CL ;若AL>CL,则交换 CCC: HLT
微机原理与接口技术习题与思考题(简)
微机原理与接口技术习题与思考题(简)《微机原理与接口技术》习题与思考题第1章习题一、填空题:1.计算机一般由、、、和五部分组成。
2.机器语言是。
3.汇编语言是。
4.高级语言是。
5.CPU的位数是指。
6.系统总线是指。
7.内总线是指。
8.外总线是指。
9.微型机与一般计算机的中央处理器的区别在于。
10.单片机是指。
11.单板机是指。
?二、选择题:1.完整的计算机系统应包括( )A.运算器、控制器、寄存器组、总线接口B.外设和主机C.主机和应用程序D.配套的硬件设备和软件系统2.计算机系统中的存储器系统是指( )A.RAMB.ROMC.主存储器D.内存和外存3.机器语言是指()A.用英语缩写词表示的面向机器的程序设计语言B.用二进制代码表示的程序设计语言C.用自然语汇表示的面向对象的程序设计语言D.用“0”或“1”表示的面向机器的程序设计语言4.汇编语言是指()A.用英语缩写词表示的面向机器的程序设计语言B.用二进制代码表示的面向机器的程序设计语言C.用自然语汇表示的面向对象的程序设计语言D.用助记符表示的程序设计语言5.高级语言是指()A.用英语缩写词表示的面向机器的程序设计语言B.用二进制代码表示的程序设计语言C.用自然语汇表示的面向对象的程序设计语言D.用英语缩写词表示的面向机器的程序设计语言三、问答题:1.试述微型机中字节、字、字长的含义。
2.微处理器应具有哪些基本功能?在内部结构上主要有哪些部件组成?3.微型计算机由哪些基本功能部件组成?各部件的功能是什么?画出其框图并加以说明。
4.何谓总线?何谓系统总线?系统总线通常由哪些传输线组成?各自的作用是什么?5.微型计算机中根据总线所处位置的不同,可分为哪几类总线?简述各类总线的含义。
6.计算机的发展经历了哪几个年代?7.微型计算机的发展经历了哪几个年代?第2章习题一、填空题:1.8086 CPU内部数据总线宽度为______位,外部数据总线宽度为______位。
微机原理与接口技术 第3章
虚拟空间(虚拟存储器地址空间):编程空间 虚拟存储器是一项硬件和软件结合的技术。 存储管理部件把主存(物理存储器)和辅存 (磁盘)看作是一个整体,即虚拟存储器。允许编 程空间为246=64T,程序员可在此地址范围内编 程,程序可大大超过物理空间。该空间对应的地 址称为虚拟地址或逻辑地址。运行时,操作系统 从虚拟空间取一部分程序载入物理存储器运行。 当程序运行需要调用的程序和要访问的数据不在 物理存储器时,操作系统再把那一部分调入物理 存储器.……数据的交换极快,程序察觉不到。
32位名称
EAX EBX ECX
8位名称 16位名称 AH AX AL BH BX BL CH CX CL
名称
累加器
基址变址 计数 数据 堆栈指针 基址指针 目的变址
EDX
ESP EBP EDI
DH DX DL
SP BP DI SI
IP
ESI
源变址
有IP、SP、BP、SI、DI共5个16位寄存器,主要作用是为寻址存 贮单元提供偏移地址。其中: • IP (Instruction Pointer)为指令指针,固定用来存放代码段中偏移 地址,在程序运行过程中,它始终指向顺序存放在存贮器中,将 要执行的指令地址(与CS联合确定下条指令的物理地址),控制器 取得这条指令后,IP令自动增加一定的值(该值等于已执行(已 取得)指令的字节数),以指向下一条将要执行的指令。
根据功能,8086的标志可以分为两类,一 类叫状态标志,另一类叫控制标志。状态标志 表示前面的操作执行后,算数逻辑部件处在怎 样一种状态,这种状态会像某种先决条件一样 影响后面的操作。控制标志是人为设置的,指 令系统中有专门的指令用于控制标志的设置和 清除,每个控制标志都对某一种特定的功能起 控制作用。状态标志位有六个,即SF、ZF、 PF、CF、AF和OF。
微机原理与接口技术第三章试题及答案
第三章3-1选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是(B)(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2.ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A)0003H (B)2000H (C)000BH (D)3000H3.执行PUSH ACC指令,MCS-51完成的操作是(A)(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(B)(C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=(D)(C)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的一位被置位(D)(A)(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区(B)(A)MOV PSW,#13H (B)MOV PSW,#18H(B)SETB PSW.4 CLR PSW.3 (d) SETB PSW.3 CLR PSW.47、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是(C)(D)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完左边的程序后,PC的值是(C)(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用(D)(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令3-2判断题。
4.MCS-51的相对转移指令最大负跳距是127B。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
25
P1: XCHG SI,DI
;
CALL MP
XCHG SI,DI
JMP AG
EXIT: MOV BYTE PTR[SI-1],'$'
MOV BYTE PTR[DI-1],'$'
MOV AH,9
MOV DX,OFFSET ABCD
INT 21H
MOV DX,OFFSET MNOPQ
MOV CH, 8 SHL CL,1 ADC AL,AL
DAA ADC AH,AH
DEC CH JNZ AG
;AX=0248H
7
3-4 编写程序,将字节变量 BVAR中的压缩BCD数转换为 二进制数,并存入原变量中。
2020/12/09
8
BVAR DB 99H
MOV AL, BVAR
MOV CL, 4
2.列举实例,说明该程序的功能 (键入什么?显示什么?)。
3.画出实例的数据存储图。
2020/12/09
23
IBUF ABCD
MNOP
DB 255,0,255 DUP(0) DB 0AH, ABCD: DB 255 DUP(0) DB 0AH,0DH,MNOP: DB 255 DUP(0)
MOV DX,OFFSET IBUF
2020/12/09
19
3-8 编写程序,将字节变量BVAR 中的二进制数(0~FFH)转换为 BCD数,在屏幕上以十进制数形式 显示结果。
2020/12/09
20
BVAR DB 99H OBUF DB 4 DUP(0)
MOV AL ,BVAR MOV AH, 0 MOV DL, 100 DIV DL ADD AL, 30H MOV OBUF, AL
2020/12/09
16
MOV AL, BYTE PTR W1 ADD AL, BYTE PTR W2 DAA MOV AH, AL MOV AL, BYTE PTR W1+1 ADC AL, BYTE PTR W2+1 DAA PUSHF MOV DI OFFSET OBF+5 2020/12/09 MOV BYTE PTR[DI], $ 17
SHR AL, CL
MOV AH, 10
MUL AH
AND BVAR, 0FH
ADD BVAR, AL
2020/12/09
9
本题还可以先将2位压缩BCD 数转换为非压缩BCD数,然后用
AAD 指令将非压缩BCD数转换为二进制 数。
实现转换的程序段如下:
2020/12/09
10
MOV AL, BVAR MOV AH, AL MOV CL, 4 SHR AH, CL AND AL, 0FH AAD MOV BVAR, AL
2020/12/09
21
MOV AL,AH
AAM
ADD AX,3030H
MOV OBUF+1,AH
MOV OBUF+2,AL
MOV OBUF+3,$
MOV DX,OFFSET OBUF
MOV AH,9
INT 21H
2020/12/09
22
3-30源程序如下,阅读后做如下 试题:
1.在分号后给指令或(向下)给 程序段加上注释(实质是做什么? 例如,第1个注释若注为将2送BX, 则视为非实质注释,不给分)。
MOV CL,4
XCHG AH,AL
AGAIN: MOV DL,0FH
AND DL,AL
ADD DL,30H
DEC DI
MOV [DI],DL
SHR AX,CL
AND AX,AX
2020/12/09
JNZ AGAIN
18
POPF JNC OPUT DEC DI MOV BYTE PTR[DI], 1 OPUT: MOV DX,DI MOV AH,9 INT 21H
AAM ;AX=0107H DL=04H
2020/12/09
3
3. MOV AX,0809H
ADD AL,AH
MOV AH,0
ቤተ መጻሕፍቲ ባይዱ;AX= 0011H
AAA
;AX= 0107H
2020/12/09
4
4. MOV AX,0809H
MOV DL,10
XCHG AH,DL
MUL AH
;AX= 005AH
AAM
2020/12/09
11
3-6 编写求两个4位非压缩BCD数 之和,将和送显示器显示的程序。
D1 D2 OBF
DD 06070809H DD 04050607H DB 6 DUP(0)
2020/12/09
12
MOV SI,0
MOV DI,OFFSET OBF+5
MOV BYTE PTR[DI],$
3-3写出执行下列程序段的中间 结果和结果
2020/12/09
1
1. MOV AX,0809H
MUL AH ;AX= 0048H
AAM
;AX= 0702H
2020/12/09
2
2. MOV AX,0809H
MOV DL,5
AAD
;AX= 0059H
DIV DL
;AX= 0411H
MOV DL,AH
2020/12/09
14
DEC DI MOV BYTE PTR[DI],1 NWW:MOV DX,DI MOV AH,9 INT 21H
2020/12/09
15
3-7 编写求两个4位压缩BCD数 之和,将和送显示器显示的程序。
W1 W2 OBF
DW 8931H DW 5678H DB 6 DUP(0)
;AX= 0900H
ADD AL,DL ;AX= 0908H
2020/12/09
5
5. MOV AL, 98H
MOV AH, AL
MOV CL, 4
SHR AH, CL
AND AL, 0FH
AAD
;AL= 62 H
2020/12/09
6
6. AG:
2020/12/09
MOV CL, 248 XOR AX,AX
MOV AH,10
INT 21H
2020/12/09
24
MOV BX,2
;
MOV SI,OFFSET ABCD+7
MOV DI,OFFSET MNOPQ+8
AG: CMP IBUF[BX-1],0DH ;
JE EXIT
CMP IBUF[BX],'-'
;
JNE P1
CALL MP
JMP AG
2020/12/09
MOV CX,4
XOR AH,AH
AGAIN: MOV AL, BYTE PTR D1[SI]
ADD AL, BYTE PTR D2[SI]
ADD AL,AH
MOV AH,0
2020/12/09
AAA
13
ADD AL,30H DEC DI MOV [DI],AL INC SI LOOP AGAIN AND AH,AH JZ NWW ;无万位,转移