微型计算机原理与接口技术第四章课后答案
微机原理与接口技术课后习题答案
微机原理与接口技术习题参考答案第一章(p20)1、参考答案:冯•诺伊曼计算机的设计思想(EDVAC方案:存储程序通用电子计算机方案):①计算机分为计算器、控制器、存储器、输入和输出装置五个部分;②计算机内采用二进制;③将程序存储在计算机内,简称“程序存储”。
其中第三点是冯•诺依曼计算机设计的精华,所以人们又把冯•诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。
冯•诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。
2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。
微型计算机系统结构如下图所示。
3、答案略,见p6~74、答案略,见图2,或教材图1-35、答案略,见p12~136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。
7、参考答案:①PCI(Peripheral Component Interconnect:外围设备互联),是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium微型计算机。
PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI 总线上。
单片机微型计算机原理及接口技术课后习题答案第4章
单片机微型计算机原理及接口技术课后习题答案第4章4-2 试述指令MOV A,R0和MOV A,@R0的区别两条指令的目的操作数相同,两条指令的区别在于源操作数来源不同:MOV A,R0 指令的源操作数就是R0寄存器的内容;而MOV A,@R0 指令的源操作数是位于存储器单元内,且存储器单元的地址是R0寄存器的内容。
4-3 试述指令MOV A,20H和MOV A,#20H的区别MOV A,20H 源操作数是直接寻址,20H表示源操作数所在存储器单元的地址。
MOV A,#20H 源操作数是立即数寻址,#20H是立即数,也就是源操作数。
4-4 说明一下指令中源操作数所在的存储器类型。
(1)MOV A,#30H; 立即数#30H,就是源操作数,存在于指令中,所以位于程序存储器。
(2)MOV A,30H; 30H是源操作数所在数据存储单元的地址,所以源操作数位于数据存储器。
(3)MOVC A,@A+DPTR;源操作数是变址寻址, 助记符MOVC表示源操作数位于程序存储器。
(4)MOVX A,@DPTR; 源操作数是寄存器间接寻址, 助记符MOVX表示源操作数位于外部数据存储器。
4-5 判断下列指令书写是否正确:(1)MOV A,B; ✔(2)MOV A,#3000H ; ✘,因为A是8位寄存器,而#3000H是16位数值,没法全部存到A里(3)INC,#20H ; ✘只能INC A/direct/Rn/@Ri/DPTR(4)MOV 5,A ; ✔,注意目的操作数是直接寻址方式,不是立即寻址(5)MOV 30H,40H; ✔(6)MOV B,@DPTR ; ✘,@DPTR寻址用于MOVX指令,不能用于MOV指R(7)CJNE 30H,#80H,NEXT ; ✘,CJNE指令格式只能是CJNE A/Rn/@Ri,#data,rel或CJNE A,direct,rel(8)POP A ; ✘只能是直接寻址方式POP direct,正确的是POP ACC(9)PUSH ACC; ✔(10)SJMP 2000H ; ✘rel的范围是-128~127(用补码表示其值)共256B范围4-6 设ACC=12H,B=64H,SP=60H,30H中存放的是78H,试分析下列程序执行后,ACC、B、30H、SP中的内容分别为多少,并画出堆栈示意图。
《微机原理与接口技术》第四章习题集与解答知识分享
《微机原理与接口技术》第四章习题集与解答精品文档习题集解答第五章汇编语言程序设计1.从4000H单元开始定义数据段如下,请画出所定义存储器的分配图。
BUF SEGMENTDAl DW 3456HDA2 DB 2 DUP(7,8)BUF ENDS答:存储器的分配图2.对于习题1的定义,请说明下列每条指令执行后的结果。
1、 MOV AX,SEG DAl2、MOV AX,SEG DA23、MOV BX,OFFSET DAl4、MOV BX,OFFSET DA25、MOV CX,TYPE DAl6、MOV CX,TYPE DA27、MOV DX,LENGTH DAl8、MOV DX,LENGTH DA29、MOV AX,SIZE DAl ‘10、MOV AX,SIZE DA2答:1、(AX)=(DS)2、(AX)=(DS)+23、(BX)=4000H4、(BX)=4002H5、(CX)=26、(CX)=17、(DX)=28、(DX)=49、(AX)=210、(AX)=43.已知数据定义如下,请计算变量PL的值是多少?DATA DB ‘AB’DATAl DB 10 DUP(?)PL EQU $-DATA答:PL=DATA+12-DATA=124.已知A=25、B=15、C=4,请计算下列表达式的值。
(1) A × 50+B (2) A MOD C+B(3)(A+4)×B-3 (4) B/3 MOD 4(5)A LE B (6) A XOR 50答:(1) A × 50+B= 25 × 50+15=1250+15=12515(2) A MOD C+B=25 MOD 4+15=1+15=16(3)(A+4)×B-3 =(25+4)×15-3 =1500-3=1497(4) B/3 MOD 4 =15/3 MOD 4 =5 MOD 4 =1(5)A LE B =25 LE 15 = 0(6) A XOR 50 = 25 XOR 50 = 435.已知内存DATA单元存放一个字数据,请统计其中含有0的个数,并送人RESULT单元的程序。
1微型计算机原理与接口技术__课后答案_(邹逢兴_著)_清华大学出版社
2.14 解: (BP)=4433H,(SP)=1022H,
2.15 1. ( CL ) = 0F6H 2. [1E4F6H] = 78H 3. ( BX ) = 0056H , ( AX ) = 1E40H
3
4. ( SI ) = 00F6H , [ SI ] = 0024H 5. ( AX ) = 5678H , [ 09226H ] = 1234H
;'0D’→ CR 键,’0AH’
→ LF 键
;PLUS:正数的个数。
;ZERO: 0 的个数。
DATA
ENDS
;MINUS:负数的个数。
CODE SEGMENT ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
;给 DS 赋初值,
MOV DS, AX
;建立其数据段的寻址性。
2) 将 ES 段从 EA = 0100H 开始的 128 个字单元清 0。
2.35 解:
MIN: MOV BX, ?1
;3000H
MOV AL, [BX]
MOV CX, ?2
;100H
LP1: INC BX
CMP AL, [BX]
?3 LP2
;JLE
MOV AL, [BX]
LP2: DEC CX
JNZ ?4
MOV MOV XOR NEXT: CMP
CX, 18 SI, 00H BX, BX ARRAY[SI], 00H
JS M_PRO
JZ Z_PRO
P_PRO: INC D_SUM
INC MOV MOV MOV JMP
P_SUM+5 AL, ARRAY[SI] BL, P_SUM+5 (P_ARR-1) [BX], AL NEXT1
《微机原理与接口技术》(第四版)周何琴课后习题答案
第1章绪论作业1. 将下列二进制数转换成十进制数。
(1)11001010B=202 (2)00111101B=61(3)01001101B=77 (4)10100100B=1643. 将下列十进制数分别转换为二进制数和十六进制数。
(2)76= 100 1100B =4CH(4)134= 1000 0110B =86H4. 求下列十进制数的BCD码(1)327=11 0010 0111(BCD码)(2)1256=1 0010 0101 0110(BCD码)6. 求出下列10进制数的原码、反码和补码(2)+85 (4)-85解:85=0101 0101B原码:+85= 0101 0101B -85= 1101 0101B反码:+85= 0101 0101B -85= 1010 1010B补码:+85= 0101 0101B -85= 1010 1011B10. 画出微型计算机的基本结构框图,说明各部分的主要功能是什么?解:微型计算机的基本结构框图如下:微处理器CPU:控制微处理器与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。
微处理器主要完成:(1)指令控制:从存储器中取指令,指令译码;(2)数据加工:简单的算术逻辑运算;(3)操作控制:在微处理器和存储器或者I/O之间传送数据;(4)时间控制:程序流向控制。
存储器:用来存放数据和指令。
I/O接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。
I/O设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。
输出运算结果。
总线:连接计算机系统中各功能部件的信息通道。
第2章 8086CPU作业2. 8086CPU内部由哪两部分组成?它们的大致是如何工作的?答:(1)8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。
(2)① BIU先执行读存储器操作,从给定地址单元中取出指令,送到先进先出的指令队列中等待执行。
《微型计算机原理与接口技术》第三版 课后答案 第四章
习题一、选择CBC AAD三、判断√√√√√五、设计1、编程实现求S=(X2+Y2)/Z的值,将最后结果放入RESULT单元保存。
参考程序如下:DA TA SEGMENT ;定义数据段X DB 5 ;给X、Y、Z赋初值Y DB 7Z DB 2RESULT DB ?;定义RESULT单元,预留空间DA TA ENDS ;数据段结束CODE SEGMENT ;定义代码段ASSSUME CS:CODE,DS:DATASTART:MOV AX,DATA ;初始化DSMOV DS,AXMOV AL,X ;将数据X送ALMUL X ;计算X2MOV BX,AX ;将中间结果保存到BXMOV AL,Y ;将数据Y送ALMUL Y ;计算Y2ADD AX,BX ;X2+Y2,结果保存到AXDIV Z ;计算(X2+Y2)/ZMOV RESULT,AL ;最后结果送RESULT单元MOV AH,4CH ;返回DOSINT 21HCODE ENDS ;代码段结束END START ;汇编结束2.计算S=(A+B)/2 – 2(A AND B)。
DA TA SEGMENTA DB 12B DB 51S DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DA TAMOV DS,AXMOV AL,AADD AL,BSHR AL,1MOV AH,AMOV BL,BAND AH,BLMOV BL,AHSHL BL,1SUB AL,BLMOV S,ALMOV AH,4CHINT 21HCODE ENDSEND START3. 参考P86 例4.34.DA TA SEGMENTX DW 34S DW ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DA TAMOV DS,AXMOV AX,XCMP AX,0JL DOUBCMP AX,10JLE TRIBSAL AX,1SAL AX,1JMP EXITDOUB: SAL,AX,1JMP EXITTRIB:SAL AX,1ADD AX,XEXIT:MOV S,AXMOV AH,4CHINT 21HCODE ENDSEND START5.统计非数字字符的个数DA TA SEGMENTBUF DB 20H DUP (?)CNT DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DA TAMOV DS,AXLEA SI,BUFMOV DL,0NEXT1:MOV AH,01HINT 21HMOV [SI],ALINC SICMP AL,0DHJZ EXITCMP AL,30HJGE NEXTINC DLJMP NEXT1NEXT:CMP AL,39HJBE NEXT1INC DLJMP NEXT1EXIT:MOV CNT,DLMOV AH,4CHINT 21HCODE ENDSEND START6、将键盘连续输入的小写字母转换成大写字母CODE SEGMENTASSUME CS:CODESTART: MOV AH,01HINT 21HMOV BL,ALMOV DL,’-‘MOV AH,02HINT 21HMOV AL,BLCMP AL,’a’JB EXITCMP AL,’z’JA EXITSUB AL,20HMOV DL,ALMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HMOV DL,0DHMOV AH,02HINT 21HJMP STARTEXIT: MOV AH,4CHINT 21HCODE ENDSEND START7.统计负数的个数DATA SEGMENTBUF DB 45,50,-34,40,4,15,29,-1,-2,-59CN EQU $-bufA DB ?B DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DA TAMOV DS,AXLEA SI, BUFMOV CX, CNMOV BX, 0LP: MOV AL, [SI]INC SITEST AL, 80HJZ NEXTINC BHJMP EXITNEXT: INC BLEXIT: LOOP LPMOV A, BLMOV B, BHMOV AH,4CHINT 21HCODE ENDSEND START8、宏定义,将16进制数转换成ASCII码HEXTOA MACROAND AL,0FHCOM AL,9JNA HEXTOA1ADD AL,07HHEXTOA1: ADD AL,30HENDM出师表两汉:诸葛亮先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
微型计算机原理与接口技第四章习题参考答案
第四章习题参考答案教材上的习题P205 1 解:A1 - 4字节,A2 - 6字节,A3 - 40字节,A4 - 60字节P205 4 解:PAR偏移地址为0, PLENTH 当前偏移地址$=2+16+4=22,$-PAR=22,故PLENTH的值为22P205 5 解:AX=1,BX=20,CX=1P206 6 解: 应讨论最高位为1和0的情况。
如输入最高位为1,AH=0;输入最高位为0,AH=0FFH。
IN AL,5FH ;假如输入后AL=45HTEST AL,80H ;执行01000101 AND 10000000后ZF=1,AL=00HJZ L1 ;ZF=1,转到L1MOV AH,0JMP STOPL1: MOV AH,0FFH ;结果AH=0FFHSTOP: HALT补充题阅读程序并完成填空(1) ADDR1开始的单元中连续存放两个双字数据,求其和,并将和存放在ADDR2开始的单元(假定和不超过双字)MOV CX,2XOR BX,BXCLCNEXT: MOV AX,[ADDR1+BX]ADC AX,MOV [ADDR2+BX],AXINC BXNEXT解:[ADDR1+BX+4]INC BXLOOP(2)在数据段ADDR1地址处有200个字节数据,要传送到数据段地址ADDR2处。
MOV AX, SEG ADDR1MOV DS, AXMOV ES,MOV SI,MOV DI, OFFSET ADDR2MOV ,200CLDREP解:AXOFFSET ADDR1CXMOVSB(3)已知有某字串BUF1的首地址为2000H, 数据段与附加段重合。
欲从BUF1处开始将20个字数据顺序传送至BUF2处。
(假设BUF1和BUF2有地址重叠)LEA SI, BUF1ADD SI,LEA DI, BUF2STDMOV CX,REP MOVSW解:38ADD DI, 3820(4)设有一个首地址为ARRAY,有N个字数据的数组,要求求出该数组之和,并把结果存入TOTAL地址中。
微型计算机原理与接口技术课后习题参考答案
《微型计算机原理与接口技术》习题与思考答案第1章微型计算机概论1.1 A B C 1.2 B 1.3 B 1.4 C 1.5 A B C 1.6 B D1.7 00000111B=7D=07H 11010100B=212D=D4H01101010B=106D=6AH 10110.101B=22.625D=16.AH11001.011B=25.375D=19.6H1.8 127D=11111111B=FFH 12.625D=1100.101B=C.AH225.9375D=11100001.1111B=E1.FH 18.3l25D=10010.0101B=12.5H206.125=11001110.001B=CE.2H1.9 10H=10000B=16D 0.A8H=0.10101B=0.65625D28.9H=101000.1001B=40.5625D 4B.2AH=1001011.0010101B=75.6762D20E.4H=1000001110.01B=526.25D1.10 [+37]原=00100101B [+37]反=00100101B [+37]补=00100101B [+37]过余=10100101B[+94]原=01011110B [+94]反=01011110B [+94]补=01011110B [+94]过余=11011110B [-11]原=10001011B [-11]反=11110100B [-11]补=11110101B [-11]过余=01110101B [-125]原=11111101B [-125]反=10000010B [-125]补=10000011B [-125]过余=00000011B1.11补码00010101B的真值为+21D 补码41H的真值为+65D补码9BH的真值为-101D 补码FFH的真值为-1D补码11110101B的真值为-11D1.12 A的ASCII码为41H a的ASCII码为61Hg的ASCII码为67H z的ASCII码为7AH0的ASCII码为30H 9的ASCII码为39H*的ASCII码为2AH +的ASCII码为2BHCR的ASCII码为0DH %的ASCII码为25H1.12一个16×16字形点阵占用存储空间32B一个24×24字形点阵占用存储空间72B一个32×32字形点阵占用存储空间128B1.14 (以8位补码为例)[X]补+[Y]补=[+38]补+[+100]补=0001010B,溢出[X]补+[Z]补=[+38]补+[-20]补=00010010B,未溢出[Y]补- [Z]补=[+100]补- [-20]补=01111000B,未溢出[Z]补- [X]补=[-20]补- [+38]补=11000110B,未溢出1.15 X与Y=0100B X或Z=1111B Y异或Z=1101B 非Y=1001B1.16微型计算机具有体积小、重量轻、功耗低;功能强;可靠性高;价格低廉;结构灵活、适应性强;使用方便、维护容易等特点。
(完整版)《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案
《微型计算机原理与接口技术》清华大学出版社冯博琴吴宁主编课后答案第1章基础知识1。
1 计算机中常用的计数制有哪些?解:二进制、八进制、十进制(BCD)、十六进制。
1。
2 什么是机器码?什么是真值?解:把符号数值化的数码称为机器数或机器码,原来的数值叫做机器数的真值。
1.3 完成下列数制的转换。
微型计算机的基本工作原理汇编语言程序设计微型计算机接口技术建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。
解:(1)166,A6H (2)0。
75(3)11111101.01B, FD。
4H(4 )5B.AH, (10010001.011000100101)BCD1.4 8位和16位二进制数的原码、补码和反码可表示的数的范围分别是多少?解:原码(—127~+127)、(-32767~+32767)补码(—128~+127)、(-32768~+32767)反码(—127~+127)、(—32767~+32767)1。
5 写出下列真值对应的原码和补码的形式。
(1)X= -1110011B (2)X= -71D(3)X= +1001001B 解:(1)原码:11110011 补码:10001101 (2)原码:11000111 补码:10111001 (3)原码:01001001 补码:01001001 1。
6 写出符号数10110101B的反码和补码。
解:11001010,110010111.7 已知X和Y的真值,求[X+Y]的补码。
(1)X=—1110111B Y=+1011010B (2)X=56D Y= —21D 解:(1)11100011 (2)001000111。
8 已知X= —1101001B,Y= -1010110B,用补码求X-Y的值。
解:111011011.9 请写出下列字符的ASCII码。
4A3- !解:34H,41H,33H,3DH,21H1.10 若给字符4和9的ASCII码加奇校验,应是多少?解:34H,B9H1。
微型计算机原理与接口技术课后习题答案中科大出版社第四版
10000H~1FFFFH 12340H~2233FH 23000H~32FFFH E0000H~EFFFFH AB000H~BAFFFH
18:26:23
18
10.在实模式下对下列CS:IP的组合,求出要 执行的下一条指令的存储器地址。
➢ a) CS:IP=1000H:2000H ➢ b) CS:IP=2000H:1000H ➢ c) CS:IP=1A00H:B000H ➢ d) CS:IP=3456H:AB09H
13.将下列十进制数转换为压缩和非压缩BCD (1)102 (2)44 (3)301 (4)1000 (1)[102]压缩BCD=0000 0001 0000 0010B [102]非压缩BCD=0000 0001 0000 0000 0000 0010B (2)[44]压缩BCD=0100 0100B [44]非压缩BCD=0000 0100 0000 0100B (3)[301]压=0000 0011 0000 0001B [301]非压=0000 0011 0000 0000 0000 0001B (4) [1000]压=0001 0000 0000 0000B [1000]非压=0000 0001 0000 0000 0000 0000 0000 0000B
18:26:23
24
➢ 最大模式可以构成多处理器/协处理器系统,即一个 系统中存在两个以上微处理器,每个处理器执行自 己的程序。系统中所需要的控制信号由总线控制器 8288提供,8086CPU提供信号控制8288,以实现 全局资源分配及总线控制权传递。在两种模式中, CPU的24~31引脚意义不同。
18:26:23
12
➢ 指针和变址寄存器存放的内容是某一段内地址偏移 量,用来形成操作数地址,主要在堆栈操作和变址 运算中使用。
微型计算机原理与接口技术课后习题答案
数据结构与算法的关系
数据结构与算法是相辅相成的,数据结构的选择会影响算法的 效率和实现方式,而算法的选择也会影响数据结构的组织形式 和使用方式。
04 微型计算机应用与开发
Байду номын сангаас 应用软件与开发工具
计算机工作原理
总结词
计算机的工作原理基于二进制数的运算,通过存储器、运算器和控制器等部件的协同工 作,实现数据的处理和传输。
详细描述
计算机的工作原理基于二进制数的运算,通过存储器、运算器和控制器等部件的协同工 作,实现数据的处理和传输。在计算机内部,数据以二进制数的形式表示和处理,运算 器根据控制器的指令对数据进行运算,并将结果存储回存储器中。输入输出设备则负责
第2章习题答案
选择题
答案
简答题
答案
在计算机中,数据是以什么 形式存储的?
在计算机中,数据是以二进 制形式存储的。
简述计算机中存储器的分类 及其特点。
计算机中存储器可以分为随 机存取存储器(RAM)、只 读存储器(ROM)和高速缓 存存储器(Cache)等。 RAM的特点是可以随时读写, 但断电后数据会丢失;ROM 的特点是只能读取不能写入, 但数据不会因断电而丢失; Cache的特点是读写速度快, 可以暂存部分数据,提高 CPU的访问速度。
接口
接口是连接设备和总线的桥梁,负 责数据的传输和控制。
性能指标
总线的带宽和传输速率是衡量其性 能的重要指标。
04
03 微型计算机软件技术
操作系统
操作系统定义
操作系统是控制计算机硬件与软件资源、管理计算机程序的软件, 是计算机系统的核心组成部分。
《微型计算机原理与接口技术》课后习题答案
1. 什么是冯·诺依曼机?答:冯·诺依曼于1945 年提出了存储程序的概念和二进制原理,利用这种概念和原理设计的电子计算机系统统称为冯·诺依曼机。
它包括运算器、控制器、存储器、输入设备和输出设备五个组成部分。
早期的冯·诺依曼机结构上以运算器和控制器为中心,随着计算机体系结构的发展,现在已演化为以存储器为中心的结构。
2. 微处理器,微型计算机,微型计算机系统有什么联系与区别?答:微处理器是微型计算机系统的核心,也称为CPU(中央处理器)。
主要完成:①从存储器中取指令,指令译码;②简单的算术逻辑运算;③在处理器和存储器或者I/O 之间传送数据;④程序流向控制等。
微型计算机由微处理器、存储器、输入/输出接口电路和系统总线组成。
以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。
三者关系如下图:3. 微处理器有哪些主要部件组成?其功能是什么?答:微处理器是一个中央处理器,由算术逻辑部件ALU、累加器和寄存器组、指令指针寄存器IP、段寄存器、标志寄存器、时序和控制逻辑部件、内部总线等组成。
算术逻辑部件ALU 主要完成算术运算及逻辑运算。
累加器和寄存器组包括数据寄存器和变址及指针寄存器,用来存放参加运算的数中间结果或地址。
指令指针寄存器IP 存放要执行的下一条指令的偏移地址,顺序执行指令时,每取一条指令增加相应计数。
段寄存器存放存储单元的段地址,与偏移地址组成20 位物理地址用来对存储器寻址。
标志寄存器flags 存放算术与逻辑运算结果的状态。
时序和控制逻辑部件负责对整机的控制:包括从存储器中取指令,对指令进行译码和分析,发出相应的控制信号和时序,将控制信号和时序送到微型计算机的相应部件,使CPU内部及外部协调工作。
内部总线用于微处理器内部各部件之间进行数据传输的通道。
4. 画一个计算机系统的方框图,简述各部分主要功能。
答:计算机系统由硬件(Hardware)和软件(Software)两大部分组成。
《微机原理与接口技术》习题答案
习题参考答案第1章习题参考答案1. (1)D (2)D (3)B (4)C (5)D (6)D2. 答:计算机是一种以电子器件为基础的,不需人的直接干预,能够对各种数字化信息进行快速算术和逻辑运算的工具,是一个由硬件﹑软件组成的复杂的自动化设备。
理解计算机的概念,应从六个方面:(1)以电子器件为物质基础,即研究的对象是电子数字计算机(Digital Computer);(2)不需要人的直接干预,说明具有自动化能力,其前提是存储程序;(3)处理各种数字化信息,计算机以二进制编码作为数字化编码及运算的基础;(4)具有算逻运算能力,基本运算操作是算术和逻辑运算;(5)计算机是快速工具,主要取决于两个因素:一是电子器件,二是存储程序。
(6)由硬件和软件组成。
3. 答:见本章小结。
4. 答:计算机的生命力在于它的广泛应用,应用的范围几乎涉及人类社会的所有领域。
归纳起来,在科学计算、过程检测与控制、信息管理、计算机辅助系统等领域中的应用成就最为突出。
举例:计算机辅助教学CAI;学生的学籍管理系统;数字图书馆系统;虚拟现实系统;售票系统;学校的一卡通系统等。
5. 答:冯•诺依曼原理的基本思想是:•采用二进制形式表示数据和指令。
指令由操作码和地址码组成。
•将程序和数据存放在存储器中,使计算机在工作时从存储器取出指令加以执行,自动完成计算任务。
这就是“存储程序”和“程序控制”(简称存储程序控制)的概念。
•指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。
•计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成,并规定了5部分的基本功能。
冯•诺依曼型计算机的基本特点也可以用“存储程序”和“程序控制”来高度概括。
6. 答:计算机的硬件系统由有形的电子器件等构成的,它包括运算器、存储器、控制器、输入输出设备及总线系统组成。
而总线分为数据总线、地址总线、控制总线,其结构有单总线结构、双总线结构及多总线结构。
微机原理与接口技术(楼顺天第二版)第四章习题解答
微机原理与接口技术(楼顺天第二版)习题解答第4章汇编语言程序设计4。
1、已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。
答:BUF D B ”BONJOUR_BELLE"BUFR DB 100 DUP(?)MOV CX, NLEA SI, BUFLEA DI, BUFRADD DI,CXDEC DIL1:MOV AL,[SI]MOV [DI],ALINC SIDEC DILOOP L14。
2、利用移位、传送和相加指令实现AX的内容扩大10倍.答:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。
XOR DX,DXSHL AX,1RCL DX,1MOV BX,AXMOV CX,DXSHL AX,1RCL DX, 1SHL AX, 1RCL DX, 1ADD AX, BXADC DX, CX4。
3、在缓冲区V AR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果V AR中保存的为有符号数,则再编写程序实现将其按递减关系排列。
答:V AR DW 1236,-432,3900XOR SI,,SIMOV AX,V AR[SI]CMP AX,V AR[SI+2]JAE L1XCHG AX,V AR[SI+2]L1:CMP AX, V AR[SI+4]JAE L2XCHG AX, V AR[SI+4]L2:MOV V AR[SI],AXMOV AX,V AR[SI+2]CMP AX,V AR[SI+4]JAE L3XCHG AX,V AR[SI+4]L3:MOV V AR[SI+2], AX4。
4、编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。
微型计算机原理与接口技术第四章课后答案
第四章1. 下列变量各占多少字节?A1 DW 23H,5876HA2 DB 3 DUP(?),0AH,0DH, ‘$’A3 DD 5 DUP(1234H, 567890H)A4 DB 4 DUP(3 DUP(1, 2,’ABC’))答:A1占4个字节A2占6个字节A3占40个字节A4占60个字节2. 下列指令完成什么功能?MOV AX,00FFH AND 1122H+3344HMOV AL,15 GE 1111BMOV AX,00FFH LE 255+6/5AND AL, 50 MOD 4OR AX, 0F00FH AND 1234 OR 00FFH答:(1)将0066H传送给AX(2)将0FFH传送给AL(3)将0FFFFH传送给AX(4)AND AL,02H(5)OR AX,00FFH3. 有符号定义语句如下:BUF DB 3,4,5,’123’ABUF DB 0L EQU ABUF-BUF求L的值为多少?答:L=64. 假设程序中的数据定义如下:PAR DW ?PNAME DB 16 DUP(?)COUNT DD ?PLENTH EQU $-PAR求PLENTH的值为多少?表示什么意义?答:PAR的偏移地址为0,PLENTH当前偏移地址$=2+16+4=22, $-PAR=22,故PLENTH 的值为22。
若在PLENTH所在行有变量定义,则$表示该变量的偏移地址,即$表示PLENTH所在行的当前偏移地址。
故PLENTH表示从当前行到PAR之间定义的变量所占的字节个数。
5. 对于下面的数据定义,各条MOV指令执行后,有关寄存器的内容是什么?DA1 DB ?DA2 DW 10 DUP(?)DA3 DB ‘ABCD’MOV AX, TYPE DA1MOV BX, SIZE DA2MOV CX, LENGTH DA3答:AX=1,BX=20,CX=16. 下段程序完成后,AH等于什么?IN AL, 5FHTEST AL, 80HJZ L1MOV AH, 0JMP STOPL1: MOV AH, 0FFHSTOP: HLT答:讨论从端口5FH输入的数据最高位的情况。
微机原理与接口技术(科学出版社)第4章课后习题及答案
微机原理与接口技术第四章课后习题1.指令主要有哪些分类方式? 其主要类别是什么?答:操作数、级别、功能。
操作数:无操作数、单操作数、双操作数三操作数;级别:机器指令和汇编指令功能:传送类、算术运算类、位操作类、I/O类、串操作类、CPU控制类、转移类;2.80X86的寻址方式有哪些?它们的具体含义是什么?答:操作数寻址方式主要有立即寻址方式、寄存器寻地址、存储器寻址方式、端口寻址方式(1)立即寻址方式:操作对象是这个操作数本身(2)寄存器寻地址:操作对象是寄存器中的内容(3)存储器寻址方式:操作对象是内存地址所对应的存储单元中的内容(4)端口寻址方式:操作数是指明端口的地址、端口地址所对应的端口中的内容是操作对象3. 指出下列各指令中源操作数和目的操作数的寻址方式:⑴MOV BX,WORD PTR[2200H] ⑵ AAA⑶JUM 2200H ⑷ LES DI,[2100H]⑸ MOV [BX+SI+8], BX ⑹ ADD AX,[BP+3000H]答:⑴MOV BX, WORD PTR[2200H] 源操作数:直接寻址;目的操作数:寄存器寻址⑵AAA 源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址⑶JUM 2200H 程序转移段内直接寻址方式⑷LES DI,[2100H] 源操作数:直接寻址;目的操作数:寄存器寻址⑸MOV [BX+SI+8], BX 源操作数:寄存器寻址;目的操作数:相对基址变址寻址⑹ADD AX,[BP+3000H] 源操作数:直接寻址;目的操作数:寄存器相对寻址4. 设CS=1000H,DS=2000H,ES=3000H,SS=4000H,IP=100H,SP=200H,BX=300H,BP=400H,SI=500 H,则:(1)10202H(2)40300H(3)21010H(4)42156H(5)31510H5.写出清除AX寄存器内容的方法并比较。
微机原理与接口技术 第四章 课后答案
第四章参考答案1.设下列指令中的所有标识符均是类型属性为字的变量,请指出下列指令中哪些是非法的指令?错误的原因?⑴MOV BP,AL⑵MOV WORD_OP1,WORD_OP2⑶MOV SA VE_WODR,DS⑷MOV SP,SS:DA TA_WORD[BX][SI]⑸MOV [BX][SI],2解:(1)非法。
源操作数与目的操作数类型不符。
(2)合法。
(3)合法。
(4)合法。
(5)非法。
需说明操作数类型。
2.设V AR1和V AR2为字变量,LAB为标号,试指出下列指令的错误之处:⑴ADD V AR1,V AR2⑵SUB AL,V AR1⑶JMP LAB[SI]⑷JNZ V AR1⑸JMP NEAR LAB解:(1)两个操作数均为符号地址。
(2)两个操作数的类型不同。
(3)(4)(5)3.画图说明下列语句所分配的存储空间及初始化的数据值。
⑴BYTE_V AR DB ‘BYTE’,12,-12H,3 DUP(0,?,2 DUP(1,2),?)⑵WORD_V AR DW 5 DUP(0,1,2),?,-5 ‘BY’,’TE’,256H解:(1)(2)41H59H54H45H0CHF4H00H?01H02H01H02H00H?01H02H01H02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H ??FBH FFH 59H 42H 45H 54H 56H 02H4.设程序中的数据定义如下:PARTNO DW ?PNAME DB 16 DUP(?)COUNT DD ?PLENTH EQU $-PARTNO问PLENTH的值为多少?它表示什么意义?解:PLENTH的值为22(16H)。
表示当前位置与PARTNO之间有22个字节空间。
微机原理与接口技术第四章试题及答案
第四章4-1填空1.MCS-51的Po口作为输出端口时,每位能驱动8 个SL型TTL负载.2.MCS-51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入"1"3.设计8031系统时,_P0、P2 口不能用作一般I\O口.4.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON _加以选择.5.当使用慢速外设时,最佳的传输方式是中断.6.当定时器To工作在方式3 时,要占定时器T1的TR1和TF1_两个控制位.7.MCS-51有5 个中断源,有2 个中断优先级,优先级由软件填写特殊功能寄存器IP 加以选择..8.用串口扩并口时,串行接口工作方式应选为方式0 .9.在串行通信中,有数据传送方向单工、半双工、全双工三种方式.10.外部中断入口地址为_ 0013H4-2判断1.MCS-51的5个中断源优先级相同。
(×)2.要进行多机通信,MCS-51串行接口的工作方式应为方式1。
(×)3.MCS-51上电复位时,SBUF=00H。
(×)。
4.MCS-51有3个中断源,优先级由软件填写特殊功能寄存器IP加以选择.. (×)5.用串口扩并口时,串行接口工作方式应选为方式1. (×)6.外部中断INTO 入口地址为_0013H(×)7.MCS-51外部中断0的入口地址是0003H。
(√).8.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。
(√)。
9.使用8751且=1时,仍可外扩64KB的程序存储器。
(×)10.PC存放的是当前执行的指令。
(×)11.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
(×)12.MCS-51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入"0"(×)4-3选择1.在中断服务程序中,至少应有一条( D )(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令2.要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是( B )(A)98H (B)84H (C)42 (D)22H3.D MCS-51在响应中断时,下列哪种操作不会发生( D ).(A)保护现场(B)保护PC (C)找到中断入口若悬河(D)保护PC转入中断入口4.用MCS-51串行接口扩展并行I\O口时,串行接口工作方式应选择( C )(A)方式0 (B)方式1 (C)方式2 (D)方式35.MCS-51有中断源(A)(A)5个(B)2个(C)3个(D)6个6.MCS-51响应中断时,下面哪一个条件不是必须的()(A)当前指令执行完毕(B)中断是开放的确(C)没有同级或高级中断服务须(D)必须有RET1指令7.使用定时器T1时,有几种工作模式(D)(A)1种(B)2种(C)3种(D)4种8.计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是( B )(A)由CPU自动完成(B)在中断响应中完成功之路(C)应由中断服务程序完成(D)在主程序中完成9.下面哪一种传送方式适用于处理外部事件( C )(A)DMA (B)无条件传递进(C)中断(D)条件传递1、2、4章的编程1.8225A控制字地址为300FH,请按:A口方式0输入,B口方式1输出,C口高位输出,C口低位输入,确定8225A控制字并编初始化程序.解:控制字为10010101=95H初始化程序:MOV DPTR ,#300FHMOV A,#95HMOVX @DPTR ,A2.编定一个软件延时1S和1min的子程序.设fosc=6Hz,则一个机器周期1μs。
微机原理与接口技术(第二版)课后习题答案
微机原理与接口技术(第二版)课后习题答案第1章作业答案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?解:把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。
微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。
微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解:CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。
其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3 微型计算机采用总线结构有什么优点?解:采用总线结构,扩大了数据传送的灵活性、减少了连线。
而且总线可以标准化,易于兼容和工业化生产。
1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?解:数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。
它们主要靠信号的时序来区分。
通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。
1.8在给定的模型中,写出用累加器的办法实现15×15的程序。
解: LD A, 0LD H, 15LOOP:ADD A, 15DEC HJP NZ, LOOPHALT第 2 章作业答案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?解:80386、30486、Pentium、Pentium Pro、Peruium II 、PentiumIII、Pentium4。
2.6 IA-32结构微处理器有哪几种操作模式?解:IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。
单片微型计算机原理与接口技术 髙锋版 课后答案第4章
第4章【单片机的程序设计】思考与练习题解析【4—1】简述下列基本概念:程序、程序设计、机器语言、汇编语言及高级语言。
【答】各基本概念如下。
·程序:为计算某一算式或完成某一工作的若干指令的有序集合。
·程序设计:单片机的全部工作概括起来,就是执行程序的过程。
为单片机准备这一程序,即编制程序的工作过程。
’·机器语言:用二进制代码表示的指令系统称为“机器语言系统”,简称为“机器语言”。
·汇编语言:用英文字符来代替机器语言,这些英文字符称为“助记符’’。
用这种助记符表示指令系统的语言称为“汇编语言”或“符号语言”。
·高级语言:参照数学语言而设计的、近似于人们日常用语的语言。
它是面向问题或者面向过程的语言。
这种语言不仅直观、易学、易懂,而且通用性强,易于移植到不同类型的机器中。
【4—2】在单片机领域,目前最广泛使用的是哪几种语言?有哪些优越性?单片机能否直接执行这几种语言?【答】在单片机领域,目前最广泛使用的是汇编语言和高级语言。
汇编语言编写的程序效率高,占用存储空间小,运行速度快,而且能反映单片机的实际运行情况。
但编程比使用高级语言困难,通用性差。
单片机不能直接执行汇编语言程序,必须通过人工(或机器)汇编把汇编语言程序转换为机器语言程序。
高级语言不受具体机器的限制,而且使用了许多数学公式和习惯用语,从而简化了程序设计的过程,通用性强,易于移植到不同类型的单片机中。
单片机不能直接识别和执行高级语言,需要将其转换为机器语言程序才能识别和执行。
对于高级语言,这一转换工作通常称为“编译”或者“解释”。
进行编译或者解释的专用程序称为“编译程序”或者“解释程序”。
【4—3】什么叫伪指令?8OC51单片机程序设计中主要有哪些伪指令语句?【答】伪指令又称为“汇编程序控制译码指令”。
“伪”体现在汇编时不产生机器指令代码,不影响程序的执行,仅指明在汇编时执行一些特殊的操作。
例如.为程序指定一个存储区,将一些数据、表格常数存放在指定的存储单元,说明源程序开始或结束等.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章1. 下列变量各占多少字节?A1 DW 23H,5876HA2 DB 3 DUP(?),0AH,0DH, ‘$’A3 DD 5 DUP(1234H, 567890H)A4 DB 4 DUP(3 DUP(1, 2,’ABC’))答:A1占4个字节A2占6个字节A3占40个字节A4占60个字节2. 下列指令完成什么功能?MOV AX,00FFH AND 1122H+3344HMOV AL,15 GE 1111BMOV AX,00FFH LE 255+6/5AND AL, 50 MOD 4OR AX, 0F00FH AND 1234 OR 00FFH答:(1)将0066H传送给AX(2)将0FFH传送给AL(3)将0FFFFH传送给AX(4)AND AL,02H(5)OR AX,00FFH3. 有符号定义语句如下:BUF DB 3,4,5,’123’ABUF DB 0L EQU ABUF-BUF求L的值为多少?答:L=64. 假设程序中的数据定义如下:PAR DW ?PNAME DB 16 DUP(?)COUNT DD ?PLENTH EQU $-PAR求PLENTH的值为多少?表示什么意义?答:PAR的偏移地址为0,PLENTH当前偏移地址$=2+16+4=22, $-PAR=22,故PLENTH 的值为22。
若在PLENTH所在行有变量定义,则$表示该变量的偏移地址,即$表示PLENTH所在行的当前偏移地址。
故PLENTH表示从当前行到PAR之间定义的变量所占的字节个数。
5. 对于下面的数据定义,各条MOV指令执行后,有关寄存器的内容是什么?DA1 DB ?DA2 DW 10 DUP(?)DA3 DB ‘ABCD’MOV AX, TYPE DA1MOV BX, SIZE DA2MOV CX, LENGTH DA3答:AX=1,BX=20,CX=16. 下段程序完成后,AH等于什么?IN AL, 5FHTEST AL, 80HJZ L1MOV AH, 0JMP STOPL1: MOV AH, 0FFHSTOP: HLT答:讨论从端口5FH输入的数据最高位的情况。
若最高位为1,则AH=0;若最高位为0,则AH=0FFH。
7. 编程序完成下列功能:(1)利用中断调用产生5秒延时。
(2)利用中断调用,在屏幕上显示1~9之间随机数。
答:(1)可以利用中断类型1CH来处理,因为在系统时钟的中断处理程序中,时钟中断一次要调用一次INT 1CH,即每隔55ms,产生一次1CH中断,要产生5秒延时,只要中断5s/55ms=91次即可。
又因1CH中断处理程序中只有一条IRET指令,故可将用户的程序代替原有的INT 1CH程序。
DATA SEGMENTCOUNT DW 91 ;计数器MESS DB ‘5 s delayed!’,0AH,0DH,’$’DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATA,ES:DATASTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV AL,1CH ;得到原中断向量MOV AH,35HINT 21HPUSH ES ;存储原中断向量PUSH BXPUSH DSMOV DX,OFFSET DELAY ;DELAY的偏移地址和段地址MOV AX,SEG DELAYMOV DS,AXMOV AL,1CH ;设置中断向量MOV AH,25HINT 21HPOP DSIN AL,21H ;设置中断屏蔽位AND AL,0FEHOUT 21H,ALSTIMOV DI,2000H ;主程序延迟,在执行此段程序期间A1: MOV SI,3000H ;产生中断A2: DEC SIJNZ A2DEC DIJNZ A1POP DX ;取原中断向量POP DSMOV AL,1CHMOV AH,25HINT 21HRETMAIN ENDPDELAY PROC NEARPUSH DSPUSH AXPUSH CXPUSH DXMOV AX,DATAMOV DS,AXSTIDEC COUNT ;5秒计数JNZ EXITMOV DX,OFFSET MESS ;显示信息MOV AH,09HINT 21HMOV COUNT,91 ;5秒的值EXIT: CLIPOP DXPOP CXPOP AXPOP DSIRETDELAY ENDPCODE ENDSEND START(2)可以利用INT 1AH,读取当前时间的1/100秒为随机数。
CODE SEGMENTASSUME CS:CODESTART:MOV AH,0INT 1AH ;读取当前时间CH:CL=时:分MOV AL,DL ;DH:DL=秒:1/100秒MOV AH,0MOV BL,9DIV BLINC AHMOV DL,AHADD DL,30HMOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND START8. 编两个通过过程完成将AX中存放的二进制数转换成压缩型BCD码以及将BCD码转换成二进制数。
答:(1)将AX中的二进制数先后除以1000,100和10,每次除法所得的商,即是BCD数的千位、百位和十位数,余数是个位数。
子程序名:B2TOBCD输入参数:AX=十六位二进制数输出参数:CF=0,则AX=4位压缩型BCD码。
CF=1,则要转换的数大于9999,AX不变。
使用寄存器:CX:存放除数,DX:存放中间结果。
B2TOBCD PROC FARCMP AX,9999 ;AX>9999,则CF置1JBE TRANSTCJMP EXITTRAN: PUSH CXPUSH DXSUB DX,DX ;DX清0MOV CX,1000 ;计算千位数DIV CXXCHG AX,DX ;商在DX中,余数在AX中MOV CL,4SHL DX,CL ;DX左移4位MOV CL,100 ;计算百位数DIV CLADD DL,AL ;百位数加到DL中,DX左移4位MOV CL,4SHL DX,CLXCHG AL,AH ;余数保留在AL中SUB AH,AHMOV CL,10 ;计算十位数DIV CLADD DL,AL ;十位数加到DL中,DX左移4位MOV CL,4SHL DX,CLADD DL,AH ;加个位数MOV AX,DX ;结果送到AX中POP DXPOP CXEXIT: RETB2TOBCD ENDP(2)将AX中4位BCD码顺序乘以1000,100,10和1,然后求和即得。
子程序名:BCDTOB2输入参数:AX=4位压缩BCD码输出参数:AX=十六位二进制数使用寄存器:BX:暂存数据,CX:存放乘数,DX:存放中间结果BCDTOB2 PROC FARPUSH BXPUSH CXPUSH DXMOV BX,AXMOV CL,4ROL AX,CLAND AX,000FHMOV CX,1000 ;乘以1000MUL CXMOV DX,AXMOV AX,BXMOV CL,8ROL AX,CLAND AX,000FHMOV CL,100 ;乘以100MUL CLADD DX,AXMOV AX,BXMOV CL,4SHR AX,CLAND AX,000FHMOV CL,10 ;乘以10MUL CLADD DX,AXAND BX,000FHADD DX,BXMOV AX,DXPOP DXPOP CXPOP BXRETBCDTOB2 ENDP9. 编写两个通用过程,一个完成ASCII码转换成二进制数功能,另一个完成ASCII字符显示输出功能。
答:(1)将AX中两位ASCII码先转化成数字,然后AH*10+AL。
子程序名:ASCIITOB2输入参数:AX=2位ASCII码输出参数:AX=转换后二进制数使用寄存器:BX,CX,DXASCIITOB2 PROC FARPUSH BXPUSH CXPUSH DXMOV BX,AXSUB AH,30HMOV AL,AHMOV CL,10 ;乘以10MUL CLMOV DX,AXMOV AX,BXSUB AL,30HMOV AH,0ADD AX,DXPOP DXPOP CXPOP BXRETASCIITOB2 ENDP(2)使用2号DOS功能调用显示字符。
子程序名:DISPLAY输入参数:AX=2位ASCII码输出参数:无使用寄存器:BX,DXDISPLAY PROC FARPUSH BXPUSH DXMOV BX,AXMOV DL,AHMOV AH,2INT 21HMOV AX,BXMOV DL,ALMOV AH,2INT 21HPOP DXPOP BXRETDISPLAY ENDP10. 编制两个通用过程,完成十六进制数转换成ASCII码并将ASCII码字符显示。
答:(1)子程序名:HEXTOASC输入参数:AX:4位十六进制数输出参数:DX,AX:4位ASCII码,DX高2位,AX低2位使用寄存器:BX,CX,DXHEXTOASC PROC FARPUSH BXPUSH CXPUSH DXMOV BX,AXMOV CL,4 ;转换AH高4位SHR AX,CLAND AX,0F00HADD AH,30HCMP AH,3AHJB A1ADD AH,7A1: MOV DH,AHMOV AX,BX ;转换AH低4位AND AX,0F00HADD AH,30HCMP AH,3AHJB A2ADD AH,7A2: MOV DL,AHMOV BH,BL ;转换AL高4位MOV CL,4SHR BL,CLADD BL,30HCMP BL,3AHJB A3ADD BL,7A3: MOV AH,BLAND BH,0FH ;转换AL低4位ADD BH,30HCMP BH,3AHJB A4ADD BH,7A4: MOV AL,BHPOP DXPOP CXPOP BXRETHEXTOASC ENDP(2)子程序名:DISPLAYASC输入参数:DX,AX:4位ASCII码输出参数:无使用寄存器:BX,CXDISPLAYASC PROC FARPUSH BXPUSH CXMOV BX,DXMOV CX,AXMOV DL,BHMOV AH,02HINT 21HMOV DL,BLINT 21HMOV DL,CHINT 21HMOV DL,CLINT 21HMOV DL,’H’INT 21HPOP CXPOP BXRETDISPLAYASC ENDP11. 某程序可从键盘接收命令(0~5),分别转向6个子程序,子程序入口地址分别为P0~P5,编制程序,用跳转表实现分支结构。