内容发布更新时间 : 2024/11/20 16:34:31星期一 下面是文章的全部内容请认真阅读。
《微机原理与系统设计》作业4
参考答案
1. 写出完成下列要求的变量定义语句:
(1) 在变量var1中保存六个字变量: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的偏移地址。 解: var1 DW 4512H, 4512, -1, 100/3, 10H, 65530
var2 DB ’BYTE’, ’word’, ’WORD’ buf1 DB 100 DUP(?)
buf2 DB 7 DUP(5 DUP(55H), 10 DUP(240)) var3 DB LENGTH buf1
pointer DW var1, buf1 (或 pointer DW 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 解:
1
3. 下列指令中,源操作数的寻址方式中,( C )属于立即寻址,( B )属于寄存器寻址,( E )属于寄存器间接寻址,( A )属于直接寻址,( D )属于寄存器相对寻址。
A)MOV AX,[4000H] B)MOV [BX],AX C)SUB AX,2000H D)MOV AX,[SI+12H] E)MOV CX,[BX] F)MOV AX,[SI+BX+10H] 4. 下列指令中错误指令是( B )、( E )和( F )。
A)MOV AX,DS B)MOV CS,1500H C)MOV SI,BX D)MOV [3000H],AL E)MOV [DI+32H],[1845H] F)MOV AL,1000H
5. 语句DA1 DB 2 DUP (4,6), 5汇编后,与该语句功能等同的语句是( C )。
A)DA1 DB 4,6,5 B)DA1 DB 2,4,6,5 C)DA1 DB 4,6,4,6,5 D)DA1 DB 4,6,5,4,6,5
6. 对于语句 Y DW 10 DUP(0),则TYPE Y为(A )、LENGTH Y为(B ),SIZE Y为( C )。
A)2 B)10 C)20 D)4
7. 指令正误判断。对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1、VAR2为字变量,L1为标号)
解:① MOV SI, 100 正确。源:立即数寻址,目的:寄存器寻址
② MOV BX, VAR1[SI] 正确。源:寄存器相对寻址,目的:寄存器寻址 ③ MOV AX, [BX] 正确。源:寄存器间接寻址,目的:寄存器寻址 ④ MOV AL, [DX] 错误。寄存器间接寻址时,DX不能作地址寄存器 ⑤ MOV BP, AL 错误。操作数类型不一致
⑥ MOV VAR1, VAR2 错误。两存储单元之间不能传送数据 ⑦ MOV CS, AX 错误。CS不能为目的操作数 ⑧ MOV [BX][SI], 1 错误。数据类型不确定
⑨ MOV DS, 0100H 错误。目的操作数为段寄存器时,源操作数不能为立即数 ⑩ MOV AL, OFFSET VAR1 错误。操作数类型不一致,偏移地址为16位。
2
8. 写出下列转移指令的寻址方式(设L1为标号,VAR1为字型变量,DVAR2为双字型变量):
解:① JMP L1 段内直接寻址 ② JMP NEAR PTR L1 段内直接寻址
③ JMP BX 段内间接寻址 ④ JMP VAR1[SI] 段内间接寻址 ⑤ JMP FAR PTR L1 段间直接寻址 ⑥ JMP DVAR1 段间间接寻址
9. 设(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=3412H,(20102)=7856H,(21200)=4C2AH,(21202)=65B7H,求下列指令执行后AX寄存器的内容: ① MOV AX, 1200H; ② MOV AX, BX; ③ MOV AX, [1200H]; ④ MOV AX, [BX]; ⑤ MOV AX, 1100[BX]; ⑥ MOV AX, [BX][SI]; ⑦ MOV AX, 1100[BX][SI]
解:① 1200H ② 0100H ③ 4C2AH ④ 3412H ⑤ 4C2AH ⑥ 7856H ⑦ 65B7H 10. 执行下列指令后,DX寄存器的内容是多少?(设数据段从偏移地址为0开始)
TABLE DW 25, 36, -1, -16, 10000, 13 PYL DW 7 ……
MOV BX, OFFSET TABLE MOV BX, PYL MOV DX, [BX]
解:DX=10FFH,由-16(FFF0H)的高8位和10000(2710H)的低8位构成。
3