下载后可任意编辑第 3 章 8086CPU 指令系统1. 写出完成下列要求的变量定义语句: ( 1) 在变量 var1 中保存 6 个字变量: 4512H, 4512, -1, 100/3, 10H, 65530; ( 2) 在变量 var2 中保存字符串: ’BYTE’, ’word’, ’WORD’; ( 3) 在缓冲区 buf1 中留出 100 个字节的存储空间; ( 4) 在缓冲区 buf2 中, 保存 5 个字节的 55H, 再保存 10 个字节的 240, 并将这一过程重复 7 次; ( 5) 在变量 var3 中保存缓冲区 buf1 的长度; ( 6) 在变量 pointer 中保存变量 var1 和缓冲区 buf1 的偏移地址。解: var1DW4512H,4512,-1,100/3,10H,65530var2DB’BYTE’,’word’,’WORD’buf1DB100 DUP( ?) buf2DB7 DUP( 5 DUP( 55H) ,10 DUP( 240) ) var3DBLENGTH buf1pointerDW var1,buf1 ( 或者 pointerDW OFFSET var1, OFFSET buf1) 2. 设变量 var1 的逻辑地址为 0100: 0000, 画出下列语句定义的变量的存储分配图: var1 DB 12, -12, 20/6, 4 DUP( 0, 55H) var2 DB ‘Assemble’ var3 DW ‘AB’, ‘cd’, ‘E’ var4 DW var2 var5 DD var2解: 下载后可任意编辑3. 指令正误推断, 对正确指令写出源和目的操作数的寻址方式, 对错误指令指出原因( 设 VAR1, VAR2 为字变量, L1 为标号) : ( 1) MOV SI, 100( 2) MOV BX, VAR1[SI] ( 3) MOV AX, [BX]( 4) MOV AL, [DX] ( 5) MOV BP, AL( 6) MOV VAR1, VAR2 ( 7) MOV CS, AX( 8) MOV DS, 0100H ( 9) MOV [BX][SI], 1( 10) MOV AX, VAR1+VAR2 ( 11) ADD AX, LENGTH VAR1( 12) OR BL, TYPE VAR2 ( 13) SUB [DI], 78H( 14) MOVS VAR1, VAR2 ( 15) PUSH 100H( 16) POP CS ( 17) XCHG AX, ES( 18) MOV DS, CS ( 19) JMP L1+5( 20) DIV AX, 10 ( 21) SHL BL, 2( 22) MOV AL, 15+23 ( 23) MUL CX( 24) XCHG CL, [SI] ( 25) ADC CS:[0100], AH( 26) SBB VAR1-5,154解: ( 1) MOV SI,100正确。源: 立即数寻址, 目的: 寄存器寻址( 2) MOV BX,VAR1[SI] 正确。源: 寄存器相对寻址, 目的: 寄存器寻址( 3) MOV AX,[BX]正确。源: 寄存器间接寻址, 目的: 寄存器寻址( 4) MOV AL,[DX]错误。寄存器间接寻址时, DX, AX, CX 不能作地址寄存器下载后可任意编辑...