微机原理作业及参考答案

发布时间 : 星期四 文章微机原理作业及参考答案更新完毕开始阅读

3-14 (1)MOV AX,0 XOR AX,AX

(2)MOV CL,4 ROR BL,CL

(3)假设N1、N2、M1、M2都为字节变量,则 MOV AX,N1 CWD IDIV N2 MOV M1,AL MOV M2,AH

(4)AND BX,1111011110101111b (5)XOR AX 4020H

(6) TEST DX,0000001000000001b

JZ ZERO;ZF=1说明bo、b9全为0 TEST DX,0000000000000001b

JZ B0ZERO; ZF=1说明bo为0 TEST DX,0000001000000000b JZ B9ZERO; ZF=1说明b9为0 …; bo、b9全为1

ZERO:…

B0ZERO:… B9ZERO:…

(7) OR CX,1 3-17

NUM1 DW 4148H,2816H NUM2 DW 2258H,8452H (1) MOV AX,NUM2 ADD NUM1,AX MOV AX,NUM2+2 ADD NUM1+2,AX (2) RES DB 2DUP(?)

MOV AL,BYTE PTR NUM1 ADD AL,BYTE PTR NUM1+1 ADD AL,BYTE PTR NUM1+2 ADD AL,BYTE PTR NUM1+3 MOV RES,AL

(3) 假设存放的数据为无符号数 MOV SI,OFFSET NUM1 XOR AX,AX MOV CX,8 LP:ADD AL,[SI] ADC AH,0 INC SI

LOOP LP MOV RES,AL MOV RES+1,AH

假设存放的数据为带符号数 MOV SI,OFFSET NUM1 XOR BX,BX MOV CX,8 LP:MOV AL,[SI] CBW

ADD BX,AX INC SI LOOP LP MOV RES,AL MOV RES+1,AH (4) MOV AX,NUM1 ADD NUM2,AX MOV AX,NUM1+2 ADC NUM2+2,AX 3-18 (1) XOR AX, AX ;AX清零 LEA SI, NUM1 MOV CX, 8 LOP: ADD AL, [SI] DAA

ADC AH, 0 ;AF清零 INC SI LOOP LOP MOV RES, AL

MOV RES+1, AH (2) MOV AL, NUM1

SUB AL, NUM2 DAS

MOV RES, AL

差=90H; CF=1 3-21

(1)BX=9AH (2)BX=61H (3)BX=8071H (4)BX=10F7H (5)BX=0FF1CH 3-23

(1)将自FIRST开始的存储区中的连续10个字节传送到从SECOND开始的存储区中。 (2)将自0404H开始的存储区中连续256个字节全部赋0值。 3-27

(1)IP=1256H (2)IP=3280H (3)IP=2450H 3-28

CS=2000H; IP=009AH; SP=0F178H; [SP]=8FH [SP+1]=3DH; [SP+2]=50H; [SP+3]=40H; 3-29 MOV BL,AL CMP AL,01H JZ LAB1 CMP AL,02H JZ LAB2 CMP AL,04H JZ LAB3 AND BL,07H JNZ OK …… OK: …… LAB1: …… LAB2: …… LAB3: …… 3-31 MOV AX,0032H CMP AX,X JL N_HIGH MOV BX,X SUB BX,Y JO OVERFLOW JNS NEXT NEG BX

NEXT: MOV RESULT,BX

N_HIGH: …… OVERFLOW: ……

第四章4-2 内存分配和预置数据

VAR1 DB 12,-12H,3 DUP(0,0FFH) VAR2 DB 100 DUP(0,2 DUP(1,2),0,3) VAR3 DB ‘WELCOME TO’

汇编语言程序设计(P195)

VAR4 DW VAR3+6 ;存放的是偏移地址

VAR5 DD VAR3 ;存放的是偏移地址、段地址 4-3

(1)DATA1 DB 86H,27H,23H,00H,24H,1AH (2)DATA2 DW 0B430H,1062H

(3)DATA3 DB 4DUP(20H),20,0,6DUP(1,2) 4-5

(1)VAR1的偏移量是0030H;VAR2的偏移量是003AH (2)CNT=0010H

(3)VAR2+2单元的内容是02H 4-11

DATA SEGMENT X DB 4 DUP(?) Y DB 4 DUP(?) Z DB 4 DUP(?) ;定义X,Y,Z为字节变量 DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DL,0 MOV AX,WORD PTR X SUB AX,WORD PTR Y ;X,Y低16位相减 MOV WORD PTR Z,AX ;结果存入Z的低16位 MOV AX,WORD PTR X[2] SBB AX,WORD PTR Y[2] ;X,Y高16位相加 MOV WORD PTR Z[2],AX ;结果存入Z的高16位 JNO OK MOV DL,-1 ;溢出 OK: MOV AH,4CH INT 21H CODE ENDS END START

4-13

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV GOOD,0 MOV PASS,0 MOV BAD,0

联系合同范文客服:xxxxx#qq.com(#替换为@)