微机笔记整理

发布 2021-05-12 18:21:28 阅读 3097

微型计算机技术。

1. x=00ffh,y=5555h,求z=xy

解: x=0000 0000 1111 1111b

y=0101 0101 0101 0101b

0101 0101 1010 1010b

al,feh; alal and 1111 1110b;al最后一位清0;

1)al低4位清0

解:1111 0000 and al,f0h

2)al 中间4位清0

解:1100 0011 and al,c3h

3)bl第0,3,4,7位清0

解:0110 0110 and bl,66h

al,0h;alal or 0000 0001b;al最后一位置1

1)al低4为置1

解:0000 1111 or al,0fh

(2)al 中间4位置1

解:0011 1100 or al,3ch

(3)bl第0,3,4,7置1

解:1001 1001 or bl,99h

al,01h;alal xor 0000 0001b;al最后一位取反。

1)al低4位取反。

解:0000 1111 xor al,0fh

2)中间4位

解:0011 1100 xor bl,3ch

3) )bl第0,3,4,7位取反。

解:1001 1001 xor bl,99h

高2位清0,低2位置1,中间4位取反。

解:and al,3fh

or al,03h

xor al,3ch

6.机器字长8位,[-46]补码=?

46]补码=0010 1110取反 1101 0001末尾加11101 0010d2h

机器字长16位,[-46]补码=ffd2h

7.数据段中偏移地址为bx内容所对应的字内容取出送ax;

mov ax,[bx]

有效地址:ea=bx=1000h

物理地址:pa=ds x 16 +ea=12340h+1000h=13340h

执行结果是将物理地址为13340h和13341h所对应的字内容取出送ax;

8.数据段偏移地址为bx的对应的字节送cl;

mov cl,[bx]

ea=bx=1000h

pa=ds x 16 +ea=133401h

执行结果是将物理地址为13340h对应的字节送cl;

段中偏移地址为si所对应的字送ax;

mov ax,es:[si]

ea=si=3000h

pa=es x 16 +si=9abc0h + 3000h =9dbc0h;

执行结果是将物理地址为9dbc0h和9dbc1h所对应的字送ax;

内容送入附加段中偏移地址为di所对应的字节;

mov es:[di],ah

ea=di=4000h

pa=es x 16 + di =9abcoh +4000h=9ebc0h

执行结果是将ah内容送入物理地址为9ebc0h对应的字节中;

段中偏移地址为bp所对应的字送cx

mov cx,ss:[bp]

ea=bp=2000h

pa=ss x16 +ea=5670h+2000h=-58780h

物理地址 58780h,58781h.

内容送人堆栈段中偏移地址为bp所对应的字节。

mov ss:[bp],al

ea=bp=2000h

pa=ss x16+ea=58780h

执行结果是将al内容送入物理地址为58780h所对应字节内;

减法sub:

1. sub bl,03h blbl-03h

2.4个16位寄存器ax-bx-cx-dx结果放ax

sub ax,bx

sub ax,cx

sub ax,dx

3.79h-5ch

mov al,79h

sub al,5ch

4.移地址为2000h,2001h,2001h三单元内容相减差放入al;

mov al,[2000h]

sub al,[2001h]

sub al,[2002h]

结果放al;

sub al,ds:[1800h]

结果放在ds:[bx+di]

sub ds:[bx+di],si

7.数据段中偏移地址为bx内容与1200h之和所对应的字的内容取出送ax.

mov ax,[bx+1200]

ea=bx+1200h=2200h

pa=ds x 16 +ea=12340h+2200h=14540h

物理地址 14540h ,14541h

8.数据移位:sal al,1 al内容算术左移1位

mov cl,2

sal al,cl (al内容算术左移2位)

内容乘以3,结果仍放在al中。

mov bl,al

sal al,1

add al,bl

内容乘以5,结果放在al中。

mov bl,al

mov cl,2

sal al,cl

add al,bl

内容乘以10,结果放在al中。

sal al,1

mov bl,al

sal,al,1

sal al,1

add al,bl

内容乘以1.5,结果仍放在al中。

mov bl,al

sar al,1

add al,bl

内容乘以1.25,结果仍放在al中。

