logo资料库

8086汇编语言程序设计_马丽妮_课后习题答案.doc

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
第一章 基础知识
第二章 80x86计算机组织结构
第三章 80x86指令系统和寻址方式
第四章 汇编语言程序结构
第五章 顺序、分支和循环程序设计
第六章 子程序设计
第七章 高级汇编技术
第一章 基础知识 1.1 填空题 (1) 汇编程序 , 汇编 (2) 汇编 ,连接 (3) 位 , 字节 ,_字_ (4) 组合型 , 非组合型 (5)_0~255 或 00000000B~11111111B_;_+127~ -128 或 01111111B~10000000B 1.2 选择题 DCDCC 1.3~1.5 略。 1.6 (1)4109=1 0000 0000 1101B = 100DH (2)123 =0111 1011B=7BH (3)0.176 =0.0010 1101B=0.2DH (4)17.625=10001.101B=11.AH 1.7 (1)101011=2BH=43D (2)11010011=0D3H=211 (3)1011.0101=0B.5H=11.3125 (4)11011.00111=1B.38H=27.21875D 1.8 (1)2DH =101101B=45 (2)15.12H=10101.0001 0010B=21.0703125 (3)1C5H =1 1100 0101B=453 (4)21F.06H=10 0001 1111.0000 0110B=543.0234375 1.9 (1)35 原码 00100011B 反码 00100011B 补码 00100011B (2)-45 10101101B 11010010B 11010011B (3)-98 11100010B 10011101B 10011110B (4)-128 (5)0 10000000B 11111111B 10000000B 00000000B 00000000B 00000000B (6)-1 10000001B 11111110B 11111111B 1.10 (1)带符号数 = 不带符号数 = 28432 (2)带符号数 = -32768,不带符号数 = 32768 (3)带符号数 = -15659,不带符号数=49877 (4)带符号数=-1,不带符号数=65535 1.11 (1)64H,100 (3)08H,8 (2)8BH,-11 (4)0DAH,-90 1.12 (1)35=[0011 0101]组合型 BCD= [0000 0011 0000 0101]非组合型 BCD (2)74=[0111 0100]组合型 BCD= [0000 0111 0000 0100]非组合型 BCD (3)98= [1001 1000]组合型 BCD= [0000 1001 0000 1000]非组合型 BCD (4)14=[0001 0100]组合型 BCD= [0000 0001 0000 0100]非组合型 BCD 1.13 (1)10101001 + 01100100 = 0000 1101B(溢出) 10101001 - 01100100 = 0100 0101B 10101001 ∧ 01100100= 0010 0000B 1
10101001 ∨ 01100100 =1110 1101B 10101001 ∨(异或) 01100100 =11001101 B (2)01110011 + 10110011 = 0010 0110B(溢出) 01110011-10110011= 1100 0000B(溢出) 01110011∧10110011=0011 0011B 01110011∨10110011=1111 0011B 01110011∨(异或)10110011=1100 0000B 1.14 53;35;5 第二章 80x86 计算机组织结构 2.1 填空题 (1)_CPU_、_存储器_、_I/O 设备 (2)_运算器_、_控制器_、_寄存器_ (3)_数据_、_地址_、_控制_ (4)_先进后出_ (5)_物理地址_、_逻辑地址_ (6)_20_、_1M 字节_ (7)_实_、_保护_、_实_ (8)_13240H_、_3140H_ 2.2 选择题 DCBC BADB 2.3~2.9 略。 2.10 01H,0201H,0403 0201H 2.11 11FDBH,CF=1,ZF=0,SF=0 2.12 略。 2.13 30000H 30001H 30002H 30003H 30004H 30005H 56H 32H 54H 10H 00H 78H 2.14 (10002H)=50H,(10000H)=7090H,(10001H)=1030 5070H 2.15 物理地址=30400H; 同一物理地址还有其他逻辑地址: 2F3F:1010H 2F40:1000H 2F41:0FF0H …… 2
2.16 SP→ 72H 61H 80H 50H 1000:00FCH 1000:00FDH 1000:00FEH 1000:00FFH 1000:0100H SP→ 1000:0100H (1) 压入堆栈前 (2) 将数据 5080H、6172H 压入堆栈后 SP→ 80H 50H 1000:00FEH 1000:00FFH 1000:0100H (3) 将栈顶单元的内容弹出堆栈后 2.17~2.18 略。 第三章 80x86 指令系统和寻址方式 注意:编写程序题答案仅供参考,答案可能不唯一。 3.1 填空题 (1) _操作码_、_操作数_ (2) _SI_、_DI_、_BX_、_DS_;_BP_、_SS_ (3) _BX_、_BP_,_SI_、_DI_,_BX_、_数据段_;_BP_、_堆栈_ (4) _1_、_0_ (5) _AX_、_AL_、_AH_ 3.2 选择题 DBBDD DCDAC 3.3 (1) 立即数寻址 (2) 基址变址寻址 (3) 寄存器寻址 (4) 寄存器相对寻址 (5) 直接寻址 (6) 比例变址寻址 (7) 寄存器寻址 (8) 寄存器间接寻址 (9) 立即寻址 (10) 比例变址寻址 (11) 直接寻址 3
(12) 相对基址变址寻址 (13) 寄存器相对寻址 (14) 比例变址寻址 (1) AX=2000H (2) AX=2100H (3) AX=7050H (4) AX=3010H (5) AX=5030H (6) AX=7050H (7) AX=6040H (8) AX=4020H (9) AX=0070H (10) EAX=70503010H (1) × 不能为 DS 赋值 (2) × 立即数不能为目的操作数 (3) × 类型不匹配 (4) √ (5) × 不匹配 (6) × 类型不匹配 (7) × 超出数的表示范围 (8) × 不能为 CS 赋值 (9) × 只能是字或双字 (10) × 操作数不能同时是内存操作数 3.4 3.5 3.6 (1) IP=4000H (2) IP= 2211H,CS=当前段基址 (3) IP=3322 H,CS=当前段基址 (4) IP=5544H,CS=当前段基址 (5) IP= 2211H,CS=4433H (6) IP= 3322 H,CS=5544H 3.7 答:AX 相同,第一条指令是立即寻址;第二条指令是存储器直接寻址 3.8 AX=3344H,DX=1122H SP→ 44H 33H 22H 11H 20FFCH 20FFDH 20FFEH 20FFFH SP→ 21000H 执行指令前、后 执行压栈指令后 3.9 MOV DX, WORD PTR DATA1+2 4
MOV AX, WORD PTR DATA1 ADD AX, WORD PTR DATA2 ADC DX, WORD PTR DATA2+2 MOV WORD PTR DATA3, AX MOV WORD PTR DATA3+2, DX 3.10 (1) MOV AL,Y SUB AL,Z ADD AL,X MOV W,AL (2) MOV AX, Y ADD AX, 10 SUB X, AX MOV BX, Z ADD BX, 100 SUB X, BX MOV AX, X MOV W, AX (3) MOV AX,X MUL Y SUB AX,10 SBB DX,0 DIV Z MOV W1,AX MOV W2,DX (4) MOV AX,X SUB AX,Y CWD MOV BX,100 IDIV BX ADD AX,200 IMUL Z MOV WORD PTR W, AX MOV WORD PTR W+2, DX 3.11 (1) MOV AL, 0FFH AND AL, 0FCH (2) MOV AL,00H OR AL,18H (3) MOV BL, 0FFH XOR BL, 30H (4) MOV CH,0 MOV CL,BL MOV AH,AL 5
MOV AL,0 OR CX,AX 或 MOV CL,8 SHL AX,CL MOV BH,0 OR AX,BX MOV CX,AX (5) MOV AX,X1 MOV CL,4 ROL/ROR AX,CL MOV X1,AX 3.12 (略) 3.13 (1) MOV AX, 0 (2) SUB AX, AX (3) XOR AX, AX (4) AND AX, 0 (5) MOV CL, 16 SHR AX, CL 3.14 (略) 3.15 (1) AX=16H,CF=1 (2) AX=16CH,CF=0 (3) AH=16H,CF=1 (4) AX=0C016H,CF=1 (5) AX=0C016H,CF=1 (6) AX=016CH,CF=0 (7) AX=016CH,CF=0 (8) AX=0B6H,CF=0 3.16 MOV AL, 10010110B MOV BH, AL MOV CL, 4 SHR BH, CL AND AL, 0FH MOV BL, AL 3.17 AX=3344H,BX=1122H 3.18 AX=1020H,BX=0CDEFH 3.19 AX=0,ZF=1 6
第四章 汇编语言程序结构 注意:编写程序题答案仅供参考,答案可能不唯一。 4.1 选择题 AADCD CD 4.2 (略) 4.3 (略) 4.4 LEN1 = VAR2-VAR1 = 8,是 VAR1 的字节个数。 LEN2 = $-VAR1 = 12= 0CH,为 VAR1 和 VAR2 的字节个数。 4.5 4.6 (1) ×不匹配 (2) √ (3) ×Y3 是符号常量,不能做目的操作数 (4) ×不匹配 (5) ×源和目的操作数不能同时为内存操作数 (6) √ (1)AL=98H (2)AL=0 (3)AX=0200H (4)BX=1234H (5)EAX=00120098H (6)CL=12H 4.7 (略) 4.8 (1) MOV AX,SEG STRING1 MOV DS,AX (2) MOV BX,OFFSET STRING2 (3) MOV CX,STRING2-STRING1 (4) MOV AL,STRING1+3 (5) MOV AX,STRING2+4 4.9 DATA SEGMENT VAR1 DB ’HELLO!’ VAR2 DW 1,2 VAR3 DW NEXT VAR4 DD EXIT VAR5 DW VAR1 VAR6 DD VAR2 VAR7 DW $ DATA ENDS 4.10 7
(1)AX=1 (2)AX=2 (3)AX=1 (4)AX=10 (5)AX=10 (6)AX=40 4.11 (1)AX=0B00H (2)BX=0200H 第五章 顺序、分支和循环程序设计 注意:编写程序题答案仅供参考,答案可能不唯一。 5.1 选择题 ACDD DBDD 5.2 MOV AX,0 LEA BX,BUF1 MOV CX,10 LOP1:ADD AL,___[BX]___ LOOP LOP1_____ ADC AH,0 INC BX _ MOV DL,10 DIV DL MOV RESULT,__AL__ HLT ___BUF2[BX]___,_ _JAE/JNB___,__ BUF2[BX]___ 5.3 5.4 (1)统计 AX 中“1”的个数和“0”的个数 (2)BL=7,DL=9,AX=0000H 5.5 LEA SI,BUFFER LEA DI,RESULT ___MOV CX,10___ L1: MOV DL,[SI] MOV AL,DL PUSH CX MOV CL,4 ____SHR AL,CL___ POP CX MOV [DI],AL INC DI ____AND DL,0FH___ MOV [DI],DL INC DI INC SI LOOP L1 HLT 8
分享到:
收藏