微机原理课后习题答案资料讲解.docx
《微机原理课后习题答案资料讲解.docx》由会员分享,可在线阅读,更多相关《微机原理课后习题答案资料讲解.docx(34页珍藏版)》请在咨信网上搜索。
此文档仅供收集于网络,如有侵权请联系网站删除 第1章 进制及码元 1、进制转换 129= 81H= 10000001B=201Q 298= 12AH= 100101010B=452Q 1000= 3E8H= 1111101000B= 1750Q 5DH= 1011101 B= 135 Q= 93 D 3E8H= 1111101000 B= 1750Q= 1000 D; 357Q=11101111 B= 0EF H= 239 D 2、进制计算 10010110 2FE3 F7,-119 FFF7,-32759 4 7 3、数据表示范围: 一个字节的无符号数表示范围为0~255,有符号数补码表示范围为-l28—+127。 两个字节的无符号数表示范围为0~65535,有符号数补码表示范围为—32768~+32767。 N位二进制数的无符号数表示范围为0~(2N-1),有符号数(补码)表示范围为-2N-1~(2N-1-1). 4、35H代表的ASCII字符为'5',代表十六进制数时等价的十进制值为53 ,代表压缩8421BCD码等价的十进制值为35 ,代表非压缩8421BCD码等价的十进制值为5。 5、FFH代表无符号数时等价的十进制值为255 ,代表补码有符号数时等价的十进制值为 一1 ,代表反码有符号数时等价的十进制值为 一0 ,代表原码有符号数时等价的十进制值为一l27。 6、—20的8位二进制补码为 ECH ,原码为 94H ,反码为 EBH 。 158的16位二进制补码为009EH,原码为009EH ,反码为 009EH 。 7、英文字符一般在计算机内占用(1)个字节,每个字节的最高位一定为 0 ,全角英文字符在计算机内占用 2个字节,一个汉字在计算机内占用 2 个字节,每个字节最高位为 1 。 8、设阶码用8位补码表示,尾数部分用16位补码表示,则—(1/32+1/128+1/512)的尾数部分及阶码分别为多少? 第2章 微机硬件基础 1、请画出计算机系统硬件图。 2、8086/88CPU为什么要分为BIU和EU两大模块? 答:为了使取指和分析、执行指令可并行处理,提高CPU的执行效率。8086/88CPU有两大模块总线接口单元BIU和执行单元EU组成。 3、简述8086/88 CPU的两大模块BIU和EU的主要功能及组成。 答:如下图所示: 4、简述8086/88 CPU的14个寄存器的英文名、中文名及主要作用。 答:AX(Accumulator)(AH、AL)累加器,它是汇编编程中最常用的一个寄存器,主要用于乘除运算、BCD运算、换码、I/O操作、串操作、中断调用等。 BX(Base)(BH、BL)基址寄存器,主要用于存放地址、基址(默认相对于DS段)等。 CX(Counter)(CH、CL)计数器,主要用于循环计数、串操作计数、移位计数(CL)等。 DX(Data)(DH、DL)数据寄存器,主要用于l6位乘除、问接I/O、中断调用等。 BP(Base Pointer)基址指针,主要用于存放地址、基址(默认相对于SS段)等。 SP(Stack Pointer)堆栈指针(栈顶指针),主要用于存放栈顶地址。 SI(Source Index)源变址寄存器,用于存放地址、变址、串操作源变址。 DI(Destination Index)目的变址寄存器,用于存放地址、变址、串操作目的变址。 CS(Code Segment)代码段寄存器(代码段),用于存放正在或正待执行的程序段的起始地址的高l6位二进制数据,即程序段的段地址。 , DS(Data Segment)数据段寄存器(数据段),用于存放正在或正待处理的一般数据段的起始地址的高l6位二进制数据,即一般数据段的段地址。 ES(Extra Segment)附加数据段寄存器(附加段),用于存放正在或正待处理的附加数据段的起始地址的高l6位二进制数据,即附加数据段的段地址。 SS(Stack Segment)堆栈数据段寄存器(堆栈段),用于存放正在或正待处理的堆栈数据段的起始地址的高l6位二进制数据,即堆栈数据段的段地址。 IP(Instruction pointer)指令指针,它的内容始终是下一条待执行指令的起始偏移地址,与CS一起形成下一条待执行指令的起始物理地址。CS:IP的作用是控制程序的执行流程。IP一般会自动加l(逻辑加1、实际随指令长度变化)移向下一条指令实现顺序执行;若通过指令修改CS或IP的值,则可实现程序的转移执行。 PSW(Program Status word)程序状态字,它其中有三个控制标志(IF、DF、TF)和6个状态标志(SF、PF、ZF、OF、CF、AF)。控制标志是用于控制CPU某方面操作的标志,状态标志是部分指令执行结果的标志。 5、请画出8086/88 CPU的内部结构图。 答:如下图所示: 6、请说明8086/88 CPU的标志位的英文名、中文名及填充方法。 答:IF(Interrupt Enable Flag)中断允许标志,用于控制CPU能否响应可屏蔽中断请求,IF=1能够响应,IF=0不能响应。 DF(Direction Flag)方向标志,用于指示串操作时源串的源变址和目的串的目的变址变化方向,DF----1向减的方向变化,DF=0向加的方向变化。 TF(TrapFlag)陷阱标志(单步中断标志),TF=1程序执行当前指令后暂停,TF=0程序执行当前指令后不会暂停。 SF(Sign Flag)符号标志,指令执行结果的最高二进制位是0还是l,为0,则SF=0,代表正数;为l,则SF=1,代表负数。我们一般是用十六进制数表示,则可以根据十六进制的最高位是落在O~7还是落在8~F之间,若落在0~7之间则SF=0.否则SF=1。 PF(Parity ChECk Flag)奇偶校验标志,指令执行结果的低8位中1的个数是奇数个还是偶数个,若为奇数个则PF=0,若为偶数个则PF=1。 ZF(Zero Flag)零标志,指令执行结果是不是为0,若为0则ZF=1,否则ZF=0。 OF(Overflow Flag)有符号数的溢出标志,指令执行结果是否超出有符号数的表示范围,若超过则0F=1,否则OF=0。我们可以通过判断是否出现以下四种情况之一:正加正得负,正减负得负,负加负得正,负减正得正。若出现则0F=1.否则OF=0. CF(Carry Flag)进位/借位标志无符号数的溢出标志),指令执行结果的最高位是否有向更高位进位或借位,若有则CF=1,同时也代表无符号数溢出;若无则CF=0,也代表无符号数未溢出。 AF(Auxiliary Carry Flag)辅助进位/借位标志,低4位二进制是不是有向高位进位或借位,若有则AF=1,否则AF=0,其主要用于BCD修正运算。 7、内存分段组织的优缺点是什么? 答:优点如下: (1)8086/8088 CPU中的寄存器只有16位,如果采用它们直接寻址,则寻址能力势必限制在64 KB范围内,而采用分段组织可以较好地实现扩展CPU的寻址能力。每段的大小可达64 KB,不同段的组合则可寻址更大的范围。 (2)使程序与数据相对独立,不同存取方式的数据也相对独立。 程序:存放于代码段CS中 堆栈方式:存放于堆栈段SS中 数据:随机方式:存放于数据段DS及附加段ES中 (3)便于程序和数据的动态装配,从一个地方挪到另外一个地方只要更改一下段寄存器的值即可,段内偏移可以不用改变。 缺点:内存地址采用分段组织增加地址计算的复杂度,降低了CPU的执行效率。 8、1MB内存最多可以有(64K)个不同的段地址,若不允许重叠的话最多可有(16)个不同的段地址。不同的段间(可以)重叠。 9、设DS=26FCH,BX=108H,SI=9A8H,试求出使DS:BX与ES:Sl指向同一物理地址的ES值。 答:即DS:BX=ES:SI DS:BX=DS× l6+BX=26FCH×16+108H=270C8H ES:SI=ES×16+SI=ES×16+9A8H ES=(270C8H一9A8H)÷l6=2672H 10、接口、端口以及端口地址之间的对应关系如何? 答:一个计算机系统内有很多接口,一个接口内一般有多个端口,一个端口可以有多个端口地址与其对应(这叫重叠地址),一个端口地址可以对应多个端口(但需要继续区分才能访问,如读写顺序、读写信号、数据位、索引区分)。所以通过端口传输信息首先需要区分端口,区分端口可通过端口地址不同来区分。 11、访问端口有哪些方法? 答:(1)用I/O指令实现信息传输;(2)通过BIOS中断调用实现信息传输;(3)通过DOS中断调用实现信息传输。 12、请根据图2.3说明ADD AX, BX指令的取指及执行过程。 自己看书 13、8086/88 的20位物理地址是怎样形成的?当CS=2000H, IP=0100H, 下一条待执行指令的物理地址等于多少? 答:20位物理地址由段地址左移4位加偏移地址形成,下一条待执行指令等于CS*10H+IP得到20100H。 14、已知当前数据段位于存储器的B1000H到BF0FFH范围内,请指出DS段寄存器的取值范围。 答:DS段寄存器的取值范围:AF10H~B100H 第3章寻址方式及指令系统 1、指令是CPU可以理解并执行的操作命令,指令由操作码和操作数两部分组成,指令有两个级别,即机器级和汇编级。 2、请画出程序执行流程示意图。 3、指令主要有哪些分类方式及其主要类别是什么? 答:指令分类有不同的方式。按操作数的个数将指令分为零地址指令(无操作数)、一地址指令(只有一个操作数)、二地址指令(有两个操作数)、多地址指令(多于两个操作数);按指令级别分为机器指令和汇编指令:按是否转移分为转移指令和顺序指令;按功能分为七大类:传送类、算术运算类、位操作类、I/O类、串操作类、CPU控制类、转移类;按指令长度(即指令占用的字节数)分为l字节指令、2字节指令等,8086/8088指令长度是不同的,叫变字长,不同的指令有不同的指令长度,从1~6字节均有;按指令执行期间取操作数是否需要与总线打交道分为内部指令(不需)和外部指令(需要),类似功能的指令内部指令比外部指令执行速度快,所以在编程时尽量采用内部指令即多用寄存器优化程序。 4、操作数的寻址方式有哪些?并举例说明其主要特点。 答:操作数寻址方式主要有立即寻址方式、寄存器寻地址、存储器寻址方式、端口寻址方式4类。 (1)立即寻址方式:操作对象是这个操作数本身,MOV AL,5 (2)寄存器寻地址:操作对象是寄存器中的内容MOV AX,BX (3)存储器寻址方式:操作对象是内存地址所对应的存储单元中的内容,MOV AX [2000H] (4)端口寻址方式:操作数是指明端口的地址、端口地址所对应的端口中的内容是操作对象IN AX,46直接寻址。 5、内存寻址中段寄存器与段内偏移地址对应关系如何? 6、设CS=1000H,DS=2000H,ES=3000H,SS=4000H,IP=100H,SP=200H,BX=300H,BP=400H,SI=500H,则①下一条待执行指令的物理地址为多少?②当前栈顶的物理地址为多少?③[BX]代表的存储单元的物理地址为多少?④[BP]代表的存储单元的物理地址为多少?⑤ES:[BX+SI]代表的存储单元的物理地址为多少? 答:①下一条待执行指令的物理地址=CS×16+IP=1000H×16+IOOH=10100H。 ②当前栈顶的物理地址=SS×16+SP=4000H×16+200H=40200H。 ③[BX]代表的存储单元物理地址=DS×16+BX=2000H X l6+300H=20300H。 ④[BP]代表的存储单元物理地址=SS X l6+BP=4000H×16+400H-----40400H。 ⑤ES:[BX+SI]代表的存储单元物理地址=ES×16+BX+SI=3000H×16+300H+500H=30800H 7、试根据以下要求,分别写出相应的汇编语言指令。 (1)以寄存器BX和DI作为基址变址寻址方式把存储器中的一个字送到DX寄存器。 答:MOV DX,[BX+DI] (2)以寄存器BX和偏移量VALUE作为寄存器相对寻址方式把存储器中的一个字和AX相加,把结果送回到那个字单元。 答:ADD VALUE[BX],AX (3)将1字节的立即数0B6H与以SI作为寄存器间接寻址方式的字节单元相比较。 答:CMP BYTE PTR[SI],0B6H (4)将BH的高4位与低4位互换。 答:MOV CL,4 ROR BH,CL ;或者ROL BH,CL (5)测试BX的第3、7、9、12、13位是否同时为0。 答:TEST BX,3288H ;0011001010001000B (6)将存放了0~9数值的DL寄存器中的内容转化为相应的‘0’~‘9’的字符。 答:ADD DL,30H ;或者OR DL,30H (7)将存放了‘A’~‘F’字符的AL寄存器中的内容转化为相应的数值。 答:SUB AL,37H 8、写出清除AX寄存器的多种方法并比较(要求单指令实现)。 答: (1)AND AX,0 ;可以对AX清零,还可以清除进位位和影响到SF、ZF、PF标志位。 (2)MOV AX,0 ;此条指令占用3个字节。 (3)SUB AX,AX ;减法指令, 该条指令只占用2个字节。 (4)XOR AX,AX 9、分别用存储器的5种寻址方式实现将以A为首址的第5个字(注意:从第0个算起)送AX的指令序列。 10、指出下列指令错误的原因。 答:(1)MOV CL,300 ;300超过字节数据表示范围 (2)MOV CS,AX ;CS不能作为目的操作数 (3)MOV BX,DL ;数据类型不匹配 (4)MOV ES,1000H :立即数不能送给段寄存器 (5)INC [BX] ;数据类型不明确 ’ (6)ADD AX,DS :段寄存器不能参加运算 (7)TEST BX,[CX] ;存储器间接寻址只能使用BX、Sl、Dl、BP四个之一 (8)SUB [BX],[BP+SI] ;加减两个操作数不能同时为存储操作数 (9)JC [SI] ;条件转移只有短转移寻址方式 (10)SHL BX ;少给一个表明移位次数的操作数,l或CL 11、(1)CS=(1000)IP=(0155) (2)CS=(1000)IP=(176F) (3)CS=(1000)IP=(17C6) (4)CS=(2000)IP=(0146) (5)CS=(1000)IP=(1770) (6)CS=(2000)IP=(0146) 12、分别说明下列各组指令中的两条指令的区别。 答:(1)MOV AX,TABLE LEA AX,TABLE 假设TABLE为字变量名,则:左为将TABLE单元的内容送AX,右为将TABLE单元的偏移地址送AX。 假设TABLE为字节变量名,则:左为错误指令,右为将TABLE单元的偏移地址送AX 假设TABLE为常量名,则:左为将TABLE的内容送AX,右为错误指令 (2)AND BL,0FH OR BL,0FH 左为将BL的高4位清0,右为将BL的低4位置1 (3)JMP SHORT Ll JMP NEA RPTR Ll 左为短转移,2字节的指令,转移范围为一l28~+127 右为近转移,l字节的指令,转移范围为--32 768+32 767 (4)MOV AX,BX MOV AX,[BX] 左为将BX的值送AX 右为将BX的值作为相对DS段的内存单元偏移地址,取出字单元值送AX (5)SUB DX,CX CMP DX,CX 左为减法,并将DX-CX的值存入DX中 右为比较,做减法,但不会将DX-CX的值存入DX中 (6)MOV [BP][SI],CL MOV DS:[BPIESI],CL 左边第~操作数默认为相对于SS段偏移的存储器操作数 右边第一操作数采用段超越,指定为相对于DS段偏移的存储器操作数 13、写出判断AL为正为负的程序段(请至少用三种方法)。 答:方法一:CMP AL,80H ;而后用JAE代表负数转移,JB代表正数转移 方法二:CMP AL,00H ;而后用JGE代表正数转移,JL代表负数转移 方法三:TEST AL,80H ;而后用JNZ代表负数转移,JZ代表正数转移 方法四:OR AL,AL ;而后用JNS代表负数转移,JS代表正数转移 方法五:AND AL,AL ;而后用JNS代表负数转移,JS代表正数转移 方法六:SUB AL,00H ;而后用JGE代表正数转移,JL代表负数转移 方法七:TEST AL,80H :而后用JNS代表正数转移,JS代表负数转移 14、思考题:试比较以下几条指令的功能。 答:MOV BX,SI ;将SI的值送给BX MOV BX,[SI] ;将SI的值作为偏移地址找到对应的内存单元中的值送给BX MOV BX,OFFSET[SI] ;将Sl的值作为偏移地址找到对应内存单元的偏移地址送给BX,即SI的值送给BX LEA BX,[SI] ;将Sl的值作为偏移地址找到对应内存单元的偏移地址送给BX, 即Sl的值送给BX LDS BX,[SI] ;将Sl值作为偏移地址找到对应内存单元中的第一个字值送给BX, 第二个字值送DS LES BX,[SI] :将SI值作为偏移地址找到对应内存单元中的第一个字值送给BX, 第二个字值送ES 15、设B、D为字节变量,A、C为字变量,且A除B可能会溢出,试编写无符号数或有符号数A/B商送C,余数送D。 答:可能会溢出则要考虑扩展数据表示能力。 ;无符号数除法 . ;有符号数除法 MOV AL,B MOV AL,B XOR AH,AH CBW MOV BX,AX MOV BX,AX MOV AX,A MOV AX,A XOR DX,DX ;无符号扩展 CWD ;有符号扩展 DIV BX IDIV BX MOV C,AX MOV C,AX MOV D,DL MOV D,DL 16、编写程序段实现DX、AX中32位二进制数*l0 (设不溢出)。 答:;X*10=X*8+X*2,用移位指令实现 SHL AX,1 RCL DX,1 :DX,AX=(DX,AX)*2 MOV BX,DX MOV BP,AX ;BX,BP转存2倍值 SHL AX,l RCL DX,l ;再乘2 SHL AX,l RCL DX,1 :再乘2 ADD AX,BP ADC DX,BX ;8倍+2倍=10倍 17、请编写程序段实现如图3.33所示功能。 MOV SI,BX LDS BX,[SI] 18、设已有定义 STR DB “Sdfikjwsmfw893040pYUIUKLHGUkjdshf8” N EQU $ - STR1 试编写实现在STR中查找是否存在非‘A’的功能程序段。即表示STR串中大部分是‘A’,若其中存在不是‘A’的字符则查找成功,若STR全部为‘A’则不成功。 19、程序理解执行。 (1) MOV AH,一l ;AH=FFH MOV AL,180 ;AL=B4H MOV BL,15 ;BL=0FH IDⅣ BL ;AX/BL即:-76/15,商-5,余数-l 程序段执行后,AX=0FFFBH。 说明:关键是要知道谁除以谁,特别注意是有符号除还是无符号除。 (2) MOV AL,0CH ;AL=0CH OR AL,AL ;AL=0CH,CF=0 SBB AL,0F0H ;AL=lCH NEG AL ;AL=E4H,CF=1 ADC AL,0D4H ;AL=B9H TEST AL,35H ;AL=B9H,CF=0 程序段执行后,CF= 0 ,AL=B9H。 说明:第(1)、(2)小题只要理解每条指令功能及对标志位的影响,逐步进行即可完成。 (3) MOV AL,08H MOV AH,一l ;AX=FF08H MOV BX,0F8H ;BX=00F8H CMP AX,BX 程序段执行后SF⊕OF=1 ,CF= 0 。 (4) MOV AX,’中’ ;AX的二进制高位为1,即落在负数范围 MOV BX,’AB’ ;BX的二进制高位为0,即落在正数范围 CMP AX,BX 程序段执行后SF⊕OF=1 ,CF= 0 。 说明:第(3)(4)小题实质是考查有符号数和无符号数大小的比较。 (5) MOV AX,’58’ ;AX=3538H AND AX,0F0FH ;AX=0508H AAD ;AX=58=003AH 程序段执行后AX= 003A H,即58。 程序段的功能是:将两位非压缩BCD码转化为其对应的十六进制数。 说明:可用AAD指令实现将十位和个位数值拼装还原为0~99的十六进制数。反之将0~99的数值分离成十位和个位可用AAM指令实现,教材《汇编语言、微机原理及接口技术(第2版)》例5.10和例5.13中均有应用。 20、程序语句填空。 (1)下列是完成1~20之间的奇数累加和存于AL中的程序段: XOR AL,AL MOV CX,10 ;循环次数 MOV BL,1 AGAIN:ADD AL.BL ADD BL,2 ;步长,参数改变 LOOP AGAIN (2)下列是在串长为N的串STR中查找是否有‘M’字符的程序段: MOV DI,SEG STR MOV ES,DI LEA Dl,STR CLD MOV CX,N MOV AL,7M7 REPNE SCASB ;串查找核心指令 JZ FOUND ;转到找到分支 (3) 下列是完成1位十六进制数X显示的程序段: MOV DL,X AND DL,0FH ADD DL,30H ;或OR DL,30H CMP AL,’9’ JBE NEXT ADD DL,7 NEXT:MOV AH,02H INT 21H (4) 将DH中的二进制数看成压缩BCD码并送出显示的程序段如下: MOV DL,DH MOV CL,4 ;获取十位 SHR DL,CL ADD DL,30H MOV AH,2 ;2号功能调用显示十位 INT 21H MOV DL,DH AND DL,0FH ;获取个位 OR DL,30H INT 21H 21、图略 22、假定AX和BX中的内容为带符号数,CX和DX的内容为无符号数,请用比较指令和转移指令实现以下条件转移: (1)若DX的内容超过CX的内容,则转到Ll。 答:CMP DX,CX JA Ll (2)若BX的内容大于AX的内容,则转到L2。 答:CMP BX,AX JG L2 (3)若DX的内容未超过CX的内容,则转到L3。 答:CMP DX,CX JNA L3 (4)判断BX与AX相比较是否产生溢出,若溢出则转到L4。 答:CMP BX,AX JO L4 (5)若BX的内容小于等于AX的内容,则转到L5。 答:CMP BX,AX JLE L5 (6)若DX的内容小于等于CX的内容,则转到L6。 答:CMP DX,CX JBE L6 23、假设BX=0A69H,VALUE变量中存放的内容为1927H,写出下列各条指令执行后的BX的寄存器中和CF、ZF、SF与OF的值: (1) XOR BX,VALUE (2) AND BX,VALUE (3) OR BX,VALUE (4) SUB BX,VALUE (5) CMP BX,VALUE (6) TEST BX,VALUE 答: BX CF ZF SF OF (1) 134EH 0 0 0 0 (2) 0821H 0 0 0 0 (3) 186FH 0 0 0 0 (4) Fl42H 1 0 1 0 (5) 0A69H 1 0 1 0 (6) 0A69H 0 0 0 0 第4章 MASM汇编语言 1、名词解释 指令 伪指令 宏指令 汇编语句 汇编语言 汇编源程序 汇编程序 汇编 连接程序 连接 答:指令:是CPU可以理解并执行的操作命令。 伪指令:是用于为汇编程序编译时理解程序框架、分配空间(数据定义)等的汇编语句。 宏指令:实质上就是有多条指令打包而成的一组指令的集合。 汇编指令:一行只能写一条汇编语句,一条汇编只能写在一行内。 汇编语言:语句中的表达式是在汇编过程中完成计算的,即翻译之后的机器语言程序中 是不包含表达式的。 汇编源程序:主要有四步,录入源程序、汇编、连接、运行、调试运行。(不准确) 汇编程序:编写汇编程序实质上就是在记住程序框架的基础上填写两空,即数据定义部 分和功能程序部分。 汇编:格式:MASM [[盘符][路径]程序基本名[.ASM]] 建议程序基本名不要省略. 连接程序: 编译器和汇编程序都经常依赖于连接程序,它将分别在不同的目标文件中编译或汇编的代码收集到一个可直接执行的文件中。连接程序还连接目标程序和用于标准库函数的代码,以及连接目标程序和由计算机的操作系统提供的资源 连接:LINK [[盘符][路径]程序基本名[.OBJ]]建议程序基本名不要省略。 2、写出三种汇编语句的基本格式并进行说明。 教材P50 3、由用户取名的名字项有哪些?名字项的取名规则如何? 教材P50 4、请计算下列表达式的值。 答(1) 3+6/3*4 mod 3 ;注意运算优先级,值为5 (2) (M GT N) AND N OR M LE N AND M ;M,N中的较小值 (3) 5 GT 3 (作为8位和16位二进制数各为多少) ;0FFH和0FFFFH (4) 20 AND 77(作为8位和16位二进制数各为多少) ;04H和0004H (5) 5 AND-1 :5 (6) 5 OR-1 ;-l (7) NOT 5 (作为8位和16位二进制数各为多少) ;0FAH和0FFFAH,均为-6 (8) 设有定义如下: A DB 2,4,6,8 B DW 2,4,6,8 C DW 5 DUP(2,4,6,8) 则TYPE A、TYPE B和TYPE C分别为多少? ;1,2,2 LENGTH A、LENGTH B和LENGTH C分别为多少? ;1,1,5 SIZE A、SIZE B和SIZE C分别为多少? ;1,2,10 5、汇编语言中的数据类型与其他高级语言的数据类型相比较有哪些特点? 6、设有如下定义: A DB 1101B,34,56Q,78H,4 DUP (?),'ABCD’ 请画出内存分配示意图并将其改成内存中存放次序相同的DW及DD的等价定义语句。 答:图自己画。 A DW 220DH,782EH,2 DUP(?),4241H,4443H B DD,782E220DH,?,44434241H 7、一个汇编源程序最多可以定义多少个段?段寄存器与所定义的段之间的对应关系是怎样实现的? 答:最多4个段,通过段对应伪指令ASSUME 段寄存器名:段名来实现的对应。 8、设置一个数据段DATA,其中连续存放6个变量,用段定义语句和数据定义语句写出数据段: (1)A1为字符串变量:‘Example’。 (2)A2为数值字节变量:l00,127,-l,80H,35Q,1101110B。 (3)A3为4个0的字变量。 (4)A4为A3的元素个数。 (5)A5为A3占用的字节数。 (6)A6为Al,A2,A3,A4,A5占用的总字节数。 答:DATA SEGMENT A1 DB ‘Example’ A2 DB l00,127,一l,80H,35Q,ll0111013 A3 DW 4 DUP(0) A4 DW LENGTH A3 A5 DW A4一A3 ;或SIZE A3 A6 DW $一Al DATA ENDS 9、指出下列每一小题中的伪指令表达的操作哪些是错误的?错误在哪里? 自己做。 10、指令OR AX, 0FC8H OR 563FH中,问两个OR操作分别在什么时候进行?有什么区别?用立即数写出此等价指令。 答:第一个OR是CPU执行指令时完成的操作,第二个OR是汇编程序汇编时完成的操作。 用立即数写出的等价指令是OR AX, 5FFFH。 11、指出下列每一对伪指令语句的区别 自己做。 12、请进行宏与子程序的比较。 教材P60 13、请用流程图表示完整汇编程序的上机过程。 教材P61 14、请默写两段程序的基本框架。 教材P60 15、请写出两字节数据相乘保存于字中的宏定义。 答:参考代码如下: ABM MACRO OPR1,OPR2,OPR3 ;宏定义,三个形参 PUSH AX PUSH BX MOV AL,OPR1 MOV BL,OPR2 MUL BL MOV OPR3,AX POP BX POP AX ENDM ;宏定义结束 第5章 汇编程序设计 1、程序的三种基本结构是什么?请分别画出各自核心部分的流程图。 P66 2、请画出将1字节二进制数据转化成十六进制数显示的流程图。 自己画 3、编程实现两个字节变量相乘送字变量的程序。 答:DATA SEGMENT A DB l2H B DB 34H C DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,A MUL B MOV C,AX :C=A×B MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START 4、编程实现从键盘接收2个一位十进制数并计算和显示它们的积。(如输入7和9则显示为:7*9=63) 答:CODE SEGMENT ASSUME CS:CODE AGAINl:MOV AH,1 ;录入第一位 INT 2lH CMP AL,'0' JB AGAINl CMP AL,'9' JA AGAINl MOV DH,AL SUB DH,30H MOV DL,'*’ ;显示”*” MOV AH,2 INT 21H AGAIN2:M0V AH,1 ;录入第二位 INT 21H CMP AL,‘0’ JB AGAIN2 CMP AL,‘9’ JA AGAIN2 SUB AL,30H MUL DH ;相乘 AAM ;分离十位和个位 MOV DH,AL ;暂存个位 MOV DL,AH :显示十位 ADD DL,30H MOV AH,2 INT 21H MOV DL,DH ;显示个位 ADD DL,30H INT 21H MOV AH,4CH INT 21H CODE ENDS END AGAINl 5、编程实现从键盘接收两位十六进制数并将其转化为等值的十进制数显示出来(如输入7CH=124,要求至少设计一个子程序) 自己写 6、编程实现三个变量值的排序(分别用无符号数和有符号数处理)。 答:实现A、B、C三个变量从小到大排序的程序如下。 DATA SEGME- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课后 习题 答案 资料 讲解
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文