哈尔滨工程大学微机原理课后题答案_第1页
哈尔滨工程大学微机原理课后题答案_第2页
哈尔滨工程大学微机原理课后题答案_第3页
哈尔滨工程大学微机原理课后题答案_第4页
哈尔滨工程大学微机原理课后题答案_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、哈尔滨工程大学微机原理课后题答案第一章1题(1)110=6EH=01101110B (2)1039=40FH =010*B(3)0.75D=0.11B=0.CH (4)0.15625D=0.00101000B=0.28H2题(1)129 (0001 0010 1001)BCD 注:在计算机汇编程序中BCD码只能用16进制数表示,形式为129H (2) 5678 (0101 0110 0111 1000) BCD (3) 0.984 (0.1001 1000 0100) BCD(4) 93.745 (1001 0011.011101000101) BCD3题(1) 10101010B=0AAH=

2、170D (2)10000000B=80H=128D(3) 11000011.01B=0C3.4H=195.25 (4) 01111110B=7EH=126D4题(1)8E6H=100011100110B=2278 (2)0A42H=101001000010B=2626(3)7E.C5H=01111110.11000101B=126.769 (4)0F19.1DH=111100011001.00011101B=3865.113285题(1)1011011.101B=91.625D BCD为 (10010001.011000100101) BCD(2)1010110.001B=86.125D B

3、CD为 (10000110.000100100101) BCD6题(0010 0111 0011) BCD 表示的十进制数为 273 二进制数为100010001B(1001 0111.0010 0101) BCD 表示的十进制数为 97.25 二进制数为01100001.01B7题 (1) (2) (3) (4)1001.11B 1101.01B 1000.011B 1111B + 11.11B - 0110.11B - 1001.101B - 1101B1101.10B 0110.10B 0110.110B 0010B 8题6AH AB1 FH 12ADH 117H+ A6H + 0 E

4、FCH - 01DEH - 0ABH110H B A 1B H 10C F H 06 CH9题(1)无符号数 X=01H =01D Y=0FFH=255(2)符号数 X=01H =01D Y=0FFH= -1注:对于同一个数到底是符号数还是无符号数是由程序设计者根据数据实际的意义决定的,一旦定下来,在程序中采用不同的指令来区分符号数和无符号数,即算数运算指令会有符号数和无符号两套指令。10.题(1)101+31H+69H+0D5H+(5*8+7)=531(2)127.8125+189.625+253.9768+502.5390=1079.7734411题A Z ASCII码 为 41H5AH

5、48454C4C4FHa-z ASCII码 为 61H-7AH (2) A8 4138H12题(1) E ASCII码 为45H 01001001B本身为奇数个1 所以偶校验D7为1,为0C5H; 奇校验D7为0,为45H(2) 6 ASCII码 为36H 00110110B本身为偶数个1 所以偶校验D7为0,为36H; 奇校验D7为1,为0B6H13题-38=10100110B原=11011001B反 = 11011010B补 8位-38=0B原=1B反 = 0B补 16位125=01111101B原=01111101B反 = 01111101B补 8位125=1B原=1B反 = 1B补 1

6、6位-128= 10000000B补 8位 原码和反码不能用8位表示-128=0B原=1B反 = 0B补 16位14题+0=00000000B原=00000000B反 = 00000000B补 8位高8位补0 为16位-0=10000000B原=11111111B反 = 00000000B补 8位-0=0B原=1B反 = 0B补 16位15题 (1)X补=81H =111111111原=10000000反真值为-127(2)X补=800H=0B原=1B反 真值为-211(3)X补=79H=01111001B原=01111001B反真值为121 (4)X补=0FFFEH=0原=1反16题(1)

7、X补=1000 0000 0000 0000B 真值为 -8000H=-32768(2) X补=1111 1111 1111 1111B 真值为 -8000H=32768(3) X补=0111 1111 1111 1111B 真值为 7FFFH=32767(4) X补=0101 0101 0101 0101B 真值为 5555H=2184517题原码反码补码(-1) (-127) (-1) (-127) (-1) (-128)8位负数10000001B-11111111B 11111110B-1000000B 11111111B-1000000B(+1) (+127) (+1) (+127)

