安徽大学2023年汇编复习题

发布 2021-12-19 23:32:28 阅读 6505

一.填空题

1.设段地址ds=2000h, 指令mov [600h],ax的目的操作数物理地址是(20600h),如果段地址是2020h,指令mov [400h],ax的目的操作数物理地址是(20600h)。

2.汇编源程序**现的数值,默认采用(十进制);汇编程序在debug调试状态下出现的数值,默认采用(十六进制)。

3.循环指令loop opr执行的操作是(cx=cx-1若cx≠0跳转到标号opr处循环执行,若cx=0则执行loop的下一条指令),loopne指令循环得以继续的条件是(zf=0且cx≠0)。

4.带符号数比较大小,当ax> bx时程序转向标号l1,若前导指令为cmp ax,bx,后续指令应为(jg l1),若视为二个无符号数比较大小,后续指令应为(ja l1)。

5.16位加法6fa7+9f20h=(0ec7h),标志位sf,zf,cf,of的值分别为(0,0,1,0)。

6.设ss=2000h,sp=0100h,执行 call far ptr subpro 后,sp=(00fch)。

7.可以用一条指令(xor bl,0fh)使bl中的低四位变反,高四位不变。

8.宏指令与子程序相比,子程序调用的执行速度比宏指令的(慢),在多次调用时,宏指令调用的目标程序长度比子程序调用的(长)。

9.执行div bx指令后,(dx)寄存器中存放余数,(ax)寄存器中存放商。

10.在串操作中,如果地址变化是自动增量,则应将df标志位设置为(0),如果地址变化是自动减量,则应将df标志位设置为(1)。

二.简答题。

1.请指出下列各条指令的源操作数的寻址方式是什么?

1) mov ax,53h立即寻址方式。

2) test al,[bp寄存器间接寻址方式。

3) mov bx,arry直接寻址方式。

4) cmp dx,cx寄存器寻址方式。

5) lea ax,-32h[bx][di] 相对基址变址寻址方式。

6) adc ah,arry[si寄存器相对寻址方式。

7) sub ax,[bx+si基址变址寻址方式。

2.分析以下指令是否有错,请指出错误原因。

1) mov dl,ax两个操作数长度不一致。

2) mov [bx],9常数无类型,[bx]没有说明是字节单元还是字单元。

3) mov bx,[dx寄存器间接寻址只允许bx、bp、si和di

4) mov cs,bx**段寄存器不能赋值。

5) mov ds,data段寄存器不接受符号地址。

6) add ax,[si+di变址寄存器只能使用一个。

7) sub [bx],[sisub指令的两个操作数不能同为内存单元。

8) mul bx,cx乘法指令格式不对,mul后面只能有一个操作数。

3.设 ds=2000h, bx=0100h, si=0002h, (20100h)=12h, (20101h)=34h,(20102h)= 56h, (20103h)= 78h, (21200h)= 2ah, (21201h)= 4ch,(21202h)=b7h,(21203h)=65h,试说明下列各条指令执行完后ax寄存器中的内容是多少?

1)mov ax,1200hax)=1200h

2)mov ax,bxax)=0100h

3)mov ax,[1200hax)=4c2ah

4)mov ax,[bxax)=3412h

5)mov ax,[bx+1100hax)=4c2ah

6)mov ax,[bx+siax)=7856h

7)mov ax,[bx+si+1100hax)=65b7h

4.用十六进制按字节标出以上数据在内存中的存放,并回答寄存器的值。

课本p103习题5.1

org 0array label byte

da1 dw 2,9,14,3,315h,-6

da2 db 7,‘abcdedfg’

len = da2

org 100h

da3 dw da4

da4 db 4 dup(2 dup(1,2,3),4)

