微机原理答案

发布 2022-09-04 21:20:28 阅读 1992

1.解:自定义字数组如下。

block dw

1) mov bx,14

mov ax,block[bx]

2) mov bx,offset blcok

mov ax,[bx+14]

3) mov bx,offset blcok

mov si,14

mov ax,[bx][si]

2.解:假设变量名为dat,指针为0ff20h:8020h

指针在内存中的存放如下图。

ds:simov ax,1a00h

mov ds,ax

mov si,4000h

mov dx,[si]

add si,2

mov dx,[si]

3.解:2字节指令jmp short obj存储如下图。

所以当前的ip为0800h

jmp short obj为段内直接短转移指令,ip←ip+d8,转移范围不能超过-128—+127

转向地址=位移量+ip

1)obj=80h+0800h=0880h

2)obj=0ah+0800h=080ah

3)obj=6bh+0800h=086bh

4.解:可以先写如下程序段。

mov ax,8000h

mov bx,0f79h

push ax

push bx

pop cx

下图为执行完程序第四行处堆栈区示意图(栈顶地址为00ffh:009fh)

ss:sp下图为执行完程序第五行处堆栈区示意图(栈顶地址为00ffh:009fh)

ss:sp而cx=0f79h

5.解:data segment

dat1 dw 2

x dd ?

y dd ?

z dd ?

w dd ?

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

mov ax,word ptr z

mul dat1

mov cx,dx

mov bx,ax

mov ax,word ptr z+2

mul dat1

add ax,bx

adc dx,cx

add ax,word ptr y

adc dx,word ptr y+2

add ax,word ptr x

adc dx,word ptr x+2

mov word ptr w,ax

mov word ptr w+2,dx

mov ax,4c00h

int 21h

code ends

end start

6.解:data segment

dat1 dw 2

x dw 1/?

y dw 1000h/?

z dw 1000h/?

v dw 1000h/?

dat dw ?

dat2 dw ?

dat3 dw ?

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

mov ax,x

mov bx,y

imul bx

mov bx,ax

mov cx,dx

mov ax,v

cwdsub dx,cx

sbb ax,bx

mov dat,ax

mov cx,dx

mov ax,z

mov bx,2

imul bx

add ax,dat

adc dx,cx

sub ax,100h

sbb dx,0

idiv x

mov dat2,ax; 数据存放在变量中便于观测。

mov dat3,dx

mov ax,4c00h

int 21h

code ends

end start

7.解:data segment

x dw ?

y dw ?

result dw ?

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

cmp x,100

ja t0jmp ti

t0:mov ax,x

sub ax,y

jmp quit

t1:mov ax,y

sub ax,x

quit:mov result ax

mov ax,4c00h

int 21h

code ends

end start

8.解:n=10,数据存放在变量中便于观测。

data segment

array db 0h,12h,0f5h,01h,06h,99h,12h,0f5h,00h,00h

zero db ?

fs dw ?

zs dw ?

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

mov bx,0

mov di,0

mov si,offset array

again:mov al,[si]

inc si

cmp si,10

ja quit

cmp al,0

je t0 ;数据为0

test al,80h

je t1 ;数据为正数。

jmp t2 ;数据为负数。

t0:inc zero

jmp again

t1:inc bx

jmp again

t2:inc di

jmp again

quit:mov zs,bx

mov fs,di

mov ax,4c00h

int 21h

code ends

end start

9.解:参看教材77页。

10.解:密码字可以理解为是相应字符的ascii码。

data segment

bufin db 20h,20h dup (?

buffer db 10 dup (?

mimazi db 43h,47h,48h,46h,59h,44h,5ah,58h,56h,57h

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

lea dx,bufin

mov ah,0ah

int 21h

lea di,buffer

lea si,bufin

add si,2

mov cl,10

again:mov al,[si]

and al,0fh

mov bx,offset mimazi

xlatmov [di],al

inc si

inc di

loop again

mov ax,4c00h

int 21h

code ends

end start

11.解:假设dx寄存器低字节有数据。

提示:若dx寄存器中的高低字节都有数据,用同样的办法做。

data segment

clr db ?

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

mov dx,00f5h

mov ax,dx

mov ch,16

div ch

mov bl,ah

cmp al,9

ja chuli

add al,30h

jmp shuchu

chuli:add al,37h

shuchu:mov dl,al

mov ah,2

int 21h

mov al,bl

cmp al,9

ja chuli1

add al,30h

jmp shuchu1

chuli1:add al,37h

shuchu1:mov dl,al

mov ah,2

int 21h

mov ax,4c00h

int 21h

code ends

end start

12.解:此答案作为参考。

...将buf中的10个数据中的0抹掉并更新长度。

...buf中的第一个元素为缓冲区长度。

data segment

buf db 0ah,1,0,3,0,2,5,8,9,0,7

count db ?

data ends

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

lea si,buf

mov bl,[si]

xor bh,bh

mov count,0

inc si

again:mov al,[si]

cmp al,0

jz chuli

inc si

cmp si,10

ja quit

jmp again

chuli:inc count

push si

push bx

sub bx,si

mov cl,bl

l:mov ah,[si+1]

mov [si],ah

inc si

loop l

pop bx

pop si

jmp again

quit:sub bl,count

mov si,0

mov buf[si],bl

mov ah,4ch

int 21h

code ends

end start

13.解:参看实验指导书或教材。

14.解:思路为11题的逆过程。

data segment

bufin db 20h,20 dup(?)

clr db 0dh,0ah,'$

dat db ?,

cs1 dw 4096

微机原理答案

1.串行通信与并行通信的主要区别是什么?各有优缺点?答 按信息的传送方式可将数据通信分为并行通信与串行通信两种 并行通信 是指利用多条数据传输线将一个数据的各位同时进行传送。特点 传输速度快,适用于短距离通信。串行通信 是指利用一条传输线将数据的各位一位位地顺序进行传送。串行通信又可分为异步通信和同...

微机原理答案

第3章 8086 8088指令系统与寻址方式习题。3 3 8086系统中,设ds 1000h,es 2000h,ss 1200h,bx 0300h,si 0200h,bp 0100h,var的偏移量为0600h,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。1...

微机原理A答案

安徽大学20 11 20 12 学年第 2 学期。微机原理及应用 a卷 考试试题参 及评分标准。一 单项选择题 每小题2分,共20分 1 a2 b 3 a4 c 5 c6 b 7 d8 c 9 c10 b 二 填空题 每空1分,共20分 10000011 ch,e896h,cf 1,of 0,zf ...