8、(+1) (+127)8位正数 00000001B-01111111B 01111111B-00000000B 00000000B-01111111B+0原=000000000B +0反=00000000B +0补=00000000B-0原=100000000B -0反=11111111B -0补=00000000BN位的通式 (2N-1-1)-+(2N-1-1) (2N-1-1)-+(2N-1-1) (2N-1)-+(2N-1-1)18题(1) 不溢出 结果为15未超出8位补码的范围(2) 不溢出 结果为-55未超出8位补码的范围(3) 溢出 结果为-132超出8位补码的范围(4) 不溢出

9、结果为-125未超出8位补码的范围19题(1) 27+11 (2) 37+29 00100111B 00110111B+00010001B +00101001 B00101000B 01100000B+ 00000110B01100110B20题(1)17.5=00010001.1B 规范化表示 0.100011 25浮点原码0 0101 0 100011B 反码和原码相同(2)-75.5=-01001011.1B 规范化表示 -0.100101 27(舍掉最低两位) 原码0 0111 1 100101 B 补码0 011 1 1 011011 B 第二章1题 省略2题 总线:计算机系统各部分

10、之间传递地址、数据和控制信息的共同线路的集合。总线结构的好处:物理上是同时可以挂多个设备,但是总线上某一个时刻只有一个设备传送信息。从空间上分为四类(是从PC机角度分类的)片内总线,片间总线(主总线,前端总线) , 系统总线(PCI ,ISA等标准总线) ,系统间通讯总线。标准总线好处:总线接口标准统一便于通用。总线传递信息分为三大类:数据总线,地址总线,控制总线。系统总线等也由是三大总线组成,只是根据不同的需要经过了变换。3题 总线接口单元(BIU) :1)形成访问内存或者I/O端口的物理地址;2)从内存的代码段中取指令送到队列缓冲器中;3)读取操作数参加EU运算或则存放运算结果到指定地址。

11、执行单元(EU) 1) 从BIU的指令队列缓冲器中去指令进行译码、执行;2) 负责所有的算术,逻辑运算及16位偏移地址计算;3) 像BIU提供指令的执行结果和16位偏移地址。二者同步进行操作,相当两级流水线,提高了效率。4题 省略5题 T1时刻是地址信息,用ALE信号锁存。注:凡是有ALE信号的CPU的某些管脚都具有分时复用的功能。(如51单片机,AVR单片机等)。T3时刻数据信息送出。通过地址锁存器保持地址信息。数据放大器(驱动器),加强总线的带载能力。6题略7题 7825H+ 5A1FHD244H CF=0; OF=1; ZF=0; PF=1; AF=1; SF=1;7825H-5A1FH

12、1E06H CF=0; OF=0; ZF=0; PF=1; AF=1; SF=0;8 题最大模式:除了8086/8088处理器外还有协处理器最小模式:系统只有8086/8088处理器9 题访问存储器使用到哪些信号: WR RD M/IO ALE AD0-AD15 A16/S3-A19/S6等10题一个指令周期至少包含一个总线周期(即:取指令读存取器的所花的总线周期),一个总线周期包含4个时钟周,可会在T3后插入的等待周期。11题 省略12题 主要点为以下三点,有以下原因的前两点还会引申出来的其他区别,如执行指令的效率。但是二者的程序是完全兼容的。8086 8088外部总线16位 外部总线8位队

13、列缓冲字节6个 队列缓冲字节4个M/IO IO/M13题 分时复用的信号,在总线周期前面出现的信号只要在后面的时钟周期还要维持其原来信号稳定不变就都要进行锁存。14题 指令队列缓冲区使得CPU可以取指和执行指令并行进行。 8086复位后 ,CS=0FFFFH,其他寄存器为0, 复位后程序指针指向了物理地址的FFFF0H的位置,一般在此处都是一条跳转指令,由此处跳到用户的自己的监控程序的入口处(开始的地方)。此特性具有通用性15题实际地址(物理地址)是20位的,而内部数据总线是16位的,只能通过段加偏移的办法段起始地址最低4位为0。16题地址线为N,则寻址存储单位(字节)多少的关系为: 2N 。

