微机原理作业4答案

发布 2022-08-23 04:55:28 阅读 4185

《微机原理与系统设计》作业4

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

解:3. 下列指令中,源操作数的寻址方式中,( c )属于立即寻址,( b )属于寄存器寻址,( e )属于寄存器间接寻址,( a )属于直接寻址,( d )属于寄存器相对寻址。

a)mov ax,[4000hb)mov [bx],ax

c)sub ax,2000hd)mov ax,[si+12h]

e)mov cx,[bxf)mov ax,[si+bx+10h]

4. 下列指令中错误指令是( b )、e )和( f )。

a)mov ax,dsb)mov cs,1500h

c)mov si,bxd)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,5b)da1 db 2,4,6,5

c)da1 db 4,6,4,6,5d)da1 db 4,6,5,4,6,5

6. 对于语句 y dw 10 dup(0),则type y为(a )、length y为(b ),size y为( c )。

a)2b)10c)20d)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位。

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, 1200hmov ax, bxmov ax, [1200h];

mov ax, [bxmov 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位构成。

微机原理4章作业答案

第3章习题答案 1.1 答 物理地址 物理地址 pa 是20位无符号二进制数,是cpu访问存储器的实际地址。每个存储单元对应一个物理地址。8086存储空间的物理地址范围是 00000h fffffh。逻辑地址 采用分段结构的存储器中,把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为 段...

微机原理作业答案

程序题作业答案 一 写指令 1 将di寄存器的内容减1dec di或 sub di 1 2 用一条指令使程序从中断服务程序返回 iret 3 从80h端口读入数据送入alin al,80h 4 将3000h及3001h两单元内容与ax寄存器内容相减,并将其差送回原单元。sub 3000h ax 5 ...

微机原理作业答案

第一次作业。2.完成下列补码运算,并根据结果设置标志sf zf cf和of,指出运算结果是否溢出。1 00101101b 10011100b 45 补。100 补。55 补。sf 1 zf 0 cf 0 of 0 无溢出。2 01011101b 10111010b 93 补。70 补。93 补。sf...