汇编指令复习题汇总

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.将1234h赋给cx

Mov cx,1234h

2.将bh的内容设置成和bl相同。

Mov bl,bh

3.执行mov al,-5h后,al里是什么内容?(二进制表示)

11111011

4.将dl里的内容存到1000h单元。

Mov [1000h],dl

5.将地址为1000h的存储单元里的字节内容拷贝到地址为2000h单元。Mov dh,[1000h]

Mov [2000h],dh

6.将地址为1000h的存储单元里的字内容拷贝到地址为2000h单元。Mov si,[1000h]

Mov [2000h],si

7.将ds的值赋给es。

Mov ax,ds

Mov es,ax

8.将1234h赋给ds。

Mov bx,1234h

Mov ds,bx

9.将66h(字节)赋给地址为2000h的单元。

Mov byte ptr [2000h],66h

10.将66h(字)赋给地址为3000h的单元。

Mov word ptr [3000h],66h

二.堆栈指令练习push pop

1.将ax入栈。

Push ax

2.将1000h单元里的内容入栈。

Push [1000h]

3.将al入栈。

Push ax

4.将1234h入栈。

Mov ax,1234h

Push ax

5.将出栈数据存入bx。

Pop bx

6.将出栈数据存入20h单元。

Pop [20h]

7.用三种方法实现将ax、bx数据交换。

A. .mov cx,ax

Mov ax,bx

Mov bx,cx

B. Push ax

Push bx

Pop ax

Pop bx

C. Xchg ax,bx

8.已知全班汇编语言成绩表存放在以mark为首地址的存储区内,根据学生编号(从0号开始)查询该生成绩。

算术运算类指令练习

Mov bx,offset mark(在前面加offset意思是把分数取出)

Mov al,num(num是给学生编号)

Xlat(查表指令)

9.ax和内存单元y相加,结果存于y

Add y,ax

10.ah和al相加,结果存于ah

Add ah,al

11.内存单元x和内存单元y相加,结果存于x

Mov ax,y

Mov x,ax

12.求bx减100

Sub bx,100

13.求ax、si、进位位之和,结果存于ax

Adc ax,si

14.求ax减si,并减去借位位,结果存于ax

Sbb ax,si

15.将内存单元x加1,写出两种指令,有何异同?

Add x,1

Inc x(inc是只增指令,直接加1,不影响cf标志)

16.将内存单元y减1,写出两种指令。

Sub y,1

Dec y

17.求dx的相反数。

Neg dx

18.比较si和di

Cmp si,di(si对于di,即将si-di来进行比较)

19.求ax和bx的乘积(有符号数乘法)

Imul bx

20.设x、y为字节单元,求x*y(无符号数乘法),积存于字单元z中。

Mov al,x

Mul y

Mov z,ax

21.将al扩展到ax

Cbw (cbw只认al到ax,其他的都不行,可以和14比较)

22.将bh扩展到bx

Mov al,bh

Cbw

Mov bx,ax

23.将ax扩展到dx:ax

Cwd (cwd也只扩展到dx:ax)

24.逻辑运算指令练习

已知有内存变量:

X1=12h,x2=34h,x3=56h,x4=78h,x5=9ah,x6=0bch,x7=0deh,

y1=12h,y2=34h,y3=56h,y4=78h,y5=9ah,y6=0bch,y7=0deh,另设(al)=0abh,求:求x1与al

求x2或al

求x3异或al

求x4位相反数

将x5的高四位清零

将x6的低三位置1

将x7的第0、2、4、6位取反

测试al是否为偶数?

将y1逻辑左移2位

将y2逻辑右移3位

将y3算术左移1位

将y4算术右移4位

将y5循环右移2位

将y6循环左移1位

将y7带进位循环右移1

解:data segment

X1 db 12h

X2 db 34h

X3 db 56h

X4 db 37h

~

~

Y7 db 0deh

Data ends

Code segment

Assume cs:code,ds:data

Start:mov ax,data

Mov ds,ax

Mov al,0abh

And x1,al(求x1和al)

Or x2,al(求x2或al)

Xor x3,al(求x3异或al)

Not x4(x4的相反数)

And x5,0fh(将x5的高四位清空)

Or x6,00000111b(将x3的低三位置1)

Xor x7,01010101b(将x7的0,2,4,6,8位相反)

Test al,1(测试al是否为偶数)

相关文档
最新文档