14、也可能为4位, 16位 等 。17题 逻辑地址表示为 段地址:偏移地址 ,是在编程时使用,计算机也是利用他们二者来找到实际地址的。实际地址(物理地址)=段地址*16+偏移地址段地址只是段起始地址(是一个段开始的物理地址,为20位)的高16位。18 题 二者都是1117AH,同一物理地址可以写成不同逻辑地址的形式,但在实际中一般不会出现。19题代码段的寻址就是通过 CS*16+IP ,所以指令存放的第一个字节单元的物理地址A7B00H+2B50H=AA650H20题 100字 200字节 200=C8H 偏移从2300H开始,21题字节数据 123D4H=78H 123D6H=34H 字数据 1

15、23D4H=5678H 123D6H=0E634H 22题 CS=1000H , DS=1100H ,SS=1180H23题 偶地址开始存放的字数据为规则字,奇地址开始存放的字数据为非规则字。第四章41(1)目的操作数:寄存器寻址,源操作数:立即寻址(2)目的操作数:寄存器寻址,源操作数:直接寻址(3)目的操作数:寄存器间接寻址,源操作数:寄存器寻址(4)目的操作数:寄存器寻址,源操作数:相对基址变址寻址(5)目的操作数:寄存器寻址,源操作数:基址变址寻址(6)目的操作数:寄存器寻址,源操作数:寄存器寻址(7)目的操作数:寄存器间接寻址 (SP寄存器指向的内存单元),源操作数:寄存器寻址(8)

16、目的操作数:寄存器寻址,源操作数:寄存器寻址(9)目的操作数:寄存器寻址,源操作数:直接端口寻址(10)目的操作数:间接端口寻址(端口的寄存器间接寻址),源操作数:寄存器寻址(11)寄存器寻址(12)目的操作数:相对寄存器寻址42(1)(2)(3)(4)(5)(6)(7)(8)43(1)类型不匹配(寄存器长度不一致)(2)CS不能作目的操作数(3)IP不能作操作数(4)立即数不能作目的操作数(5)乘数不能是立即数(6)两个存储器单元间不能用MOV指令直接交换数据(7)数据类型不确定(字节还是字操作不清楚)(8)CUP和I/O间数据交换,只能用AX(AL)存放数据(9)立即数不能直接赋值给段寄存

17、器(10)循环次数大于1放在CL寄存器(11)CX不能作寄存器间接寻址的寄存器(12)立即数不能做入栈操作44(1)AX=1200H(2)AX=647AH(3)(10050H)=7DH,(10051H)=B7H, ZF=0,SF=1,CF=0,OF=0(4)(12AD0H)=F7H,CF=0,OF=0(5)(12BD0H)=31H,CH=31H(6)BH=C9H,ZF=0,SF=1,CF=1.OF=0(7) (12A80H)=2BH,(12A81H)=89H,CF=145 (1) LEA BX , BUF(或MOV BX ,OFFSET BUF)ADD BX, 8MOV CX , BX(2)

18、MOV BX ,OFFSET BUF(或LEA BX , BUF)MOV CX , BX+8MOV BX ,8MOV CX , BUF BX(3) MOV BX ,OFFSET BUF(或LEA BX , BUF)MOV SI, 8MOV CX , BX+SI46 SP=100EH,AX=2468H,BX=2468H47 (1)MOV AX , 0(2)AND AX , 0(3)XOR AX , AX(4)SUB AX , AX48 AX=0ABCHAX=0ABBHAX=0ABBHCL=0004HAX=ABB0H CL=0004HCL=B0HCL=28HAX=ABB0HAX=ABB0H49 A

19、L=FFH BL不变 CF=0410 AX=3520H411 两条指令的区别是指令执行后是否保留运算结果,前条指令执行后AL的值改变后条指令中的AL的值不变。 SF=1,CF=1,ZF=0,OF=0 4-12 以下程序中的WORD PTR都可以省略,因为变量的属性就是字。(1)无符号数:MOV AX , AMUL WORD PTR C ; X*YDX,AX ;MOV CX , ZMOV BX , 0 ;直接加0,拓展无符号数Z的高16位SUB CX , AXSBB BX , DXMOV W , CXMOV W+2 , BX有符号数:MOV AX , AIMUL WORD PTR C ; X*Y

20、DX,AX ;MOV CX , AX ;暂存X*YBX,CX ;MOV BX , DXMOV AX , Z ;16符号数Z符号位拓展,必须放在AX,拓展完放在DX,AXCWD SUB AX , CXSBB DX , BXMOV W , AXMOV W+2 , DX(2) 无符号数:MOV AX , DADD AX , BMUL WORD PTR ADIV WORD PTR CMOV W , AXMOV W+2 , DX有符号数:MOV AX , DADD AX , BIMUL WORD PTR AIDIV WORD PTR CMOV W , AXMOV W+2 , DX(3)无符号数:MOV

