2022年微机接口试题及答案 .pdf

上传人:Che****ry 文档编号:27189487 上传时间:2022-07-23 格式:PDF 页数:39 大小:282.42KB
返回 下载 相关 举报
2022年微机接口试题及答案 .pdf_第1页
第1页 / 共39页
2022年微机接口试题及答案 .pdf_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《2022年微机接口试题及答案 .pdf》由会员分享,可在线阅读,更多相关《2022年微机接口试题及答案 .pdf(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、微机接口试题及答案1. 分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。(1)MOV AX,2408H (2)MOV CL,0FFH (3)MOV BX,SI (4)MOV 5BX,BL (5)MOV BP+100H,AX (6)MOV BX+DI,$(7)MOV DX,ES:BX+SI (8)MOV VALBP+DI,DX (9)IN AL,05H (10)MOV DS,AX 答:(1)立即数 ,寄存器 (2)立即数 ,寄存器 (3)寄存器间接 ,寄存器(4)寄存器 ,寄存器相对 (5)寄存器 ,寄存器相对 (6)立即数 ,基址变址(7)基址变址 ,寄存器 (8)寄存器 ,相对基址

2、变址(9)直接端口寻址 ,寄存器 (10)寄存器 ,寄存器2. 已知:DS=1000H,BX=0200H,SI=02H,内存 10200H10205H 单元的内容分别为10H, 2AH,3CH,46H,59H,6BH。下列每条指令执行完后 AX 寄存器的内容各是什么? (1)MOV AX,0200H (2)MOV AX,200H (3)MOV AX,BX (4)MOV AX,3BX (5)MOV AX,BX+SI (6)MOV AX,2BX+SI 答:(1)0200H (2)2A10H (3)0200H (4)5946H (5)463CH (6)6B59H 名师资料总结 - - -精品资料欢迎

3、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 39 页 - - - - - - - - - 3. 设DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H, 数据段中变量名为VAL 的偏移地址值为0030H, 试说明下列源操作数字段的寻址方式是什么?物理地址值是多少 ? (1)MOV AX,100H (2)MOV AX,VAL (3)MOV AX,BX (4)MOV AX,ES:BX (5)MOV AX,SI (6)MOV AX,BX+

4、10H (7)MOV AX,BP (8)MOV AX,VALBPSI (9)MOV AX,VALBXDI (10)MOV AX,BPDI 答:(1)直接,10100H (2) 直接,10030H (3) 寄存器间接 ,10100H (4)寄存器间接 ,20100H (5) 寄存器间接 ,100A0H (6) 寄存器相对,10110H (7)寄存器间接 ,35200H (8) 相对基址变址 ,352D0H (9)相对基址变址 ,10154H (10) 基址变址 ,35224H 4. 写出下列指令的机器码(1)MOV AL,CL (2)MOV DX,CX (3)MOV BX+100H,3150H

5、答:(1)10001010 11000001B (2)10001011 11010001B 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 39 页 - - - - - - - - - (3)11000111 10000111 00000000 00000001 01010000 00110001B 5. 已知程序的数据段为: DATA SEGMENT A D B $,10HB DB COMPUTERC DW 1234H, 0FFH D DB 5 DUP(?) E DD

6、1200459AH DATA ENDS 求下列程序段执行后的结果是什么。MOV AL, A MOV DX, C XCHG DL, A MOV BX, OFFSET B MOV CX, 3BX LEA BX, D 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 39 页 - - - - - - - - - LDS SI, E LES DI, E 答:MOV AL, A AL=24H MOV DX, C DX=1234H XCHG DL, A DL=24H, A=34H MO

7、V BX, OFFSET B BX=2 MOV CX, 3BX CX=5550H LEA BX, D BX=000EH LDS SI, E DS=1200H, SI=459AH LES DI, E ES=1200H, DI=459AH 6. 指出下列指令中哪些是错误的,错在什么地方。(1)MOV DL,AX (2)MOV 8650H,AX (3)MOV DS,0200H (4)MOV BX,1200H (5)MOV IP,0FFH (6) MOV BX+SI+3,IP (7)MOV AX,BXBP (8)MOV AL,ES:BP (9) MOV DL,SIDI (10)MOV AX,OFFSE

8、T 0A20H (11)MOV AL, OFFSET TABLE (12)XCHG AL,50H (13)IN BL,05H (14) OUT AL,0FFEH 答:(1)长度不匹配 (2)立即数不能做目的操作数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 39 页 - - - - - - - - - (3)段寄存器不能用立即数赋值(4)两个内存单元不能直接传送数据(5)IP 不能用指令直接修改(6)指令中不能出现IP (7)BX/BP 应与 SI/DI 搭配(8)正确

9、(9)SI/DI 应与 BX/BP 搭配(10)OFFSET 后应跟内存单元(11)偏移地址为 16 位,AL 长度不够 (12)立即数不能用于XCHG (13)IN 必须用 AL/AX (14) 操作数顺序反向 ;地址应为 8 位7. 已知当前数据段中有一个十进制数字09 的 7 段代码表 ,其数值依次为 40H,79H,24H, 30H,19H,12H,02H,78H,00H,18H。要求用 XLAT 指令将十进制数57 转换成相应的7 段代码值 ,存到 BX 寄存器中 ,试写出相应的程序段。答:DATA SEGMENT TABLE DB 40H,79H,24H,30H,19H,12H,0

10、2H, 78H,00H,18H DATA ENDS MOV AL,5 MOV BX,OFFSET TABLE XLAT TABLE 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 39 页 - - - - - - - - - MOV CL,AL MOV AL,7 XLAT TABLE MOV BL,AL MOV BH,CL 8. 已知当前 SS=1050H,SP=0100H,AX=4860H, BX=1287H,试用示意图表示执行下列指令过程中 ,堆栈中的内容和堆栈指针S

11、P 是怎样变化的。PUSH AX PUSH BX POP BX POP AX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 39 页 - - - - - - - - - (1)指9. 下列指令完成什么功能? (1)ADD AL,DH (2)ADC BX,CX (3)SUB AX, 2710H (4)DEC BX (5)NEG CX (6)INC BL (7)MUL BX (8)DIV CL 答:(1)AL+DHAL (2)BX+CX+CF BX (3) AX-2710H

12、 AX(_4)BX-1BX (5)0 -CX CX (6)BL+1 BL(7)AX*BX DX,AX (8)AX/CL 商AL,余数AH名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 39 页 - - - - - - - - - 10. 已知 AX=2508H,BX=0F36H,CX=0004H, DX=1864H,求下列每条指令执行后的结果是什么 ?标志位 CF 等于什么 ? (1)AND AH,CL (2)OR BL,30H (3)NOT AX (4)XOR CX,0

13、FFF0H (5)TEST DH,0FH (6) CMP CX,00H (7)SHR DX,CL (8)SAR AL,1 (9)SHL BH, CL (10)SAL AX,1 (11)RCL BX,1 (12)ROR DX, CL 答:(1)AX=0408H,CF=0 (2)BX=0F36H,CF=0 (3)AX=0DAF7H,CF 不变(4)CX=0FFF4H,CF=0 (5)DX=01864H,CF=0 (6)CX=0004H,CF=0 (7)DX=0186H,CF=0 (8)AX=2504H,CF=0 (9)BX=0F036H,CF=0 (10)AX=4A10H,CF=0 (11)BX=

14、1E6C/1E6DH,CF=0 (12)DX=4186H, CF=0 11. 假设数据段定义如下: DATA SEGMENT STRING DB The Personal Computer & TVDATA ENDS 试用字符串操作等指令编程完成以下功能: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 39 页 - - - - - - - - - (1)把该字符串传送到附加段中偏移量为GET_CHAR 开始的内存单元中。(2)比较该字符串是否与The Computer

15、相同,若相同则将 AL 寄存器的内容置 1,否则置0。并要求将比较次数送到BL 寄存器中。(3)检查该字符串是否有&,若有则用空格字符将其替换。(4)把字符串大写字母传送到附加段中以CAPS 开始的单元中 ,其余字符传到以CHART 开始的单元中。然后将数据段中存储上述字符串的单元清0。答:(1)CLD LEA SI,STRING LEA DI,GET_CHAR MOV CX,26 REP MOVSB (2)补充在附加段定义STRING1 DB The computerMOV AL,1 CLD LEA SI,STRING 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -

16、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 39 页 - - - - - - - - - LEA DI,STRING1 MOV CX,12 REPZ CMPSB JZ SKIP MOV AL,0 SKIP: MOV BX,12 SUB BX,CX (3)MOV AX, DATA MOV ES, AX CLD MOV AL,& LEA DI,STRING MOV CX,26 NEXT: REPNE SCASB JZ FIND JMP EXIT FIND: MOV BYTE PTR DI-1, JCXZ EXIT 名师资料总结 - - -精品

17、资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 39 页 - - - - - - - - - JMP NEXT EXIT: (4)LEA SI,STRING LEA DI,CAPS LEA BX,CHART MOV CX,26 NEXT: MOV AL, SI CMP AL,AJB OTHER CMP AL,ZJA OTHER MOV ES:DI,AL INC DI JMP SKIP OTHER: MOV ES:BX,AL INC BX SKIP: MOV BYTE PTRSI,0 INC SI

18、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 39 页 - - - - - - - - - LOOP NEXT 12. 编程将 AX 寄存器中的内容以相反的顺序传送到DX 寄存器中,并要求 AX 中的内容不被破坏 ,然后统计 DX 寄存器中 1的个数是多少。答:MOV BL,0 PUSH AX MOV DX,0 MOV CX,16 NEXT: SHL AX,1 JNC SKIP INC BL SKIP: RCR DX,1 LOOP NEXT STOP: POP AX

19、13. 设CS=1200H,IP=0100H,SS=5000H,SP=0400H,DS=2000H,SI=3000H,BX=0300H, (20300H)=4800H,(20302H)=00FFH,TABLE=0500H,PROG_N 标号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 39 页 - - - - - - - - - 的地址为 1200: 0278H,PROG_F 标号的地址为3400H:0ABCH 。说明下列每条指令执行完后,程序将分别转移到何处执行 ?

20、 (1)JMP PROG_N (2)JMP BX (3)JMP BX (4)JMP FAR PROG_F (5)JMP DWORD PTR BX 如将上述指令中的操作码JMP 改成 CALL, 则每条指令执行完后,程序转向何处执行 ?并请画图说明堆栈中的内容和堆栈指针如何变化。答:(1)1200H:0278H (2)1200H:0300H (3)1200H:4800H (4)3400H:0ABCH (5)00FFH:4800H 将操作码 JMP 改成 CALL 后: (1)1200H:0278H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -

21、- - - - 名师精心整理 - - - - - - - 第 13 页,共 39 页 - - - - - - - - - 指令长度为 3,则 IP=0100H+3=0103H,入栈(5)00FFH:4800H 指令长度为 2,则 IP=0100H+2=0102H,入栈14. 在下列程序段括号中分别填入以下指令(1)LOOP NEXT (2)LOOPE NEXT (3)LOOPNE NEXT 试说明在这三种情况下,程序段执行完后 ,AX,BX,CX,DX 的内容分别是什么。 START: MOV AX,01H MOV BX,02H MOV DX,03H MOV CX,04H NEXT: INC

22、AX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 39 页 - - - - - - - - - ADD BX,AX SHR DX,1 ( ) 答:(1)AX=05H BX=10H CX=0 DX=0 (2)AX=02H BX=04H CX=03H DX=01H (3)AX=03H BX=07H CX=02H DX=0 15. 某班有 7 个同学英语成绩低于80 分,分数存在 ARRAY 数组中,试编程完成以下工作: (1)给每人加5 分,结果存到 NEW 数组中(2

23、)把总分存到 SUM 单元中答:DATA SEGMENT ARRAY DB ?,?,?,?,?,?,? NEW DB 7 DUP(?) SUM DW 0 DATA ENDS MOV AX,DATA MOV DS, AX (1)LEA SI,ARRAY 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 39 页 - - - - - - - - - LEA DI,NEW MOV CX,7 NEXT: MOV AL,SI ADD AL, 5 MOV DI, AL INC SI

24、INC DI LOOP NEXT (2)LEA SI,ARRAY CLC SP 5000H:0000H 5000H:03FCH 5000H:03FEH 5000H:0400H MOV CX, 7 NEXT1:MOV AL,SI MOV AH, 0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 39 页 - - - - - - - - - ADC SUM, AX INC SI LOOP NEXT1 16. 中断向量表的作用是什么?它放在内存的什么区域内?中断向量表中的什

25、么地址用于类型 3 的中断 ? 答:中断向量表用来存放中断服务程序的入口地址。8086 的 256 类中断的入口地址要占用1K 字节,位于内存 00000H003FFH 的区域内。中断向量表中0000CH0000FH 用于类型 3 的中断。17. 设类型 2 的中断服务程序的起始地址为0485:0016H, 它在中断向量表中如何存放?答:物理地址内容00008H 16H 00009H 00H 0000AH 85H 0000BH 04H 18. 若中断向量表中地址为0040H 中存放 240BH,0042H 单元里存放的是 D169H, 试问: (1)这些单元对应的中断类型是什么? 名师资料总结

26、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 39 页 - - - - - - - - - (2)该中断服务程序的起始地址是什么? 答:(1)10H (2)D169H:240BH 19. 简要说明 8086 响应类型 04 中断的条件是什么 ? 答:类型 0:除法错中断执行除法指令时 ,若除数为 0 或所得商超过寄存器能容纳的范围,则自动产生类型0 中断。类型 1:单步中断若 CPU 的单步标志 TF=1, 则每执行完一条指令后,自动产生类型1 中断。类型 2:不可屏蔽中断NMI

27、 当 8086 的 NMI 引脚上接收到由低变高的电平变化时,将自动产生类型 2 中断。类型 3:断点中断若在程序中某位置设置断点,当程序执行到该断点时,则产生类型 3 中断。类型 4:溢出中断若溢出标志 OF=1, 则可由溢出中断指令INTO 产生类型 4 中断。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 39 页 - - - - - - - - - 第四章1. 下列变量各占多少字节? A1 DW 23H,5876H A2 DB 3 DUP(?),0AH,0DH,

28、 $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+3344H MOV AL,15 GE 1111B MOV AX,00FFH LE 255+6/5 AND AL, 50 MOD 4 OR AX, 0F00FH AND 1234 OR 00FFH 答:(1)将 0066H 传送给 AX (2)将 0FFH 传送给 AL 名师资料总结 - - -精品资料欢迎下载 - -

29、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 39 页 - - - - - - - - - (3)将 0FFFFH 传送给 AX (4)AND AL,02H (5)OR AX,00FFH 3. 有符号定义语句如下: BUF DB 3,4,5,123ABUF DB 0 L EQU ABUF-BUF 求 L 的值为多少 ? 答:L=6 4. 假设程序中的数据定义如下: PAR DW ? PNAME DB 16 DUP(?) COUNT DD ? PLENTH EQU $-PAR 求 PLENTH 的值为多少 ?表示什么意

30、义 ? 答:PAR 的偏移地址为0,PLENTH 当前偏移地址$=2+16+4=22,$-PAR=22,故 PLENTH 的值为 22。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 39 页 - - - - - - - - - 若在 PLENTH 所在行有变量定义 ,则$表示该变量的偏移地址,即$表示 PLENTH 所在行的当前偏移地址。故PLENTH 表示从当前行到PAR 之间定义的变量所占的字节个数。5. 对于下面的数据定义,各条 MOV 指令执行后 ,有关寄存器

31、的内容是什么 ? DA1 DB ? DA2 DW 10 DUP(?) DA3 DB ABCD MOV AX, TYPE DA1 MOV BX, SIZE DA2 MOV CX, LENGTH DA3 答:AX=1,BX=20,CX=1 6. 下段程序完成后 ,AH 等于什么 ? IN AL, 5FH TEST AL, 80H JZ L1 MOV AH, 0 JMP STOP 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 39 页 - - - - - - - - - L

32、1: MOV AH, 0FFH STOP: HLT 答:讨论从端口 5FH 输入的数据最高位的情况。若最高位为1,则AH=0; 若最高位为 0,则 AH=0FFH 。7. 编程序完成下列功能: (1)利用中断调用产生5 秒延时。(2)利用中断调用 ,在屏幕上显示19 之间随机数。答:(1)可以利用中断类型1CH 来处理 ,因为在系统时钟的中断处理程序中 ,时钟中断一次要调用一次INT 1CH, 即每隔 55ms, 产生一次1CH 中断,要产生 5 秒延时 ,只要中断 5s/55ms=91 次即可。又因 1CH 中断处理程序中只有一条IRET 指令,故可将用户的程序代替原有的INT 1CH 程序

33、。DATA SEGMENT COUNT DW 91 ; 计数器MESS DB 5 s delayed!,0AH,0DH, $DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA,ES:DATA 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 39 页 - - - - - - - - - START: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV AL

34、,1CH ; 得到原中断向量MOV AH,35H INT 21H PUSH ES ; 存储原中断向量PUSH BX PUSH DS MOV DX,OFFSET DELAY ;DELAY 的偏移地址和段地址MOV AX,SEG DELAY MOV DS,AX MOV AL,1CH ; 设置中断向量MOV AH,25H INT 21H POP DS 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 39 页 - - - - - - - - - IN AL,21H ; 设置中断

35、屏蔽位AND AL,0FEH OUT 21H,AL STI MOV DI,2000H ; 主程序延迟 ,在执行此段程序期间A1: MOV SI,3000H ;产生中断A2: DEC SI JNZ A2 DEC DI JNZ A1 POP DX ; 取原中断向量POP DS MOV AL,1CH MOV AH,25H INT 21H RET MAIN ENDP DELAY PROC NEAR 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 39 页 - - - - - -

36、 - - - PUSH DS PUSH AX PUSH CX PUSH DX MOV AX,DATA MOV DS,AX STI DEC COUNT ;5 秒计数JNZ EXIT MOV DX,OFFSET MESS ;显示信息MOV AH,09H INT 21H MOV COUNT,91 ;5 秒的值EXIT: CLI POP DX POP CX POP AX POP DS 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 39 页 - - - - - - - - -

37、IRET DELAY ENDP CODE ENDS END START (2)可以利用 INT 1AH, 读取当前时间的1/100 秒为随机数。 CODE SEGMENT ASSUME CS:CODE START:MOV AH,0 INT 1AH ; 读取当前时间CH:CL= 时:分MOV AL,DL ;DH:DL=秒:1/100 秒MOV AH,0 MOV BL,9 DIV BL INC AH MOV DL,AH ADD DL,30H MOV AH,2 INT 21H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整

38、理 - - - - - - - 第 26 页,共 39 页 - - - - - - - - - MOV AH,4CH INT 21H CODE ENDS END START 8. 编两个通过过程完成将AX 中存放的二进制数转换成压缩型BCD 码以及将 BCD 码转换成二进制数。答:(1)将 AX 中的二进制数先后除以1000,100 和 10, 每次除法所得的商 ,即是 BCD 数的千位、百位和十位数,余数是个位数。子程序名 :B2TOBCD 输入参数 :AX= 十六位二进制数输出参数 :CF=0, 则 AX=4 位压缩型 BCD 码。CF=1, 则要转换的数大于 9999,AX 不变。使用寄

39、存器 :CX:存放除数 ,DX:存放中间结果。B2TOBCD PROC FAR CMP AX,9999 ;AX9999,则 CF 置 1 JBE TRAN STC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 39 页 - - - - - - - - - JMP EXIT TRAN: PUSH CX PUSH DX SUB DX,DX ;DX 清 0 MOV CX,1000 ; 计算千位数DIV CX XCHG AX,DX ; 商在 DX 中,余数在 AX 中MOV

40、CL,4 SHL DX,CL ;DX 左移 4 位MOV CL,100 ; 计算百位数DIV CL ADD DL,AL ; 百位数加到DL 中,DX 左移 4 位MOV CL,4 SHL DX,CL XCHG AL,AH ; 余数保留在 AL 中SUB AH,AH MOV CL,10 ; 计算十位数DIV CL 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 39 页 - - - - - - - - - ADD DL,AL ; 十位数加到DL 中,DX 左移 4 位MO

41、V CL,4 SHL DX,CL ADD DL,AH ; 加个位数MOV AX,DX ; 结果送到 AX 中POP DX POP CX EXIT: RET B2TOBCD ENDP (2)将 AX 中 4 位 BCD 码顺序乘以 1000,100,10 和 1,然后求和即得。子程序名 :BCDTOB2 输入参数 :AX=4 位压缩 BCD 码输出参数 :AX= 十六位二进制数使用寄存器 :BX: 暂存数据 ,CX:存放乘数 ,DX: 存放中间结果BCDTOB2 PROC FAR PUSH BX PUSH CX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -

42、 - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共 39 页 - - - - - - - - - PUSH DX MOV BX,AX MOV CL,4 ROL AX,CL AND AX,000FH MOV CX,1000 ; 乘以 1000 MUL CX MOV DX,AX MOV AX,BX MOV CL,8 ROL AX,CL AND AX,000FH MOV CL,100 ; 乘以 100 MUL CL ADD DX,AX MOV AX,BX MOV CL,4 SHR AX,CL 名师资料总结 - - -精品资料欢迎下载 - - - - - - -

43、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 39 页 - - - - - - - - - AND AX,000FH MOV CL,10 ; 乘以 10 MUL CL ADD DX,AX AND BX,000FH ADD DX,BX MOV AX,DX POP DX POP CX POP BX RET BCDTOB2 ENDP 9. 编写两个通用过程 ,一个完成 ASCII 码转换成二进制数功能,另一个完成 ASCII 字符显示输出功能。答:(1)将 AX 中两位 ASCII 码先转化成数字 ,然后 AH*10+AL 。子程序名 :AS

44、CIITOB2 输入参数 :AX=2 位 ASCII 码输出参数 :AX= 转换后二进制数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 31 页,共 39 页 - - - - - - - - - 使用寄存器 :BX,CX,DX ASCIITOB2 PROC FAR PUSH BX PUSH CX PUSH DX MOV BX,AX SUB AH,30H MOV AL,AH MOV CL,10 ; 乘以 10 MUL CL MOV DX,AX MOV AX,BX SUB AL,30H

45、 MOV AH,0 ADD AX,DX POP DX POP CX POP BX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 32 页,共 39 页 - - - - - - - - - RET ASCIITOB2 ENDP (2)使用 2 号 DOS 功能调用显示字符。子程序名 :DISPLAY 输入参数 :AX=2 位 ASCII 码输出参数 :无使用寄存器 :BX,DX DISPLAY PROC FAR PUSH BX PUSH DX MOV BX,AX MOV DL,AH

46、MOV AH,2 INT 21H MOV AX,BX MOV DL,AL MOV AH,2 INT 21H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 33 页,共 39 页 - - - - - - - - - POP DX POP BX RET DISPLAY ENDP 10. 编制两个通用过程 ,完成十六进制数转换成ASCII 码并将ASCII 码字符显示。答 :(1)子程序名 :HEXTOASC 输入参数 :AX:4 位十六进制数输出参数 :DX,AX:4 位 ASCII

47、码,DX 高 2 位,AX 低 2 位使用寄存器 :BX,CX,DX HEXTOASC PROC FAR PUSH BX PUSH CX PUSH DX MOV BX,AX MOV CL,4 ; 转换 AH 高 4 位 SHR AX,CL AND AX,0F00H ADD AH,30H CMP AH,3AH 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 34 页,共 39 页 - - - - - - - - - JB A1 ADD AH,7 A1: MOV DH,AH MOV AX

48、,BX ; 转换 AH 低 4 位 AND AX,0F00H ADD AH,30H CMP AH,3AH JB A2 ADD AH,7 A2: MOV DL,AH MOV BH,BL ; 转换 AL 高 4 位 MOV CL,4 SHR BL,CL ADD BL,30H CMP BL,3AH JB A3 ADD BL,7 A3: MOV AH,BL AND BH,0FH ; 转换 AL 低 4 位 ADD BH,30H CMP BH,3AH 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -

49、 第 35 页,共 39 页 - - - - - - - - - JB A4 ADD BH,7 A4: MOV AL,BH POP DX POP CX POP BX RET HEXTOASC ENDP (2)子程序名 :DISPLAYASC 输入参数 :DX,AX:4 位 ASCII 码输出参数 :无使用寄存器 :BX,CX DISPLAYASC PROC FAR PUSH BX PUSH CX MOV BX,DX MOV CX,AX MOV DL,BH MOV AH,02H INT 21H 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -

50、- - - 名师精心整理 - - - - - - - 第 36 页,共 39 页 - - - - - - - - - MOV DL,BL INT 21H MOV DL,CH INT 21H MOV DL,CL INT 21H MOV DL,HINT 21H POP CX POP BX RET DISPLAYASC ENDP 11. 某程序可从键盘接收命令(05), 分别转向 6 个子程序 ,子程序入口地址分别为P0 P5, 编制程序 ,用跳转表实现分支结构。答:DATA SEGMENT TABLE DW 6 DUP(?) DATA ENDS CODE SEGMENT 名师资料总结 - - -精

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