第一范文网 - 专业文章范例文档资料分享平台

指令练习(1)

来源:用户分享 时间:2025/5/28 15:06:25 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

MOV指令练习

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是否为偶数) SHL Y1,2(逻辑左移2位) SHR Y2,3(逻辑右移3位) SAL Y3,1(算术左移1位) SAR Y4,4(算术右移4位) ROR Y5,2(循环右移2位)

ROL Y6,1(循环左移1位)

RCR Y7,1(将Y7带进位循环右移1位) 三.

1.按要求完成进制转换

(1)78CH=011110111100 B=1980 D (2)562Q= 101110010B=370D

(3)90D= 01011010B=5A H

(4)1110100.111B= 164.7Q=74.EH

2.当字长位八位时,写出下面各数的原码,补码和反码

(1)25 (2)-25 (3)100 (4)-100 原码:00011001 10011001 01100100 11100100 反码:00011001 11100110 01100100 10011011 补码:00011001 11100111 01100100 10011100

(真值的由来100=64+32+4=22+2=0*2+1*2+1*2+0*2+0*2+1*2+0*2+0*2, 所以100的真值是01100100,正数的真值=原码=补码=反码) 3.列出数字0~9、大写字母A~Z、小写字母a~z的ASCII码值 30H~39H 41H~5AH 61H~7AH 4.完成下列二进制数的加减运算

(1)10101010+11110000=110011010 (2)11001100+01010100=100100000 (3)11011010-01010010=10001000 (4)11101110-01001101=10100001

5.说明二进制(bit)、字节(byte)、字(word)、双字(double word)的含义及互相的关系。 位(bit):一个二进制

字节(byte):8位二进制

字(word):一般为机器字长,在8086机器中为16位二进制,即两个字节 双字(double word):双倍字长,在8086机器中为32位二进制 6.8088微处理器中有哪些寄存器?说明它们的功能及分组情况?

7.一台微型计算机,数据线有8根,地址线有16根,如果采用字节编址,那么它可以访问的最大存储空间是多少字节?试用十六进制数来表示该机的地址范围?

答:216=64KB,0000H~FFFFH

8.8086的寄存器中,有哪些16位寄存器可分为两个8位寄存器来使用? 答:AX(AH,AL)、BX(BH,BL)、CX (CH,CL)、DX (DH,DL)

6+5

2

7

6

5

4

3

2

1

0

搜索更多关于: 指令练习(1) 的文档
指令练习(1).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2r25z0u0pa4vbt01g9si_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top