21、AX , DMOV DX , 0DIV WORD PTR AADD AX , BMOV W , AX有符号数:MOV AX , DCWDIDIV WORD PTR AADD AX , BMOV W , AX4-13 用指令TEST CX , 0400H 执行指令后,如果ZF=1,则D10 为0,否则不为04-14 指令AND BYTE PTR 1000H , 04-15 同时改变CS和IP 的有段间的跳转(直接和间接)、段间调用子程序以及段间中断服务程序,段内只改变IP。4-16. 先行IP为2102H (1)转移的目标地址IP=2102+0038H=213AH(2) 转移的目标地址IP=21

22、02+FFD8H=213AH=20DAH4-17. (1)L1 (2)L2 (3)L5 (4)L5 4-18 (1)CMP DX, CX JA L1 (2)CMP BX, AX JG L2 (3)CMP CX, 0JE L3 (4)CMP BX, AX JO L4(5)CMP BX, AX JLE L5(6)CMP DX, CX JBE L64-19 (1) BE ,AE,LE,GE (2) A , AE, L,LE (3)L, LE,G, GE (4) B ,BE,G,GE (5) B ,BE,L,LE (6) A, AE,G, GE 4-20 调用过程(子程序)时,断点要入栈,当调用子程序

23、返回时,按照断点IP开始执行程序。此处为段内跳转,所以只有IP入栈。入栈的不是CALL 指令的IP,而是它后面的指令的IP地址,段内短跳转的CALL 指令为3字节,所以压栈的断点IP地址为365BH 第五章第五章参考答案5-1(1) STAD DB 78,-40,0D6H,49H(2)ARRAY DB 45H, 12H,64H,00H,0D2H,04H,0C7H,00H(3)ALPHA DB 12H,0FCH,0E4H,65H(4)BETA DB 4 DUP(8),6 DUP(S),20 DUP( ),10 DUP(1,3)(5)STRING DB THIS IS A EXAMPE(6) TO

24、TAL EQU 780TOTAL= 7805-25-3COUNT 的值为42*2+4 表示变量X2和X3共占用的字节存储单元数5-4注:SA3不占用内存5-53000H为字数据的偏移地址为0030H5-6(1) MOV BX ,OFFSET BUF1 或 LEA BX, BUF1(2) MOV CL ,BYTE PTR BUF2+3 (3) MOV BUF3+7,0C6H(4)CNT EQU BUF4-BUF2(5)MOV AL,BUF4+3MOV AH,0ADD AX,BUF2+1MOV WORD PTR BUF3,AX5-7(1) 7CH (2)6752H (3)C0H (4)31H (5

25、)04H5-8DA2=0D5B3H CF=05-9第二个AND为伪指令,在汇编时给出值。第一个AND 为指令,可改写成AND AX,06H5-10DATA SEGMENT BCD1 DB 31H,32H ; 十进制数1和2的ASCII BCD2 DB ? ;最终的结果应为21HDATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,BCD1SUB AL,30HMOV AH,AL;低4位暂存AHMOV AL,BCD1+1SUB AL,30HMOV CL,4SHL AL,CL ;高4位的左移4位O

26、R AL,AHMOV BCD2,ALMOV AH,4CHINT 21H CODE ENDSEND START 5-11采用左移指令或者用:MOV BX,AX MOV BX,AXSHL BX,1 ;乘2 MOV CL,3MOV DX,AX SHL AX, CL MOV CL,2 SUB AX,BXSHL AX ,CL ;乘4ADD AX,BX ;3倍ADD AX,DX ;7倍5-123228H5-13(1) AL=00 (2)AL=01H (3)AL=FFH5-14编程思路有两种方法:1.将给出的BCD码首先转换成二进制数(十六进制数),按二进制的算术运算,将最终结果再转换为BCD码。2.按照B

