收藏 分销(赏)

微机原理与接口关键技术基于和仿真第版习题参考答案.doc

上传人:天**** 文档编号:2799678 上传时间:2024-06-06 格式:DOC 页数:49 大小:1.46MB 下载积分:12 金币
下载 相关 举报
微机原理与接口关键技术基于和仿真第版习题参考答案.doc_第1页
第1页 / 共49页
微机原理与接口关键技术基于和仿真第版习题参考答案.doc_第2页
第2页 / 共49页


点击查看更多>>
资源描述
第1章 习题答案 1.答: 为了区别所使用数制,普通用如下两种书写格式表达: ① 用括号将数字括起,背面加数制区别,数制用下标形式给出; ② 用后缀区别,二进制数、十进制数、八进制数、十六进制数后缀分别为字母B(或b)、D(或d)、O(或o)或Q(或q)、H(或h)。 例如:十六进制数56.78可以表达到(56.78)16或56.78H; 十进制数56.78可以表达到(56.78)10或56.78D。 2.答: 123D采用十进制,0AFH采用十六进制,77Q采用八进制,1001110B采用二进制。 3.答: 字长为8位二进制数原码表达最大值:127,最小值:-127;补码表达最大值:127,最小值:-128。 字长为16位二进制数原码表达最大值:32767,最小值:-32767;补码表达最大值:32767,最小值:-32768。 4.答: (1)125D=0111 1101B=7DH (2) 255D=1111 1111B=FFH (3)72D=0100 1000B=48H (4)5090D=0001 0011 1110 0010B=13E2H 5.答: (1)1111 0000B=240D=F0H (2) 1000 0000 B =128D =80H (3)1111 1111 B =255 D =FFH (4)0101 0101B=85D=55H 6.答: (1)FFH=255D=1111 1111B (2) ABCDH=43947D=1010 1011 1100 1101B (3) 123H=291D=0000 0001 0010 0011B (4) FFFFH=65535D=1111 1111 1111 1111B 7.答: (1)8位时(16)原=0001 0000 ; (16)补=0001 0000; 16位时(16)原=0000 0000 0001 0000 ; (16)补=0000 0000 0001 0000; (2) 8位时(-16)原=1001 0000 ; (-16)补=1111 0000; 16位时(-16)原=1000 0000 0001 0000 ; (-16)补=1111 1111 1111 0000; (3) 8位时(+0)原=0000 0000; (+0)补=0000 0000; 16位时(+0)原=0000 0000 0000 0000; (+0)补=0000 0000 0000 0000; (4) 8位时(-0)原=1000 0000 ; (-0)补=0000 0000; 16位时(-0)原=1000 0000 0000 0000; (-0)补=0000 0000 0000 0000; (5) 8位时(127)原=0111 1111; (127)补=0111 1111; 16位时(127)原=0000 0000 0111 1111; (127)补=0000 0000 0111 1111; (6) 8位时-128超过原码表达范畴; (-128)补=1000 0000; 16位时(-128)原=1000 0000 1000 0000; (-128)补=1111 1111 1000 0000; (7) 8位时(121)原=0111 1001 ; (121)补=0111 1001; 16位时(121)原=0000 0000 0111 1001; (121)补=0000 0000 0111 1001; (8) 8位时(-9)原=1000 1001 ; (-9)补=1111 0111; 16位时(-9)原=1000 0000 0000 1001; (-9)补=1111 1111 1111 0111; 8.答: (1) [x]补=1100 0010;(2)[-x]补=0000 1101;(3)[x]原=1100 0010;(4)[x]反=1011 1101。 9.答: (1)A>B;(2)A<B 10.答: (1)溢出;(2)13H;(3)溢出;(4)EDH;(5)EDH。 11.答: (1)1000 1000;(2)1110 1110;(3)0110 0110;(4)1010 1100; (5)0000 0000;(6)1010 1100;(7)=0101 0011。 12.答: (1)30H=48,字符为‘0’;(2)39H=57,字符为‘9’;(3)42H=66,字符为‘B’; (4)62H=98,字符为‘b’;(5)20H=32,字符为空格;(6)7H=7,字符为报警符; 13、答: 十进制 49 123 7 62 压缩BCD码 0100 1001B 0001 0010 0011B 0000 0111B 0110 0010B 非压缩BCD码 0000 0100 0000 1001B 0000 0001 0000 0010 0000 0011B 0000 0111B 0000 0110 0000 0010B ASCII码 3439H 313233H 37H 3632H 第2章 习题答案 1.(1)答: 物理地址:物理地址(PA)是20位无符号二进制数,是CPU访问存储器实际地址。每个存储单元相应一种物理地址。8086存储空间物理地址范畴是:00000H~FFFFFH。 逻辑地址:采用分段构造存储器中,把通过段地址和偏移地址来表达存储单元地址称为逻辑地址,记为:段地址:偏移地址。 段地址:8086规定各逻辑段从节整数边界开始,即段首地址二进制值低4位是0000,把段首地址高16位称为段基址或段地址。 偏移地址:把某一存储单元相对于段地址段内偏移量称为偏移地址(也称有效地址EA)。段地址和偏移地址都是是16位无符号二进制数。 (2)答: 时钟周期:计算机“时钟”是由振荡源产生、幅度和周期不变节拍脉冲,每个脉冲周期称为时钟周期,又称为T状态或T周期,时钟周期是微机系统工作最小时间单元。 总线周期:当CPU访问存储器或输入/输出端口时,需要通过总线进行读或写操作,这个过程称为总线周期(Bus Cycle)。总线周期是运用总线完毕一次读/写所需要时间。 指令周期:执行一条指令所需要时间称为指令周期(Instruction Cycle)。指令周期由1个或各种总线周期构成。 (3)答: 最小模式:也称为单解决器模式,是指系统中只有一片8086微解决器,所连接存储器容量不大、片子不多,所要连接I/O端口也不多,系统控制总线就直接由CPU控制线供应,从而使得系统中总线控制电路减到至少。最小模式合用于较小规模系统。 最大模式:相对于最小模式而言,合用于中、大型规模系统。系统中有各种微解决器,其中一种是主解决器8086,其她解决器称为协解决器,承担某方面专门工作。需要增长一片8288来对8086CPU发出控制信号进行变换和组合,以得到对存储器或I/O端口读/写信号和对锁存器、总线收发器控制信号。 2.答: EU:负责指令执行,即从总线接口部件BIU指令队列取指令,指令执行后向BIU送回运算成果,同步把运算成果状态特性保存到标志寄存器中。 BIU:负责CPU与存储器、I/O设备之间数据传送。BIU完毕如下操作:取指令送给指令队列、配合执行部件从指定内存单元或者外设端口中取数据、将数据传送给执行部件或者把执行部件操作成果传送到指定内存单元或外设端口中。 8086BIU和EU在诸多时候可以并行工作,使得取指令、指令译码和执行指令这些操作构成操作流水线。 ① 当指令队列中有两个空字节,且EU没有访问存储器和I/O接口规定期,BIU会自动把指令取到指令队列中。 ② 当EU准备执行一条指令时,它会从指令队列前部取出指令执行。在执行指令过程中,如果需要访问存储器或者I/O设备,那么EU会向BIU发出访问总线祈求,以完毕访问存储器或者I/O接口操作。如果此时BIU正好处在空闲状态,那么,会及时响应EU总线祈求;但如果BIU正在将某个指令字节取到指令队列中,那么,BIU将一方面完毕这个取指令操作,然后再去响应EU发出访问总线祈求。 ③ 当指令队列已满,并且EU又没有总线访问时,BIU便进入空闲状态。 ④ 在执行转移指令、调用指令和返回指令时,下面要执行指令就不是在程序中紧接着那条指令了,而BIU往指令队列装入指令时,总是按顺序进行。在这种状况下,指令队列中已经装入指令就没有用了,会被自动消除。随后,BIU会往指令队列中装入另一种程序段中指令。 3.答: 地址信号是CPU发送给内存或I/O设备,因此地址线是单向; 数据信号可以从CPU发送给内存或I/O设备,也可以从内存或I/O设备发送给CPU,故而数据线是双向。 4.答: 8086CPU中有14个寄存器。它们是:4个16位通用寄存器:AX、BX、CX、DX和8个8位通用寄存器:AH、AL、BH、BL、CH、CL、DH、DL;指针和变址寄存器SP、BP、SI、DI;4个16位段寄存器CS、DS、SS和ES;标志寄存器FR;指令指针寄存器IP。 功能略。 5.答: (1)加法运算成果为:CEACH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=1; (2)加法运算成果为:68ACH;CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0; (3)加法运算成果为:DDDDH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=0。 6.答: 8086CPU可寻址存储器地址范畴是00000H~FFFFFH; 可寻址I/O端口地址范畴是0000H~FFFFH。 7.答: 由于8086CPU提供20位地址,但8086中可用来存储地址寄存器,如IP、SP、BX、SI等都是16位,只能直接寻址64KB。为了寻址1MB存储空间,8086CPU采用了典型存储器分段技术,即将整个存储器空间分为许多逻辑段,每个逻辑段容量不大于或等于64KB。分段后,对存储器寻址操作不再直接用20位物理地址,而是采用段地址加段内偏移地址二级寻址方式。 8.答: 将AH内容送存储单元操作过程中:; 将I/O端口内容送AL操作过程中:。 9.答: A0 有效数据引脚 操 作 0 0 AD15~AD0(一种总线周期同步访问奇体和偶体,从奇地址单元读/写字数据高8位,从偶地址单元读/写字数据低8位) 从偶地址读/写一种字 1 0 AD7~AD0 从偶地址读/写一种字节 0 1 AD15~AD8 从奇地址读/写一种字节 0 1 1 0 AD15~AD8(第一种总线周期从奇字数据低8位) AD7~AD0(第二个总线周期从偶地址单元读/写字数据高8位) 从奇地址读/写一种字 10.答: 8086系统复位后,指令指针(IP)为0000H;CS寄存器为FFFFH,其她寄存器为0000H;指令队列清空。 11.答: 8086A19/S6~A16/S3和AD15~AD0是复用信号,需要地址锁存器将地址信息保存起来,为外接存储器或外设提供地址信息。 需要锁存信号是:地址信号及信号。 12.答: 8086CPU一种基本总线周期包括4个时钟周期:T1、T2、T3和T4 。 在T1状态,有效,批示CPU访问是存储器还是外设,之后CPU往多路复用总线上发出地址信息,以指出要寻址存储单元或外设端口地址。在T1状态,CPU还必要在ALE引脚上输出一种正脉冲作为地址锁存信号。信号也在T1状态送出,它用来表达数据传送字宽。 在T2状态,CPU从总线上撤销地址,使总线低16位浮空,置成高阻状态,为传播数据作准备。总线最高4位(A19~A16)用来输出本总线周期状态信息。读信号或写信号在T2状态变为有效,批示CPU将进行哪种操作(读或写)。 在T3状态,多路总线高4位继续提供状态信息,而多路总线低16位上浮现由CPU读出数据或者CPU从存储器或端口写入数据。 在T4状态和前一种状态交界处,CPU对数据总线进行采样,获得数据,总线周期结束。 13.答: 在有些状况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一种“数据未准备好”信号,于是CPU会在T3之后插入1个或各种附加时钟周期TW。取决与外设或存储器速度。 14.答: 两种操作时序不同之处发生在T1和T2状态。 ① 在T1状态,读周期:应输出低电平;写周期:应输出高电平。 ② 在T2状态,读周期:有效,而无效,AD15~AD0为高阻态;写周期:变为无效,而写信号变为有效,AD15~AD0在地址撤销之后及时送出要写入存储器或外设端口数据。 15.答: 在最小模式下,读信号、ALE和、等信号直接由CPU给出; 在最大模式下,总线控制器8288依照和状态信号产生读信号和,ALE和、DEN也是由8288发出,并且DEN信号极性与CPU在最小模式下发出信号正好相反。 第3章 习题答案 1.答: 指令中关于如何求出操作数有效地址办法称为寻址方式。 8086CPU支持各种寻址方式,依照操作数类型及来源大体分为3类:数据寻址、转移地址寻址和I/O寻址。 2.答: 8086汇编指令可以采用7种基本数据寻址方式:①及时寻址;②寄存器寻址;③直接寻址;④寄存器间接寻址;⑤寄存器相对寻址;⑥基址变址寻址;⑦相对基址变址寻址。 与存储器寻址方式(后5种)相比,寄存器寻址方式最快。 3.答: 如果指令中没有用前缀阐明操作数存储在哪个段,则操作数默认存储在数据段。 8086系统容许操作数存储在代码段、堆栈段或附加段。此时,就需要在指令中运用前缀指明段超越。例如: MOV ES:[1225H],AX 4.答: (1)寄存器寻址方式 (2)寄存器间接寻址方式,PA=10300H (3)寄存器间接寻址方式,PA=0H (4)直接寻址方式,PA=10060H (5)基址变址寻址方式,PA=10500H (6)相对基址变址寻址方式,PA=12300H (7)直接寻址方式,PA=11000H (8)寄存器相对寻址方式,PA=10306H (9)直接寻址方式,PA=10065H 5.答: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) × × × √ × √ × × √ × × 6.答: (1)源操作数寻址方式不同。MOV AX,3000H指令源操作数采用是及时数寻址方式,MOV AX,[3000H]指令源操作数采用是直接寻址方式。 (2)指令执行后,AX值不同。MOV AX,MEM指令执行后,AX得到是MEM单元内容,而MOV AX,OFFSET MEM指令执行后,AX得到是MEM单元地址。 (3)指令不同。MOV AX,MEMMOV AX,MEM指令执行后,AX得到是MEM单元内容,而LEA AX,MEM指令执行后,AX得到是MEM单元地址。 (4)转移类型不同。JMP SHORT L1指令实现是段内转移,而JMP NEAR PTR L1指令实现是段间转移。 (5)指令执行成果不同。CMP DX,CX指令执行后,DX值不变,而SUB DX,CX指令执行后,DX值是两寄存器值差。 (6)操作数所在段不同。MOV [BP][SI],CL指令访问是堆栈段存储单元,而MOV DS:[BP][SI],CL指令访问是数据段存储单元。 7.答: (1)MOV BYTE PTR [BP],200指令执行后,(58200H)=200H (2)MOV WORD PTR [BX],指令执行后,(22400H)=H 8.答: 当前栈顶地址是:FE00H:H; 执行PUSH BX指令后,栈顶地址变为:FE00H:200EH,栈顶2字节内容是:3457H。 9.答: (1)(DX)=3C62H,CF=1 (2)(DX)=03C6H,CF=0 (3)(DX)=18A0H,CF=1 (4)(DX)=2BC6H,CF=0 (5)(DX)=18B7H,CF=1 (6)(DX)=BCC5H,CF=0 10.答: (AX) CF ZF OF SF PF (1) 134EH 0 0 0 0 1 (2) 0821H 0 0 0 0 1 (3) F142H 1 0 0 1 1 (4) 0A69 1 0 0 1 1 (5) F596 - - - - - (6) 0A69 0 0 0 0 1 11.答: (1) CMP CX,DX JA NEXT (2)CMP AX,BX JNA NEXT (3)CMP DX,0 JZ NEXT (4)CMP CX,DX JBE NEXT 12.答: (1) 程序转向L1。 (2) 程序转向L1。 (3) 程序转向L2。 (4) 程序转向L5。 (5) 程序转向L5。 13.答: 由于普通运算指令执行是二进制数运算,而BCD码是十进制数,因此,需要对运算成果进行十进制调节。 在做BCD码加、减和乘法运算时,十进制调节指令放在运算指令之后;而作BCD码除法运算时,在运算指令之前用十进制调节指令对被除数进行调节。 14.答: MOV Cl,3 SHR bx,cl 15.答:(略) 16.答: DATA SEGMENT COUNT=100H ORG 1000H D_DATA DB COUNT DUP(?) ORG 2170H S_DATA DB COUNT/5 DUP(1,2,3,4,5) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,S_DATA LEA DI,D_DATA MOV CX,COUNT REP MOVSB MOV AL,1 MOV CX,COUNT LEA DI,D_DATA AGAIN: CMP BYTE PTR [DI],AL JNZ NEXT MOV BYTE PTR [DI],' ' NEXT: INC DI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 17.答: CODE SEGMENT ASSUME CS:CODE START: MOV AX,5678H MOV DX,1234H NOT AX NOT DX ADD AX,1 ADC DX,0 EXIT: MOV AH,4CH INT 21H CODE ENDS END START 18. 答: ;本程序未考虑溢出状况。 DATA SEGMENT A1 DW 5050H A2 DW ? ;存A1反码 A3 DW ? ;存A1补码 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,A1 NOT AX MOV A2,AX INC AX MOV A3,AX EXIT: MOV AH,4CH INT 21H CODE ENDS END START 19. 答: DATA SEGMENT ;AT 5000H ORG 3481H DAT DB 12H DB ?,?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,DAT NEG AL MOV DAT+1,AL MOV AL,DAT XOR AL,00001111B MOV DAT+2,AL MOV AL,DAT OR AL,11110000B MOV DAT+3,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START 20. 答: COUNT=1000 DATA SEGMENT ORG 1000H DAT DB 10 DUP (12H,-5,-3,0,-128,56H,98H,4,128,200) ORG H MINDAT DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DAT MOV CX,COUNT DEC CX MOV AL,[SI] NEXT: INC SI CMP AL,[SI] JLE ISMIN MOV AL,[SI] ISMIN: LOOP NEXT MOV MINDAT,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START 21. 答: DATA SEGMENT STRING1 DB 'hELLO!' COUNT1=$-STRING1 STRING2 DB 'hEL1O!' COUNT2=$-STRING2 IM DB 'MATCH$' NM DB 'NOT MATCH$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,STRING1 LEA DI,STRING2 MOV CX,COUNT1 MOV BX,COUNT2 CMP CX,BX JNZ DISPNOTMATCH NEXT: MOV AL,[SI] MOV AH,[DI] CMP AL,AH JNZ DISPNOTMATCH INC SI INC DI LOOP NEXT ISMATCH: MOV DX,OFFSET IM MOV AH,9 INT 21H JMP EXIT DISPNOTMATCH: MOV DX,OFFSET NM MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START 22. 答: DSEG SEGMENT DATA DB 5,6,7,8 DW ? DATA2 DB 1,10,100,20 DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV DX,0 MOV CX,4 LEA SI,DATA LEA DI,DATA2 NEXT: MOV AL,[DI] MOV BL,[SI] CALL DOMUL ADD DX,AX INC DI INC SI LOOP NEXT MOV WORD PTR DATA+4,DX EXIT: MOV AH,4CH INT 21H DOMUL PROC MUL BL RET DOMUL ENDP CODE ENDS END START MOV CX,100 MOV AX,SEG LIST MOV DS,AX MOV AX,SEG BLK MOV ES,AX LEA SI,LIST ADD SI,CX LEA DI,BLK ADD DI,CX STD REP MOVSB 23. 答: 24. 答: DSEG SEGMENT BUFFER DW 8 DB '12345678' DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV CX,BUFFER SAR CX,1 LEA SI,BUFFER MOV DI,SI ADD DI,2 AGAIN: ADD SI,2 MOV AL,[SI] AND AL,0FH SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 SAL BYTE PTR [SI+1],1 OR AL,BYTE PTR [SI+1] MOV [DI],AL INC DI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 25. 答: JMP SHORT LAB指令是一条双字节指令。这条指令取出后,(IP)=0102H,转移目的偏移地址=(IP)+位移量。因此,转移目的物理地址=(CS)╳16+(IP)+位移量。 (1)转移目的物理地址=(CS)╳16+0158H (2)转移目的物理地址=(CS)╳16+0182H (3)转移目的物理地址=(CS)╳16+017AH (4)转移目的物理地址=(CS)╳16+01E2H DSEG SEGMENT ORG 10H DAT DB 10 DB ? DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV AL,DAT MOV BL,AL SAL BL,1 ADD AL,BL MOV CL,2 SAL BL,CL ADD AL,BL MOV DAT+1,AL EXIT: MOV AH,4CH INT 21H CODE ENDS END START 26. 答: 27. 答: DSEG SEGMENT ORG 10H DAT DB 10H,20H DB ?,? DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV AL,DAT MOV AH,DAT+1 MOV CL,3 SAR AX,CL MOV DAT+2,AL MOV DAT+3,AH EXIT: MOV AH,4CH INT 21H CODE ENDS END START 28. 答: DSEG SEGMENT BLOCK DW 8 DUP (10H,20H,-3,-9) DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,BLOCK MOV CX,32 AGAIN: MOV AX,[SI] CMP AX,0 JNS NEXT NEG AX MOV [SI],AX NEXT: INC SI INC SI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 29. 答: DSEG SEGMENT ORG 3030H DAT DW 1234H,-1234H,?,? DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV AX,DAT MOV BX,DAT+2 IMUL BX MOV DAT+4,AX MOV DAT+6,DX EXIT: MOV AH,4CH INT 21H CODE ENDS END START 第4章 习题答案 1. 答: 标号是指令符号地址,可用作控制转移指令操作数。 标号具备3种属性:段属性、偏移属性和类型属性。 2. 答: 变量是存储单元符号地址。 变量具备3种属性:段属性、偏移属性和类型属性。 3. 答: 伪指令语句,也称批示性语句,是不可执行语句,汇编后不产生目的代码,它仅仅在汇编过程中告诉汇编程序如何汇编源程序。 宏是一种以宏名定义指令序列。一旦把某程序段定义成宏,则可以用宏名代替那段程序。在汇编时,要对宏进行宏展开,即把以宏名表达地方替代为该宏相应指令序列目的代码。宏指令可以当作指令语句扩展,相称于多条指令语句集合。 4. 答: 汇编语言表达式中有如下运算符:算术操作符、逻辑操作符、移位操作符、关系操作符、数值回送操作符和属性操作符。 操作符所完毕运算在汇编阶段进行。 5. 答: 略。 6. 答: (1)DB1 DB 10H DUP(1,2,5 DUP(3),4) (2)DB2 DB 'STUDENT' (3)BD3 DW 12H,0ABCDH (4)COUNT EQU DB2-DB1 7. 答: 第一种OR表达该指令是OR指令,在程序运营时,该OR操作被执行。 第二个OR是逻辑操作符OR,在汇编时,OR运算被执行。 8. 答: (1)(AX)=1 (2)(AX)=2 (3)(CX)=5 (4)(DX)=0AH (5)(CX)=1 (6)(DX)=4 9. 答:略。 10. 答: DSEG SEGMENT STRING DB 'NEXT123DF$' DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,STRING MOV CX,0 AGAIN: MOV AL,[SI] CMP AL,'$' JZ NEXT INC CX INC SI JMP AGAIN NEXT: MOV DX,CX MVDAT: MOV [SI]+2,AL DEC SI MOV AL,[SI] LOOP MVDAT MOV [SI]+2,AL MOV WORD PTR [SI],DX EXIT: MOV AH,4CH INT 21H CODE ENDS END START 11. 答: DSEG SEGMENT STRING DB 'It is FEB&03' COUNT=$-STRING DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,STRING MOV CX,COUNT AGAIN: MOV AL,[SI] CMP AL,'&' JNZ NEXT MOV AL,' ' MOV [SI],AL NEXT: INC SI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 12. 答: DSEG SEGMENT BLOCK DB 4,5,-2,7,8,9,2,1,0AH,1BH,87H,23H,44H,33H,45H,28H,0DH,8EH,66H,22H COUNT=$-BLOCK DSEG ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,BLOCK MOV CX,COUNT AGAIN: MOV AL,[SI] MOV DI,SI MOV DX,CX NEXT1: CMP AL,[DI] JGE NEXT XCHG AL,[DI] NEXT: INC DI DEC DX JNZ NEXT1 MOV [SI],AL INC SI LOOP AGAIN EXIT: MOV AH,4CH INT 21H CODE ENDS END START 13. 答: (3) (4)(2) (5)(1) (6) 1B50H 1000H 1A70H 150BH 上表左侧序号,表达相应操作完毕后SP指向栈顶位置。 14. 答: SUB1 PROC MOV BX,AX MOV CL,4 ROL BX,CL MOV AX,BX AND AX,000FH MOV CX,1000 MUL CX ;千位在DX,AX,有效值在AX中 PUSH AX MOV CL,4 ROL BX,CL
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服