发布时间 : 星期四 文章微机原理作业及参考答案更新完毕开始阅读
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