27、CD码进行运算,其中2*A按压缩BCD的加法(A+A)。此题用方法2比较简单DATA SEGMENT BUFF DB 34H ; BCD码数据为十进制34DES DB ? ;最终的结果应为21HDATA ENDS CODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AL, BUFFCMP AL,20H ; 十进制20HJB ADDSELFCMP AL, 60HJB SUB20HMOV DES, 80HJMP NEXTSUB20H: MOV AL,BUFFSUB AL,20HDASJMP OUTTADDSELF:

28、 MOV AL,BUFF ADD AL,BUFF ;自加代替乘2DAAOUTT: MOV DES,ALNEXT:MOV AH,4CHINT 21H CODE ENDSEND START 5-15DATA SEGMENTBUFER DW 1200H,1200H,1200HFLAG DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS: DATASTART: MOV AX, DATA MOV DS, AXMOV AX,BUFERCMP AX,BUFER+2 ;判断1和2是否相等JZ TEST1EQU3 CMP AX,BUFER+4 ;判断1和3是否相等JZ TWO

29、EQUMOV AX,BUFER+2 CMP AX,BUFER+4JZ TWOEQUMOV FLAG, 0JMP OUTTTEST1EQU3:CMP AX,BUFER+4JZ ALLEQUTWOEQU: MOV FLAG,01H ;两个数相等JMP OUTTALLEQU: MOV FLAG,02H ;三个数相等OUTT: MOV AH, 4CH INT 21HCODE ENDSEND START5-16(1) AX=55H CX=0(2) 5,6,7,8,95-17DATTA SEGMENTDATA DW 5, 7, 1900h, 2300h, 0a0h, 000BH, ,- 1NUM EQU

30、($-BUF)/2MAX DW ?MIN DW ?DATTA ENDSCODE SEGMENTASSUME DS:DATTA, CS:CODESTART: MOV AX, DATTAMOV DS, AXMOV CX, NUM ;序列数据个数MOV SI, 0 MOV DX, DATA ;大数存于DX中MOV BX, DATA ;小数存于BX中MOV CX, NUM-1MOV SI, 2LOP: CMP DX, DATASIJL BIG_CHG CMP BX, DATASI JG LITTLE_CHGJMP OUTTBIG_CHG: MOV DX, DATASIJMP OUTTLITTLE_CH

31、G: MOV BX, DATASIOUTT: INC SIINC SILOOP LOPMOV MAX, DXMOV MIN , BXMOV AH, 4CH INT 21HCODE ENDSEND START5-18DATTA SEGMENTNUMBER DB 5, 7, 19h, 23h, 0a0h, 0BH, ,- 1CNT EQU $-BUFPLUS DB CNT DUP(?)DATTA ENDSCODE SEGMENTASSUME DS:DATTA, CS:CODESTART: MOV AX, DATTAMOV DS, AXMOV CX, CNT ;序列数据个数MOV SI, OFFSE

32、T NUMBERLEA DI, PLUS LOP: MOV AL, SICMP AL ,0 JG PUT_PLUSJMP OUTTPUT_PLUS: MOV DI,ALINC DI OUTT: INC SILOOP LOPMOV AH, 4CH INT 21HCODE ENDSEND START5-19DATA SEGMENTMARK DB 98, 23, 90 ,77, 68 ,78 ,84 ,78, 79 ,98COUNT EQU $-MARKA_MARK DB 0 ;90分B_MARK DB 0C_MARK DB 0D_MARK DB 0E_MARK DB 0 ;不及格AVERAGE D

33、B 0DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS: DATASTART: MOV AX, DATA MOV DS, AXMOV CX, COUNTMOV SI, OFFSET MARKXOR AX, AX ;成绩和清零LOP: CMP BYTE PTR SI, 60 JAE MARK_60 INC E_MARK ;低于60分JMP OUTTMARK_60: CMP BYTE PTR SI, 70JAE MARK_70INC D_MARK ;低于70分JMP OUTTMARK_70: CMP BYTE PTR SI, 80JAE MARK_80INC C_MA

34、RKJMP OUTTMARK_80: CMP BYTE PTR SI, 90JAE MARK_90INC B_MARKJMP OUTTMARK_90: INC A_MARKOUTT: ADD AL, SI ADC AH, 0INC SILOOP LOPMOV BL, COUNTDIV BL ;求平均值MOV AVERAGE, ALMOV AH, 4CHINT 21HCODE ENDSEND START5-20;1)通过INT21的01H功能输入一个字符,大小写的ASCII码相差20H;2)显示过程中注意回车换行,或者采用空格,否则后出现在屏幕的字符会覆盖前面的字符DATA SEGMENTSTR