mov bl,al

mov cl,2

sar al,cl

add al,bl

值分别放在bufa,bufb单元中,求公式中z值,并将结果放在result单元中,运算结果假设不超过16位:z=(a+b) x 10 – 500

mov dx,bufa ;dx=a

add dx,bufb ;dx=a+b

mov bx,dxbx=dx=a+b

mov cl,3

sal dx,cldx=(a+b)*8

sal bx,1bx=(a+b)*2

add dx,bx ;dx=(a+b)*8+(a+b)*2

sub dx,500 ;dx=(a+b)*10 – 500

mov result,dx

mov ah,4ch

int 21h

15.立即数90h送人数据段中偏移地址为di内容与2500之和所对应的字节中。

mov byte ptr[di+2500h],90h

ea=di+2500h=6500h pa= ea+ds x 16 =18840h

17.立即数a0h送入数据段中偏移地址为di内容与2500h之和所对应的字中。

mov word ptr[di+2500h]

1. 已知xx,yy两个无符号16位数,求其中最大值,结果放在max单元中。

mov ax,xx

cmp ax,yy

ja next

mov ax,yy

next:mov max,ax

2. 已知xx、yy两个无符号16位数,求其中最小值,结果放在min中;

mov ax,xx

cmp ax,yy

jb next

mov ax,yy

next:mov min,ax

3. 已知xx,yy,zz三个无符号16位数,求其中最大值,结果放在max中;

mov ax,xx

cmp ax,yy

ja next

mov ax,yy

next:cmp ax,zz

ja gomax

mov ax,zz

gomax:

mov max,ax

三个最小值方法与上类似;

4. 已知字节变量char,判断它是否为大写字母,如果是则显示该字符,否则退出。

mov dl,char

cmp dl ‘z’

ja quit

cmp dl,’a’

jb quit

mov ah,02h

int 21h

quit:mov ah,4ch

int 21h

判断是否是小写字母方法类似。

5. 从键盘上读入字符,判断它是否为数字,如果是则显示该字符,否则退出;

mov ah,01h

int 21h

cmp al,’9’

ja quit

cmp al,’0’

jb quit

mov dl,al

mov ah,02h

int 21h

quit:mov ah,4ch

int 21h

6. 设y为符号数,写出其分支程序。

1 (x>0)

y= 0 (x=0)

-1 (x<0)

mov al,aa

cmp,al,0

jge bigr

mov al,-1

jmp stop

bigr:jg next1

mov al,0

jmp stop

next1:

mov al,1

stop:mov bb,al

mov ah,4ch

int 21h

循环结构。1. 编写程序计算c=1+2+10

mov cx,10

mov bx,0

mov ax,0

lop:inc bx

add ax,bx

loop lop

2. c=2+4+6++100

mov cx,50

mov bx,0

mov ax,0

lop:inc bx

inc bx

add ax,bx

loop lop

3. c=10+9++1

mov cx,10

mov bx,11

mov ax,0

lop:dec bx

add ax,bx

loop lop

4. c=100+99++2

mov cx,50mov cx,50

mov bx,102mov bx,100

mov ax,0mov ax,0

lopor lop:

dec bxadd ax,bx

dec bxdec bx

add ax,bxdec bx

loop loploop lop

微机笔记整理

微型计算机技术。1.x 00ffh,y 5555h,求z xy 解 x 0000 0000 1111 1111b y 0101 0101 0101 0101b 0101 0101 1010 1010b al,feh alal and 1111 1110b al最后一位清0 1 al低4位清0 解 1...

微机复习笔记

第六章。cpu与外设通信时,传递的信息主要包括数据信息 状态信息和控制信息。i o端口的编制方式,分别是存储器映像寻址方式和i o指令寻址方式。若把系统中的每一个i o端口都看作一个储存单元,并与存储单元一样统一编址,这样访问存储器的所有指令均可以访问i o端口,不用设置专门的i o指令,这种寻址方...

微机编程实验答案整理

1 可编程定时器计数器8253 一 ioport equ 0d400h 0280h io8253a equ ioport 283h io8253b equ ioport 280h code segment assume cs code start mov al,14h 设置8253通道0为工作方式2...