第三章作业

发布 2022-07-14 01:51:28 阅读 5339

3.2分别写出与数据有关的7种寻址方式并举例说明。

1)立即寻址 mov ax,3

2)寄存器寻址 mov ax,bx

3)寄存器间接寻址 mov [bx],ax

4)直接寻址 mov [0000],ax或mov al,value

5)寄存器相对寻址, mov table[bx],’a’

6)基址变址寻址,mov ax,[bx+si]

7)相对基址变址寻址,mov ax, value[bx][si]

3.3已知(bx)=1290h,(si)=348ah,(di)=2976h,(bp)=6756h,(ds)=2e92h,(es)=4d82h,(ss)=2030h,请指出下列指令的寻址方式,并求出有效地址ea和物理地址:

mov ax,bx寄存器寻址,没有内存地址。

mov ax,1290h 立即数寻址,数据在指令里。

mov ax,[bx寄存器间接寻址,ea=1290h,addr=2e920h+1290h=2fbb0h

mov ax,ds:[1290h] 直接寻址,ea=1290h,addr=2e920h+1290h=2fbb0h

mov ax,[bp寄存器间接寻址,ea=6756h,addr=20300h+6756h=26a56h

mov [di][bx],ax 基址变址寻址,ea=1290h+2976h=3c06h,addr=2e920h+3c06h=32526h

mov es:[si],ax 寄存器间接寻址,ea=348ah,addr=50caah

3.7 请指出下列指令的错误:

mov ax,[cxcx不能用作间址寄存器。

mov al,1200h 操作数的宽度不同,al8位,1200h是16位。

mov al,bx操作数属性不同,8位和16位。

mov [si][di],ax 不能用两个变址寄存器间址。

mov es:[dx],cx dx不是间址寄存器。

mov [ax],value ax不是间址寄存器,并且mov不能内存到内存。

mov count,[si] 不能内存到内存数据传送,或两个操作数不能都是存储单元。

3.8 根据题目要求,写出相应的汇编指令:

1) 把bx寄存器的值传送给ax mov ax,bx

2) 将立即数15送入cl寄存器mov cl,15

3) 用bx寄存器间接寻址方式将存储单元中的字与ax寄存器的值相加,结果在 ax中。

add ax,[bx]

4) 把al中的字节写入用基址变址寻址的存储单元中。

mov [bx][si],al

5) 用si寄存器和位移量value的寄存器相对寻址方式,从存储单元中读出一个字送入寄存器ax。

mov ax,value[si]

6) 将ax中的数与偏移地址为2000h存储单元的数相减,结果在ax中。

sub ax,ds:[2000h]

3.9 写出用下列寻址方式将存储单元x中的第3个字取出, ax与其相加再放入y单元的指令序列。(有的同学写6,也算对,理解不同)

1)直接寻址add ax,[x+4]; mov y,ax

2)寄存器相对寻址 mov bx,4; add ax,x[bx]; mov y,ax

3)基址变址mov bx,4; mov si,offset x; add ax,[si][bx]; mov y,ax

注意:有同学写作mov bx,x

add ax,[bx+6]

第三章作业

v s 顺序执行下述两个动作 1.s值加1,即s s 1 2.如果s 0,则该进程继续运行 3.如果s 0,则唤醒等待信号量s阻塞队列中的头一个进程 把阻塞态改为就绪态 执行v操作的进程继续运行。procedure s var s semaphore begin s s 1 if s 0 then ...

第三章作业

1 顺序栈空 栈满条件2 链栈栈空 栈满条件。3 循环队列队空 队满条件,如何表示队列中数据元素的个数4 链队列队空 队满条件。5 以下运算实现在顺序栈上的进栈,请在 处用适当的语句予以填充。int push sqstacktp sq,datatype x if sp top sqstack max...

第三章作业

1.论述各类绿地的环境特点和树种的选择。一 高层建筑中的狭窄街巷绿地绿地内的环境特点 直射辐射量少,日照时间短 夏季气温偏低,冬季因受周围建筑物热辐射的影响,气温偏高 风速一般偏低,但有时会产生狭管效应,使风速增大。这些地方裸露土面极少,多为水泥铺装,严重阻碍了土壤与大气的水 气交换,且存在一定程度...