35、ING DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS: DATASTART: MOV AX, DATA MOV DS, AXLOP: MOV AH,01HINT 21H ;输入字符并回显在屏幕CMP AL,*JZ OUTT ;为结束符退出循环MOV STRING,AL ;将输入字符的ASCII码存入内存单元MOV DL ,0DH ;显示回车字符MOV AH ,02HINT 21HMOV DL ,0AH ;显示换行字符MOV AH ,02HINT 21HMOV AL ,STRING SUB AL,20H ;输入字符为小写,减20H为大写 MOV DL ,

36、ALMOV AH ,02HINT 21HMOV DL ,0DH ;显示回车字符 MOV AH ,02HINT 21HMOV DL ,0AH ;显示换行字符MOV AH ,02H INT 21HJMP LOP ;死循环 OUTT: MOV AH, 4CHINT 21HCODE ENDSEND START5-21DATA SEGMENTPKK DB adgdggdaad#ghg#uiooCNT EQU $-PKK ;题目要求是100个字符,此处自己定义非100,CUT DB ?NUM_OFFSET DW 0 ;存放和PKK的距离,100个字符,实际字节数据就可以表示距离值DATA ENDSCODE

37、 SEGMENTASSUME CS: CODE ,DS: DATASTART: MOV AX, DATA MOV DS, AXMOV CX,CNTMOV CUT,0MOV BX,0 ;采用相对寄存器间接寻址AGAIN: CMP PKKBX ,#JNZ NEXTINC CUTMOV NUM_OFFSET,BX ;和首个字符的距离值NEXT: INC BXLOOP AGAINOUTT: MOV AH, 4CHINT 21HCODE ENDSEND START5-22;程序中没有考虑大小写混合的情况,只考虑单一情况;排序采用冒泡法,具体思路参考教材上的191-193页DATA SEGMENTSTRI

38、NG DB DKSNTEYERTY,0DH,0AH,$; 0DH为回车字符,0AH为换行字符,; $显示到此结束CNT EQU $-STRING-3 ;去掉最后三个字符 CHAGE_STRING DB CNT DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS: DATASTART: MOV AX, DATA MOV DS, AXLEA DX,STRINGMOV AH,09H INT 21HMOV DX,CNT-1 LOP: MOV CX,DXMOV SI,0MOV AH,0AGAIN: MOV AL ,STRINGSICMP AL,STRINGSI+1

39、JLE NEXTXCHG AL ,STRINGSI+1XCHG AL,STRINGSIMOV AH,01HNEXT: INC SILOOP AGAINDEC DXOR AH ,AHJNZ LOP LEA DX,STRINGMOV AH,09H INT 21HJMP $ MOV AH, 4CH ;为了长时间显示,可采用 JMP $ 代替返回DOSINT 21HCODE ENDSEND START5-231)基本功能完成从SOURCE开始的地址100个字节传送到DST开始的空间。子程序中采用了串指令(未讲),可以不用管。2)子程序的输入参数是通过堆栈传递的,调用子程序前压栈三次,占用了6个字节,此

40、处子程序属于段间调用,断点(CS和IP)都要压栈保护,由CPU完成。3)子程序调用结束后,没有出栈,所有会浪费堆栈的6个字节(在子程序中进行了三次压栈操作)。修改的方法:调用子程序结束后将堆栈指针加6,或采用RET 6 返回,或者不采用堆栈传递而通过寄存器传递输入参数。5-24;题意不太明确DATA SEGMENTDATA1 DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H, 41H,42H,43H,44H,45H,46H;0-9,A-F的ACII码DATA2 DB 5 ;待查十六进制个位数DATA3 DB ? ;查表结果DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS: DATASTART: MOV AX, DATA MOV DS, AX.CALL HEX_ASCIIMOV AH ,4CH INT 21HHEX_ASCII:PUSH AXPUSH BXMOV AL ,DATA2MOV BX,OFFSET DATA1XLATMOV DATA3,ALPOP BXPOP AXRETCODE ENDSEND START5-25;采用INT21的01H功能输入一个字符,只考虑了0-9(ASCII码和数字间相差30H),未考虑A-F(ASCII码和数字间相差37

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论