mov al,array+2 al=( h

add al,da2+1al=( h

mov ax,da2-da1 ax=( h

mov bl,lenbl=( h

mov ax,da3ax=( h

mov bx, type da4 bx=( h

mov bx, offset da4 bx=( h

mov cx, size da4cx=( h

mov dx, length da4 dx=( h

mov bx, word ptr da4 bx=( h

mov bl, len and 0fh bl=( h

mov bl, len gt 5 bl=( h

mov ax, len mod 5 ax=( h

5.mov ax,99h

mov bl,88h

add al,bl

jnc lp1

jo lp2

jmp lp3

程序段执行后,ax=(0021)h,cf=(1),of=(1),转向标号(lp2)。

6.现有程序段如下:

mov bl,al

mov cl,4

shr bl,cl

mov a,bl

and al,0fh

mov b,al

请回答:(1) 该程序段完成的功能是(将al高4位放在a中,将al低4位放到b中)。

2) 如果al的初值为56h,则执行完该程序段后,a=(5), b=(6)。

三、程序实验题。

用debug调入后,若程序列出如下:

1234:0100 mov bx,[4000]

1234:0104 mov ax,[bp]

1234:0106 mov ah,1

1234:0108 int 21

1234:010a mov dl,al

1234:010c mov ah,2

1234:010e int 21

1234:0110 ret

用debug调入后,列出上面程序的debug命令是(-u)。

寄存器cs的值为(1234h)。

如果要修改寄存器bx为1200h,应键入debug命令(-r bx回车然后输入1200再回车)。

若要修改第二条指令中的bp为bx,应键入debug命令(-a0104回车然后输入mov ax,[bx]再回车)。

若要查看ds:[4000]中的数据,应键入debug命令(-d ds:4000)。

如果从头运行程序使其停在ret指令处,应键入debug命令(g=100 110)。

如果执行debug命令t=100后,寄存器ip=(0104h)。

如果执行debug命令t=108后,寄存器 ip=(21h中断入口地址)。

从偏移地址为0106h处开始程序功能是(从键盘输入一个字符并将该字符显示输出)。

四、程序设计题。

1.编程实现计算下式:(x,y均为数据段中的字节变量)。

y=x ;x>=0时。

y=|x| ;x<0时。

data segment

x db 0ffh

y db ?

data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

mov al,x

test al,80h

jz s1not al

inc al

s1: mov y,al

mov ah,4ch

int 21h

code ends

end start

2.编写程序,从键盘输入一个字符串到buff缓冲区(缓冲区长度小于10),再输入一个字符到al,在buff中查找是否存在该字符,如果找到,在屏幕上显示首次发现的字符位置,否则输出“not found”。

data segment

buff db 10

numb db ?

arry db 10 dup(?)

mess db 'not found$'

data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

lea dx,buff

mov ah,10

int 21h

mov ah,2

mov dl,13

int 21h

mov dl,10

int 21h

mov ah,1

int 21h

mov cl,numb

mov ch,0

mov bx,cx

mov si,0

s: cmp arry[si],al

jz exit

inc si

loop s

jmp no

exit:dec cx

sub bx,cx

add bl,30h

mov dl,bl

mov ah,2

int 21h

jmp outp

no: lea dx,mess

mov ah,9

int 21h

outp:mov ah,4ch

int 21h

code ends

end start

安徽大学微机原理期末复习题

安徽大学微机原理与接 术期末复习题二。一 填空题。1.总线的主要性能指标包括总线的带宽 总线的位宽 和 总线的工作频率 2.若cs 8000h,则现行 段可寻址的存储空间范围为 80000h 8ffffh 3.8255a控制字可分为两类 方式选择命令字 和 端口c按位置 复位 4.执行mov al,...

2019安徽大学2019信号系统试卷A

安徽大学20 10 20 11 学年第 2 学期。信号与系统 考试试卷 a卷 闭卷时间120分钟 一 填空题 每小题2分,共10分 1.对于一个因果系统来说,当时。2.若激励信号为,响应信号为,则无失真传输的条件是。3.如果一个系统函数的极点位于左半平面,零点位于右半平面,而且零点与极点对于 互为镜...

汇编复习题

1 汇编语言的特点?答 执行速度快 程序短小 可以直接控制硬件 可以方便的编译 辅助计算机工作者掌握计算机体系 程序编制耗时,可读性差 程序可移植性差。2 二 八 十 十六进制数之间的转换?3 有无符号数 原码 反码 补码的概念?补码的加减法运算规则?cpu的两大逻辑部件?各自的功能?答 总线接口部...