习题3-8086指令系统
微机原理及应用(陈继红、徐晨)课后习题答案
微机原理及应⽤(陈继红、徐晨)课后习题答案微机原理及应⽤(陈继红、徐晨)课后习题答案第三章8086/8088指令系统和寻址⽅式习题答案(部分)3.1总结计算机中⼗进制、⼆进制、⼋进制及⼗六进制数的书写形式。
123D、0AFH、77Q、1001110B分别表⽰什么计数制的数?答案:123D、0AFH、77Q、1001110B分别表⽰⼗进制、⼗六进制、⼋进制、⼆进制。
3.2字长为8位、16位⼆进制数的原码、补码表⽰的最⼤数和最⼩数分别是什么?答案:8位原码表⽰的最⼤数:(27-1)、8位补码表⽰的最⼤数:(27-1)、8位原码表⽰的最⼩数:-(27-1)、8位补码表⽰的最⼩数-27。
16最⼩数:-215。
3.3答案:7DH。
(2)255(3)7248H。
(4)509013E2H。
3.4答案:240D0F0H。
128D80H。
(3)11111111⼗进制数:255D;⼗六进制数:0FFH。
(4)01010101⼗进制数:85D;⼗六进制数:55H。
3.5把下列⽆符号⼗六进制数分别转换为⼗进制数和⼆进制数。
(1)FF(2)ABCD(3)123(4)FFFF答案:(1)FF⼗进制数:255D;⼆进制数;11111111B。
1010101111001101B。
(3)123⼗进制数:291D;⼆进制数;000100100011B。
(4)FFFF⼗进制数:65535D;⼆进制数;1111111111111111B。
3.6分别⽤8位⼆进制数和16位⼆进制数写出下列⼗进制数的原码和补码。
(1)16(2)-16(3)+0(4)-0(5)127(6)-128(7)121(8)-9 答案:(1)16800010000(2)-16800010000(3)+0800000000(4)-0800000000(5)127801111111(6)-128810000000(7)1218:01111001;16位⼆进制数原码:0000000001111001补码:0000000001111001。
汇编语言程序设计(第四版)【课后答案】
汇编语言程序设计第四版【课后习题答案】第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。
〔解答〕CPU:包括运算器、控制器和寄存器组。
运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。
存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。
外部设备:实现人机交换和机间的通信。
〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB。
〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。
辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。
RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。
存储器由大量存储单元组成。
为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。
KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。
〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。
〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
微机原理与接口技术: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。
微机原理和接口技术(第三版)课本习题答案解析
第二章 8086 体系结构与80x86CPU1.8086CPU 由哪两部份构成?它们的主要功能是什么?答:8086CPU 由两部份组成:指令执行部件<EU,Execution Unit>和总线接口部件<BIU,Bus Interface Unit>。
指令执行部件〔EU 主要由算术逻辑运算单元<ALU>、标志寄存器F R、通用寄存器组和E U 控制器等4个部件组成,其主要功能是执行指令。
总线接口部件<BIU>主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或者I/O 端口读取操作数参加E U 运算或者存放运算结果等。
2.8086CPU 预取指令队列有什么好处? 8086CPU 内部的并行操作体现在哪里?答: 8086CPU 的预取指令队列由6个字节组成,按照8086CPU 的设计要求, 指令执行部件〔EU 在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。
从速度上看,该指令队列是在C PU 内部,EU 从指令队列中获得指令的速度会远远超过直接从内存中读取指令。
8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。
5.简述8086 系统中物理地址的形成过程。
8086 系统中的物理地址最多有多少个?逻辑地址呢?答: 8086 系统中的物理地址是由20 根地址总线形成的。
8086 系统采用分段并附以地址偏移量办法形成20 位的物理地址。
采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部份构成,都是16 位二进制数。
通过一个20 位的地址加法器将这两个地址相加形成物理地址。
具体做法是16 位的段基址左移4位<相当于在段基址最低位后添4个"0">,然后与偏移地址相加获得物理地址。
课后习题三(第三、六、八、九章)
课后习题三(第三、六、八、九章)1、CPU是指( B )A. 控制器B. 运算器和控制器C. 运算器、控制器和主存D. 运算器、控制器、主存和I/O2、指令系统中采用不同寻址方式的目的主要是( B )A. 可降低指令译码难度B. 缩短指令字长、扩大寻址空间、提高编程灵活性C. 实现程序控制D. 提高指令执行速度3、零地址运算指令在指令格式中不给出操作数地址,它的操作数来源自( C )A. 立即数和栈顶B. 暂存器C. 栈顶或隐含约定的位置D. 存储器4、单地址指令中,为完成两个数的算术运算,除地址译码指明的一个操作数外,另一个数常采用( C )A. 堆栈寻址方式B. 立即寻址方式C. 隐含寻址方式D. 基址寻址方式5、二地址指令中,操作数的物理位置安排,描述正确的是( C )A. 两个主存单元(且依然在现指令系统中采用)B. 栈顶和次栈顶C. 主存单元或寄存器D. 两个同时为寄存器不允许使用6、操作数在寄存器中的寻址方式称为( C )寻址A. 直接B. 立即C. 寄存器直接D. 寄存器间接7、寄存器间接寻址方式中,操作数在( C )A. 通用寄存器B. 堆栈C. 主存单元D. I/O外设中8、变址寻址方式中,操作数的有效地址是( C )A. 基址寄存器内容加上形式地址B. 程序计数器内容加上形式地址C. 变址寄存器内容加上形式地址D. 形式地址本身9、采用基址寻址可扩大寻址范围,且( B )A. 基址寄存器内容由用户确定,在程序执行过程中一般不可变B. 基址寄存器内容由操作系统确定,在程序执行过程中一般不可变C. 基址寄存器内容由用户确定,在程序执行过程中可随意变化D. 基址寄存器内容由操作系统确定,在程序执行过程可随意变化10、变址寻址和基址寻址的有效地址形成方式类似,但是( C )A. 变址寄存器内容在程序执行过程中是不可变的B. 在程序执行过程中,变址寄存器和基址寄存器的内容可以随意变化C. 在程序执行过程中,变址寄存器的内容可随意变化D. 以上均不对11、堆栈寻址中,设A为累加器,SP为栈顶指针,[SP]为其指向的栈顶单元,如果进栈的动作顺序是(SP)-1→SP,(A)→[SP],那么出栈的动作顺序是( A )A. [SP] →(A),(SP)+1→SPB. (SP)+1→SP,[SP] →(A)C. (SP)-1→SP,[SP] →(A)D. [SP] →(A),(SP)-1→SP12、设变址寄存器为X,形式地址为D,某机具有先变址再主存间址的寻址方式,则这种寻址方式的有效地址为( C )A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)D. EA=((X))+D13、设变址寄存器为X,形式地址为D,某机具有先主存间址再变址的寻址方式,则这种寻址方式的有效地址为( B )A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)D. EA=((X))+D14、运算型指令的寻址和转移类指令的寻址不同点在于( A )A. 前者取操作数,后者决定程序转移地址B. 前者计算转移地址,后者取操作数C. 前者是短指令,后者是长指令D. 前者是长指令,后者是短指令15、指令的寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现( C )A. 程序的条件转移B. 程序的无条件转移C. 程序的条件转移和无条件转移D. 以上均不对16、设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量(补码表示),若CPU每当从存储器取出一个字节时,即自动完成(PC)+1 PC。
微机原理答案
第3章8086/8088指令系统与寻址方式习题3.3 8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。
(1)MOV BX,12 ;目标操作数为寄存器寻址(2)MOV [BX],12 ;目标操作数为寄存器间址 PA=10300H(3)MOV ES:[SI],AX ;目标操作数为寄存器间址 PA=20200H(4)MOV VAR,8 ;目标操作数为存储器直接寻址 PA=10600H(5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址 PA=10500H(6)MOV 6[BP][SI],AL ;目标操作数为相对的基址加变址寻址 PA=12306H (7)MOV [1000H],DX ;目标操作数为存储器直接寻址 PA=11000H(8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址 PA=10306H(9)MOV VAR+5,AX ;目标操作数为存储器直接寻址 PA=10605H3.4 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。
(1)XCHG CS,AX ;错,CS不能参与交换(2)MOV [BX],[1000] ;错,存储器之不能交换(3)XCHG BX,IP ;错,IP不能参与交换(4)PUSH CS(5)POP CS ;错,不能将数据弹到CS中(6)IN BX,DX ;输入/输出只能通过AL/AX(7)MOV BYTE[BX],1000 ;1000大于255,不能装入字节单元(8)MOV CS,[1000] ;CS不能作为目标寄存器(9)MOV BX,OFFSET VAR[SI] ;OFFSET只能取变量的偏移地址(10)MOV AX,[SI][DI] ;SI、DI不能成为基址加变址(11)MOV COUNT[BX][SI],ES:AX ;AX是寄存器,不能加段前缀3.7 设当前 SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么?当前栈顶的地址=2FF00H当执行PUSH BX 指令后,栈顶地址=2FEFEH(2FEFEH)=57H(2FEFFH)=34H3.8 设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX和CF中的值。
微机原理与接口技术习题答案3
第3章8086CPU指令系统1.写出完成下列要求的变量定义语句:(1)在变量var1中保存6个字变量:4512H,4512,-1,100/3,10H,65530;(2)在变量var2中保存字符串:’BYTE’,’word’,’WOR’D;(3)在缓冲区buf1中留出100个字节的存储空间;(4)在缓冲区buf2中,保存5个字节的55H,再保存10个字节的240,并将这一过程重复7次;(5)在变量var3中保存缓冲区buf1的长度;(6)在变量pointer中保存变量var1和缓冲区buf1的偏移地址。
解:var1DW4512H,4512,-1,100/3,10H,65530var2DB’BYTE’,’word’,’WORD’buf1DB100DUP(?)buf2DB7DUP(5DUP(55H),10DUP(240))var3DBLENGTHbuf1pointerDWvar1,buf1(或者pointerDWOFFSETvar1,OFFSETbuf1)2.设变量var1的逻辑地址为0100:0000,画出下列语句定义的变量的存储分配图:var1DB12,-12,20/6,4DUP(0,55H)var2DB‘Assemble’var3DW‘AB’,‘cd’,‘E’var4DWvar2var5DDvar2解:3.指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1,VAR2为字变量,L1为标号):(1)MOVSI,100(2)MOVBX,VAR1[SI](3)MOVAX,[BX](4)MOVAL,[DX](5)MOVBP,AL(6)MOVVAR1,VAR2(7)MOVCS,AX(8)MOVDS,0100H(9)MOV[BX][SI],1(10)MOVAX,VAR1+VAR2(11)ADDAX,LENGTHVAR1(12)ORBL,TYPEVAR2(13)SUB[DI],78H(14)MOVSVAR1,VAR2(15)PUSH100H(16)POPCS(17)XCHGAX,ES(18)MOVDS,CS(19)JMPL1+5(20)DIVAX,10(21)SHLBL,2(22)MOVAL,15+23(23)MULCX(24)XCHGCL,[SI](25)ADCCS:[0100],AH(26)SBBVAR1-5,154解:(1)MOVSI,100正确。
微机原理第二版+田辉+课后答案
微机原理第⼆版+⽥辉+课后答案答:2 =1048576=1MB 习题1-1.微型计算机包括哪⼏个主要组成部分,各部分的基本功能是什么?答:微型计算机由CPU、存储器、输⼊/输出接⼝及系统总线组成。
CPU是微型计算机的核⼼部件,⼀般具有下列功能:进⾏算术和逻辑运算。
暂存少量数据。
对指令译码并执⾏指令所规定的操作。
与存储器和外设进⾏数据交换的能⼒。
提供整个系统所需要的定时和控制信号。
响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,⼀般由总线控制器、总线发送器、总线接收器以及⼀组导线组成;存储器是⽤来存储数据、程序的部件;I/O接⼝是微型计算机的重要组成部件,在CPU 和外设之间起适配作⽤。
1-2.CPU 执⾏指令的⼯作过程。
答:取指令、执⾏指令。
指令执⾏的基本过程:(1)开始执⾏程序时,程序计数器中保存第⼀条指令的地址,指明当前将要执⾏的指令存放在存储器的哪个单元。
(2)控制器:将程序计数器中的地址送⾄地址寄存器MAR,并发出读命令。
存储器根据此地址取出⼀条指令,经过数据总线进⼊指令寄存器IR。
(3)指令译码器译码,控制逻辑阵列发操作命令,执⾏指令操作码规定的操作。
(4)修改程序计数器的内容。
1-3.果微处理器的地址总线为20 位,它的最⼤寻址空间为多少?201-4.处理器、微型计算机和微型计算机系统之间有什么关系?答:微处理器是微型计算机的核⼼部件。
微处理器配上存储器、输⼊/输出接⼝及相应的外设构成完整的微型计算机。
以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。
1-5.下⾯⼗进制数分别转换为⼆进制、⼋进制和⼗六进制数:128,65535,1024答:128,⼆进制:10000000B,⼋进制:200O,⼗六进制:80H65535,⼆进制:1111111111111111B,⼋进制:177777O,⼗六进制:FFFFH1024,⼆进制:10000000000B,⼋进制:2000O,⼗六进制:400H1-6.下⾯⼆进制数分别转换为⼗进制及⼗六进制数:1011.1010B,1111101.11 B答:1011.1010B,⼗进制:11.625,⼗六进制:B.AH1111101.11B,⼗进制:125.75,⼗六进制:7D.CH1-7.(5487)10=(0101010010000111)BCD=1010101101111 B若 CPU 的主时钟频率为 10MHz ,则⼀个时钟周期为10 s ,⼀个基本总线周期为 4× 1-8.设字长为 8 位,请写出下列数的原码、反码、补码和移码:15,-20,-27/32 答:[+15]原 =00001111, [+15]反 =00001111, [+15]补 =00001111, [+15]移 =10001111[-20]原 =10010100, [-20]反 =11101011, [-20]补 =11101100, [-20]移 =01101100[-27/32]原 =1.1101100, [-27/32]反 =1.0010011, [-27/32]补 =1.0010100,第 2 章微型计算机系统的微处理器习题2-1.086/8088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?答:8086/8088 CPU 的功能结构由以下两部分组成:总线接⼝单元BIU (Bus Interface Unit ),执⾏部件EU (Execution Unit )。
汇编语言与接口技术课后答案(1-8章完整版)-王让定 朱莹编( 下载后可查看剩余几章内容)
第一章(下载后可查看)第二章1.8086/8088 CPU的地址总线有多少位?其寻址范围是多少?答:8086/8088 CPU的地址总线共20位,最大可寻址1MB空间。
2.8086/8088 CPU分为哪两个部分?各部分主要由什么组成?答:8086/8088 CPU分为总线接口部件(BIU)和执行部件(EU)两个部分。
其中: BIU包括:4个16位的段地址寄存器(CS、DS、SS、ES);1个16位的指令指针寄存器IP;1个20位的地址加法器;指令队列寄存器;内部寄存器;输入输出总线控制逻辑;EU包括:4个16位的通用数据寄存器(AX、BX、CX、DX);4个16位的专用寄存器(BP、SP、SI、DI);1个16位的标志寄存器FR;4. 8086/8088 CPU中有几个通用寄存器?有几个变址寄存器?有几个指针寄存器?通常哪几个寄存器亦可作为地址寄存器使用?答:8086/8088 CPU中共有:8个16位的通用寄存器AX、BX、CX、DX 、BP、SP、SI、DI;2个变址寄存器SI、DI;2个指针寄存器BP、SP;其中BX、BP、SI、DI亦可作地址寄存器。
5.8086/8088 CPU中有哪些标志位?它们的含义和作用如何?答:8086/8088 CPU中共有9个标志位,其中DF、IF和TF为控制标志位,其余6个为状态标志位。
它们的含义和作用如下所示:CF(Carry Flag)进位标志:若算术运算的结果产生了进位或借位(对字节操作最高位是D7位;对字操作最高位是D15位),则CF=1,否则CF=0。
PF(Parity/Even Flag)奇偶标志:如果运算结果中含有偶数个1,则PF=1,否则PF=0。
此标志位主要用于数据通信中,检测数据传送有无出错。
AF(Auxiliary Carry Flag)辅助进位标志:用于反映一个字节(字的低字节)的低4位向高4位有无进位(借位)的情况,有进(借)位时,AF=1,否则AF=0。
指令 习题
第4章8086/8088CPU指令系统1.请指出以下各指令的源、目的操作数所使用的寻址方式。
(1)MOV SI,2100H (2)SBB DISP[BX],7 (3)AND [DI],AX (4)OR AX,[609EH] (5)MOV [BX+DI+30H],CX (6)PUSH ES:[BP](7)CALL [DI]DISP(8)JNZ Short_ label答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址(2)源操作数:立即数寻址;目的操作数:(带位移量的)基址寻址(3)源操作数:寄存器寻址;目的操作数:变址寻址(4)源操作数:直接寻址;目的操作数:寄存器寻址(5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址(6)源操作数:带段超越的基址寻址;目的操作数:隐含寻址(7)只有一个操作数,为(带位移量的)变址寻址(8)只有一个操作数,为相对寻址2.请指出下列各条指令的错误,并改正。
(1)MOV DS,1000H(2)MOV [100],23H(3)ADD AX,[BX+BP+6] (4)PUSH DL(5)IN AX,[3FH](6)OUT 3FFH,AL(7)LES SS,[SI](8)POP [AX](9)IMUL 4CH (10)SHL BX,5(11)INT 300(12)XCHG DX,0FFFH (13)MOV AH,BX(14)MOV [BX],ES:AX (15)MOV AX,OFFSET [SI] (16)MOV CS,AX(17)MOV DS,ES答:(1)不允许直接向段寄存器送立即数,可改为:MOV AX,1000HMOV DS,AX(2)该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTE PTR或WORD PTR说明,否则汇编程序会因不能确定操作数长度而指示出错。
可改为:MOV BYTE PTR [100],23H(3)不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:ADD AX,[BX+DI+6](4)堆栈操作应以字为单位进行,而DL是一个字节。
微机原理与接口技术(楼顺天编着)课后习题答案
第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 DW 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 正确。
第3章 8086寻址方式和指令系统-题
第3章8086寻址方式和指令系统一、单项选择题(共50小题)1、指令MOV AX,[3070H]中源操作数的寻址方式为()A、寄存器间接寻址B、立即寻址C、直接寻址D、变址寻址2、DS是()A、数据段寄存器B、代码段寄存器C、堆栈段寄存器D、附加数据段寄存器3、CF是()A、进位标志位B、辅加进位标志位C、符号标志位D、全零标志位4、SS是_()A、数据段寄存器B、代码段寄存器C、堆栈段寄存器D、附加数据段寄存器5、指令MOV [BX],AX中A、目的操作数是寄存器操作数B、源操作数是存储器操作数C、目的操作数是存储器操作数D、源操作数是立即操作数6、CS是()A、数据段寄存器B、代码段寄存器C、堆栈段寄存器D、附加数据段寄存器7、指令MOV AX,[BP]中A、源操作数存于数据段B、源操作数存于堆栈段C、目的操作数存于数据段D、目的操作数存于堆栈段8、BX是()A、8位通用寄存器B、16位通用寄存器C、16位段寄存器D、16位变址寄存器9、ZF是()A、进位标志B、方向标志C、符号标志D、零标志10、IP是()A、指令指针寄存器B、堆栈指针寄存器C、通用寄存器D、变址寄存器11、SI是()A、8位通用寄存器B、16位通用寄存器C、16位段寄存器D、指令指针寄存器12、DL是()A、16位段寄存器B、16位通用寄存器C、8位通用寄存器D、16位标志寄存器13、指令IDIV BX 的含义是()A、(AX)/(BX)B、(DX:AX)/(BX)C、(AL)/(BX)D、(AL)/(BL)14、下面4个寄存器中,不能作为间接寻址的寄存器是()A、BXB、DXC、BPD、DI15、设SS=2000H,执行下列程序段后SP=()MOV SP,2000HPUSH AXA、21FFEHB、20000HC、22000HD、22002H16、寄存器间接寻址方式中,操作数在( )中。
A、通用寄存器B、堆栈C、内存单元D、段寄存器17、JMP WORD PTR[DI]是( )A、段内间接转移B、段间间接转移C、段内直接转移D、段间直接转移18、堆栈指针SP的作用是( )。
微机原理习题及答案
微机原理习题册第 1 章数制和码制1.将下列十进制数分别转换为二进制数(4)(1)147 (2)4095 (3)解:147=B 4095=B= =2. 将下列二进制数分别转换为十进制数(3)(1)(2).001B解:= .001B==3.将二进制数转换成十六进制数(1)B(2)11B(3)101B (4)0B(5)01111111B(6)0B 解:(1)95H(2)34BH(3)FFFDH(4)0815H(5)7FH(6)401H4.已知 a=1011B, b=11001B, c=100110B,按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b;解:a=1011B=11, b=11001B=25, c=100110B=38(1)a+b=100100B=36 (2)c-a-b=10B=2(3)a·b=1B=275 (4)c/b=1……1101B(=13)5.设机器字长为 8 位,写出下列各数的原码和补码:(1)+1010101B (2)-1010101B (3)+1111111B (4)-1111111B (5)+1000000B (6)-1000000B 解:(1)+1010101B 原码 01010101B 补码 01010101B(2)-1010101B 原码 B 补码 B(3)+1111111B 原码 01111111B 补码 01111111B(4)-1111111B 原码 B 补码 B(5)+1000000B 原码 01000000B 补码 01000000B(6)-1000000B 原码 B 补码 B6.已知 a=00111000B,b=B,计算下列逻辑运算:(1)aAND b;(2)a OR b;(3)a XOR b;(4)NOT a;解:(1)00000000B(2)1B(3)1B(4)B7.求下列组合 BCD 数的二进制和十六进制表示形式:()(1)3251;(2)12907;(3)2006 解:(1)0011 0010 0101 0001B,3251H(2)0001 0010 1001 0000 0111 B , 12907H(3)0010 0000 0000 0110B , 2006H8.设下列四组为 8 位二进制补码表示的十六进制数,计算 a+b 和a-b,并判定其结果是否溢出:(1)a=37H,b=57H;(2)a=0B7H,b=0D7H;(3)a=0F7H,b=0D7H;(4)a=37H,b=0C7H。
第二章8086习题答案
微机原理第二章习题与分析解答1.单项选择题(1)8086工作最大方式时应将引脚MN/MX接()A.负电源 B.正电源 C.地 D.浮空分析:8086规定工作在最小方式下MN/MX接+5V,工作在最大方式下MN/MX 接地。
答案:C(2)8086能寻址内存储器的最大地址范围为()A.64KB B.1MB C.16MB D.16KB分析:8086有A0~A1920条地址总线,220=1MB。
答案:B(3)在总线周期,8086CPU与外设需交换()A.地址信息 B.数据信息 C.控制信息 D.A、B、C分析在总线周期,CPU必须发出地址信息的控制信息以后,才能实现与外设进行交换数据。
答案:D(4)8086用哪种引脚信号来确定是访问内存还是访问外设()A.RD B.WR C.M/IO D.INTA分析:引脚信号M/IO是Memory or Input Output的缩写,当M/IO=0时,用以访问外设;当M/IO=1,用以访问外设。
答案:C(5)在8086指令系统中,下列哪种寻址方式不能表示存储器操作数()A.基址变址寻址B.寄存器寻址C.直接寻址D.寄存器间接寻址分析:8086指令系统共有七种寻址方式,只有立即寻址方式和寄存器寻址方式不是表示存储器操作数的。
答案:B(6)当CPU时钟频率为5MHz,则其总线周期()A.0.8 s B.500ns C.200ns D.200μs分析:时钟周期T=1/ƒ=200ns,而一个总路线周期通常由4个T状态组成,有4╳T=4╳200ns=0.8μs.答案:A(7)8086工作在最大方式下,总路线控制器使用芯片()A.8282 B.8286 C.8284 D.8288分析:在最大方式下,系统中主要控制信号是由总路线控制器产生,而只有芯片8288才有这方面的功能。
答案:D(8)取指令物理地址=()A.(DS)╳10H+偏移地址 B.(ES)╳10H+偏移地址C.(SS)╳10H+(SP) D.(CS)╳10H+(IP)分析:每当8086CPU取指令时,总是根据CS:IP的所指的存贮单元去取指令。
第3章 8086指令系统(最后有练习题)
开 始
8086CPU的指令系统的基本指令
包括数据传送类指令、算术运算类指令、 位操作类指令、串操作类指令、控制转移 类指令、处理机控制类指令。后几节将分 别介绍这些指令的语句格式和功能。
3.1 8086的寻址方式
3.1.1 数据的寻址方式 3.1.2 程序转移地址的寻址方式 3.1.3 对端口的寻址方式
3.1.2 程序转移地址的寻址方式
用来确定转移指令及CALL指令的转向地址。
段内寻址
段内直接寻址 段内间接寻址 段间直接寻址 段间间接寻址
段间寻址
段内:转移指令与转向的目标指令在同一代码段 中,(CS)不变。
段间:转移指令与转向的目标指令在两个代码段中, (CS) 变化。
表示转移距离(称为位移量)的操作符:
返回本节
2 . 寄存器寻址
寄存器寻址方式的操作数在指令指明的寄 存器中。 汇编格式:R ,其中R表示寄存器名。 功能:操作数直接存放在寄存器R中。 例如:MOV AL,BL
【例3-2】下列程序执行后,(AX)=?,
(BX)=?
MOV AX,1234H
MOV BX,5678H
ADD AX,BX 执行:1234H→AX 5678H→BX (AX)+(BX)→AX 执行后:(AX)=68ACH,(BX)=5678H
3 . 直接寻址
特点:操作数在内存中。 汇编格式:①含有变量的地址表达式。 ②段寄存器名:[EA] 。 功能:指令下一字单元的内容是操作数的偏 移地址EA。 图形表示:
【例3-3】
寄存器和存储器内容为:(AX)=1212H, (DS)=3000H,(32000H)=45H, (32001H)=46H。 执行指令:MOV AX ,[2000H] 问执行后:(AX)=? Step1:计算地址DS*16+2000H=32000H Step2:找内容(32000H),(32001H) 所以执行后:(AX)=4645H
(完整word版)第二章8086习题答案
微机原理第二章习题与分析解答1.单项选择题(1)8086工作最大方式时应将引脚MN/MX接()A.负电源 B.正电源 C.地 D.浮空分析:8086规定工作在最小方式下MN/MX接+5V,工作在最大方式下MN/MX 接地。
答案:C(2)8086能寻址内存储器的最大地址范围为()A.64KB B.1MB C.16MB D.16KB分析:8086有A0~A1920条地址总线,220=1MB。
答案:B(3)在总线周期,8086CPU与外设需交换()A.地址信息 B.数据信息 C.控制信息 D.A、B、C分析在总线周期,CPU必须发出地址信息的控制信息以后,才能实现与外设进行交换数据。
答案:D(4)8086用哪种引脚信号来确定是访问内存还是访问外设()A.RD B.WR C.M/IO D.INTA分析:引脚信号M/IO是Memory or Input Output的缩写,当M/IO=0时,用以访问外设;当M/IO=1,用以访问外设。
答案:C(5)在8086指令系统中,下列哪种寻址方式不能表示存储器操作数()A.基址变址寻址B.寄存器寻址C.直接寻址D.寄存器间接寻址分析:8086指令系统共有七种寻址方式,只有立即寻址方式和寄存器寻址方式不是表示存储器操作数的。
答案:B(6)当CPU时钟频率为5MHz,则其总线周期()A.0.8 s B.500ns C.200ns D.200μs分析:时钟周期T=1/ƒ=200ns,而一个总路线周期通常由4个T状态组成,有4╳T=4╳200ns=0.8μs.答案:A(7)8086工作在最大方式下,总路线控制器使用芯片()A.8282 B.8286 C.8284 D.8288分析:在最大方式下,系统中主要控制信号是由总路线控制器产生,而只有芯片8288才有这方面的功能。
答案:D(8)取指令物理地址=()A.(DS)╳10H+偏移地址 B.(ES)╳10H+偏移地址C.(SS)╳10H+(SP) D.(CS)╳10H+(IP)分析:每当8086CPU取指令时,总是根据CS:IP的所指的存贮单元去取指令。
《微机原理及应用》各章习题参考答案
《微机原理及应用》各章习题参考答案第1章微型计算机概论一、填空题1. 微机硬件系统主要由CPU、(存储器)、(总线)、(输入输出接口)和输入输出设备组成。
2. 冯·诺依曼计算机的核心原理是(存储程序原理)3. 完成下列数制的转换1)10100110B=( 166 )D=( A6H )H2)223.25 =( 11011111.01 )B=( DF.4 )H3)1011011.101B=( 5B.A )H=(1001 0001.01100010 0101 )BCD4. 已知[X]补5. 已知A=10101111,B=01010000,则A∧B的结果为( 00000000 ) B=86H,则X的十进制表示形式为( -122 )6. -29H的8位二进制反码是(11010110 )B7.字符4的ASCII码=( 34 )H二、简答题1.冯.诺依曼计算机的结构是怎样的,主要特点有哪些?解:将计算机设计为由运算器、控制器、存储器、输入设备和输出设备等5个部分组成,所有的执行都以运算器为核心,采用存储程序工作原理。
2. 已知X=-1101001B,Y=-1010110B,用补码方法求X-Y=?解:[X-Y]补=[X+(-Y)]补= [X]补+[-Y] [X]补原=11101001B [X]补 [-Y]=10010111B原=01010110B=[-Y] [X-Y]补补= [X]补+[-Y]补X-Y=[[X-Y]=11101101B补]补=10010011=-0010011=-193. 写出下列真值对应的原码和补码的形式:1)X=-1110011B2)X=-713)X=+1001001B解:1)[X]原码=11110011B , [X]补码=10001101B2)[X]原码=11000111B, [X]补码=10111001B3)[X]原码=01001001, [X] 补码=01001001B=?4. 已知X和Y的真值,求[X+Y]补1)X=-1110111B Y=+1011010B2)X=56 Y=-215. 若与门的输入端A、B、C的状态分别为1、0、1,则该与门的输出端状态为?若将这3位信号连接到或门,那么或门的输出又是什么状态?解:由与和或的逻辑关系知,若“与”门的输入端有一位为“0”,则输出为“0”;若“或”门的输入端有一位为“1”,则输出为“1”。
大学微机原理第三章习题
大学微机原理第三章习题8086/8088的寻址方式和指令系统习题一.单项选择题1.设置BX=2000h,Si=3000h,指令movax的源操作的有效地址[BX+Si+8]为()。
a、5000hb.5008hc.23008hd.32022h2.设ds=1000h,es=2000h,bx=3000h,指令addal,[bx]的源操作数的物理址为()。
a.13000hb.23000hc.33000hd.3000h3.设ds=2000h,es=3000h,si=200h,指令moves:[si],al的目的操作数的物理地址为()。
a.20210hb.30200hc.50200hd.200h4.指令movmem[bx],ax中的mem是()。
a.原码b.反码c.补码d.移码5.用来作为寄存器间接寻址的寄存器有()个。
a.8b.6c.5d.46.指令mov[BX+Si],Al中的目标操作数使用()段寄存器。
a、 csb.dsc.ssd.es7.指令movbx,[bp+5]中的源操作数使用()段寄存器。
a.csb.dsc.ssd.es8.段内间接寻址只改变()中的内容。
a、 csb之间的间接寻址。
ipc。
政务司司长和知识产权署。
psw9。
仅更改()中的内容。
a.csb.ipc.cs和ipd.psw10.下述指令中不改变psw的指令是()。
a.movax,bxb.andal,0fhc.shrbx,cld.addal,bl11.下述指令中不影响cf的指令是()。
a.shlal,1b.inccxc、添加[bx],ald.subax,bx12.两个整数补码9ch和7ah相加运算后,会产生()。
a.无溢出且无进位b.无溢出但有进位c.有溢出且有进位d.有溢出但无进位13.指令jmpwordptr[bx]属于()寻址。
a、段内直接B.段内间接C.段间直接D.段间间接14。
指令movax的源操作数[BX+Si+8]属于()寻址。
微机原理课后习题答案
微机原理课后习题答案2.1 8086 CPU 在内部结构上由哪几部分组成?其功能是什么?【答】8086 的内部结构-成两部分:总线接口部件BIU,负责控制存储器读写。
执行部件EU,EU 从指令队列中取出指令并执行。
8086 是16 位微处理器,有16 根数据线、20 根地址线,内部寄存器、运算部件以及内部操作都是按16 位设计的。
2.2 8086 的总线接口部件有那几部分组成?【答】8086 的总线接口部件主要由下面几部分组成:4 个段寄存器CS/DS/ES/SS, 一个16 位的指令指针寄存器IP, 一个20 位地址加法器, 6 字节的指令队列,内部暂存器以及输入输出电路组成.2.3 8086 的执行部件有什么功能?由那几部分组成?【答】8086 的执行部件主要由下面几部分组成:(1)四个16 位通用寄存器AX、BX、CX、DX, 通用四个16 位专用寄存器,包括二个指针寄存器SP、BP, 二个变址寄存器SI、DI, 算术逻辑单元ALU,标志寄存器。
2.4 8086CPU 状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086 的状态标志和控制标志分别有哪些?【答】标志分两类:状态标志(6 位):反映刚刚完成的操作结果情况。
控制标志(3 位):在某些指令操作中起控制作用。
2.5 8086/8088 和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 8086CPU 执行转移指令时,指令队列寄存器内容如何变化?【答】传统的计算机一般按照取指令、指令译码/执行指令的步骤工作。
在8086/8088 中,指令的提取与执行分别由总线接口部件BIU 与执行部件EU 完成,8086/8088 可以在取指令同时又可以执行指令,这种并行工作方式有力的提高了CPU 的工作效率。
2.6 将两数相加,即0100 1100 加0110 0101,CF、PF、AF、ZF、SF、OF 各为何值?【答】0100 1100+0110 0101=10110001CF=0,PF=1,AF=1,ZF=0,SF=1,OF=12.7 存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有20 位地址线的CPU,其最大物理地址为多少?【答】存储器的逻辑地址由段地址与段内偏移地址组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题三8086指令系统主要内容:8086指令系统。
主要介绍8086的基本数据类型、寻址方式和指令系统,重点掌握8086指令系统的寻址方式、堆栈操作指令、算术运算指令及其对标志位的影响,串操作指令,控制传送指令。
1.单选题:(1)执行下面指令序列后,结果是(A)。
MOV AL,82HCBWA、(AX)=0FF82HB、(AX)=8082HC、(AX)=0082HD、(AX)=0F82H(2)与MOV BX,OFFSET VAR指令完全等效的指令是(D )。
A、MOV BX,VARB、LDS BX,VARC、LES BX,VARD、LEA BX,VAR(3)编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(D )。
A、CMPB、SUBC、ANDD、MOV(4)下面指令执行后,改变AL寄存器内容的指令是(D )。
A、TEST AL,02HB、OR AL,ALC、CMP AL,BD、AND AL,BL(5)设DH=10H,执行NEG DH指令后,正确的结果是(D )。
A、(DH)=10H,CF=1B、(DH)=0F0H,CF=0C、(DH)=10H,CF=0D、(DH=0F0H,CF=1(6)设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A )。
A、85B92HB、86192HC、BB690HD、12169H(7)下列指令中,执行速度最快的是(C )。
A、MOV AX,100B、MOV AX,[BX]C、MOV AX,BXD、MOV AX,[BX+BP]2.8086 CPU执行如下指令后的结果,以及标志SF、AF、CF、OF的值。
(1)MOV AL,0110 0100BSUB AL,58H ;(AL)=0CH,AF=1DAS ;(AL)=06H, AF=1ADD AL,89H ;(AL)=8FH, AF=0DAA ;(AL)=95H,AF=1,SF=1结果: (AL)=95H, SF=1, AF=1, CF=0, OF=0(2)MOV AL,05HMOV BL,09HMUL BL ;(AX)=002DH, SF、AF、CF、OF=0AAA ; (AX)=0103H;AAM ; ; (AX)=0405H结果: (AX)=0103H, CF=1 , SF=0、AF=1、OF=03.分析执行下列指令序列后的结果:MOV AL,10110101BAND AL,00011111B ;(AL)=0001 0101BOR AL,11000000B ;(AL)=1101 0101BXOR AL,00001111B ;(AL)=1101 1010BNOT AL ;(AL)=0010 0101B4.假设(AL)=10101111B,CF=0,CL=2,写出分别执行下列指令后的结果以及标志位CF、ZF、OF的值。
(1)SHL AL,CL ;(AL)=1011 1100B, CF=0、ZF=0、OF=1(2)SHR AL,CL ;(AL)=0010 1011B, CF=1、ZF=0、OF=0(3)SAR AL,CL ;(AL)=1110 1011B, CF=1、ZF=0、OF=0(4)ROL AL,CL ;(AL)=1011 1110B, CF=0、ZF=0、OF=1(5)RCR AL,CL ;(AL)=1011 1101B, CF=0、ZF=0、OF=15.设(IP)= 3D8FH,(CS)=4050H,(SP)=0F17CH,当执行CALL 2000:0094H后,试求出IP、CS、SP的内容,以及栈顶4个单元的内容。
【答】(CS)=2000H,(IP)=0094H, 栈顶F178H~F17BH连续4个单元的内容:94, 3D,50,40。
6.设(DS)= 2000H,(BX)=1256H,(SI)=528FH,TABLE的偏移量=20A1H,(232F7H)=3280H,(264E5H)=2450H,执行下述指令后IP的内容?(1)JMP BX ;(IP)=1256H(2)JMP TABLE[BX]; (IP)=3280H(3)JMP [BX][SI] ;(IP)=2450H7.设当前的SP=1000H,执行PUSHF指令后,SP=(0FFEH),若改为执行INT 20H指令后,则SP=(0FFCH)。
8.设当前(SS)=2010H,(SP)=FE00H,(BX)=3457H,计算当前栈顶的物理地址为多少?当执行PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么?【答】当前栈顶指针(SP)=2FF00H,物理地址=20100H+FE00H=2FF00H当执行PUSH BX 指令后,栈顶指针(SP)=FE00-2=FDFEH,栈顶物理地址=2FDFEH,栈顶2个字节的内容分别3457H。
9.HLT指令用在什么场合?如CPU 在执行HLT 指令时遇到硬件中断并返回后,以下应执行哪条指令?【答】HLT用在使CPU处于暂停状态而等待硬件中断的场合。
在执行HLT指令遇到硬件中断并返回后将执行HLT后面的一条指令。
10.为什么用増量指令或减量指令设计程序时,在这类指令后面不用进位标志作为判断依据?【答】増量指令或减量指令不影响进位标志CF。
11.中断指令执行时,堆栈的内容有什么变化?中断处理子程序的人口地址是怎样得到的?【答】中断指令执行时,堆栈内容变化如下:标志寄存器被推入堆栈,且SP减2,然后CPU将主程序的下一条指令地址即断点地址推入堆栈,即段值CS推入堆栈且SP减2,偏移量推入堆栈,且SP减2。
中断处理子程序的入口地址即中断向量,对应的中断类型号的4倍即为中断向量地址,在该地址处的4个字节内容,高地址单元两个字节为中断入口地址的段地址,低地址单元两个字节为中断入口地址的偏移地址。
12.中断返回指令IRET和普通子程序返回指令RET在执行时,具体操作内容什么不同?【答】IRET从堆栈中依次弹出断点处指令指针IP、代码段CS内容与标志寄存器的值,而RET从堆栈中依次弹出断点处指令指针IP值、代码段CS内容,不需要弹出标志寄存器的值。
13.以下是格雷码的编码表:0——0000,1——0001,2——0011,3——0010,4——01105——0111,6——0101,7——0100,8——1100,9——1101请用换码指令和其它指令设计一个程序段,实现格雷码往ASCII码的转换。
【答】TABLE SEGMENTTAB_DA DB 30H,31H,33H,32H,37H,36H,34H,35H,0,0DB 0,0,38H,39HGRA DB 05HASCII_DA DB ?TABLE ENDSCODE SEGMENTASSUME CS:CODE,DS:TABLESTART: MOV AX,TABLEMOV DS,AXMOV BX,OFFSET TAB_DAMOV AL,GRAXLATMOV ASCII_DA,ALCODE ENDSEND S TART14.将存放在0A00H单元和0A02H单元的两个无符号数字节相乘,结果存放在地址为0A04H开始的单元中。
【答】参考程序:假设数据为字节MOV AL,[0A00H]MOV BL,[0A02H]MUL BLMOV [0A04],AX15.编程计算((X+Y)*10)+Z)/X,X、Y、Z都是16位无符号数,结果存在RESULT开始的单元。
【答】参考程序:MOV AX,XADD AX,YMOV BX,0AHMUL BX ;乘积在DX,AX中ADD AX,ZADC DX,0H ; 考虑进位MOV BX,XDIV BX ;MOV RESULT, AXMOV RESULT+2, DXHLT16.分别用一条语句实现下述指明的功能:(1)AX的内容加1,要求不影响CF。
(INC AX)(2)BX的内容加1,要求影响所有标志位。
(ADD BX, 1)(3)栈顶内容弹出送DI。
(POP DI )(4)双字变量AYD存放的地址指针送ES和SI。
(LES SI ,AYD )(5)将AX中数,最高位保持不变,其余全部右移4位。
( SAR AX, CL ;CL预置4)(6)将0400H单元中的数,低4位置零,高4位保持不变。
( AND BYTE PTR [0400H], 11110000B) (7)将BX中的数,对高位字节求反,低位字节保持不变。
(XOR BX ,0FF00H)(8)若操作结果为零转向标号GOON。
(JZ GOON )17.检测BX中第13位(D13),为0时,把AL置0,为1时,把AL置1。
【答】参考程序:TEST BX,0010 0000 0000 0000BJZ ZEROMOV AL,01HHLTZERO: MOV AL,0HLT18.利用字串操作指令,将1000H~10FFH单元全部清零。
【答】参考程序:CLDMOV DI,1000HMOV CX,100HMOV AL,0REP STOSB19.用串操作指令实现,先将100H个字节数从2170H单元处搬到1000H单元处,然后从中检索等于AL 中字符的单元,并将此单元换成空格字符。
【答】参考程序:假设数据段与附加段的段寄存器值已经设置为相同的数值。
CLDMOV CX,0100HMOV SI, 2170HMOV DI,1000HREP MOVSBMOV CX,0100HMOV DI,1000HMOV AL, ‘A’;假设要检索的字符为AREPNZ SCASBJZ FOUNDJMP NOFOUNDFOUND: DEC DIMOV BYTE PTR [DI],‘’NOFOUND: HLT20.用循环控制指令实现,从1000H开始,存放有200个字节,要查出字符#(ASCII码为23H),把存放第一个#的单元地址送入BX中。
【答】参考程序:MOV DI,1000HMOV CX,200MOV AL,‘#’DON: CMP AL, [DI]JE FOUNDINC DILOOP DONJMP NOFOUNDFOUND: MOV BX,DINOFOUND: HLT自测题:1下列指令中,有语法错误的指令是()。
A、MOV BX,[BX+2]B、MOV 2,BXC、MOV [1000H],BXD、MOV BX,22下列指令中,隐含使用AL寄存器的指令有()条。
MUL、DIV、HLT、XLAT、CBW、IN、PUSHFA、2条B、3条C、4条D、5条3输入输出指令中,数据寄存器由()寄存器指出。
A、AL/AXB、BXC、CXD、DX48088可直接寻址的空间最大为()。
A、640KBB、1MBC、512MBD、2MB5. 内存单元1999H:0010H的段内偏移地址为(2),物理地址为(3);若(BP)=0010H,用指令MOV AL,[BP]取出该单元的内容,段寄存器(4)的值应为1999H。