设某微型计算机内存ram区,微机原理第三章习题.doc

微机原理第三章习题

第四章 指令与寻址方式习题解答

1.试分别说明下列各指令中源操作数和目的操作数使用的寻址方式:

(1) AND AX,0FFH

(2) AND BL,[OFFH]

(3) MOV DS,AX

(4) CMP [SI],CX

(5) MOV DS:[0FFH],CL

(6) SUB [BP][SI],AH

(7) ADC AX,0ABH[BX]

(8) OR DX,-35[BX][DI]

(9) PUSH DS

(10) CMC

2.试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。

(1) MOV [BX][BP],AX

(2) TEST [BP],BL

(3) ADD SI,ABH

(4) AND DH,DL

(5) CMP CL,1234H

(6) SHR [BX][DI],3

(7) NOT CX,AX

(8) LEA DS,35[SI]

(9) INC CX,1

(10) PUSH 45[DI]

3.已知 DS =09lDH, SS =1E4AH,(AX)=1234H,(BX) 0024H,(CX =5678H,(BP)=0024H,(SI) 0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。下列各指令或程序段分别执行后的结果如何?

(1) MOV CL,20H[BX][SI]

(2) MOV [BP][DI],CX

(3) LEA BX,20H[BX][SI]

MOV AX,2[BX]

(4) LDS SI,[BX][DI]

MOV [SI],BX

(5) XCHG CX,32H[BX]

XCHG 20H[BX][SI],AX

4.执行下列指令后: STR1 DW ‘AB’ MOV AX,STR1 HLT

寄存器AX的值是多少?

5.JMP FAR PTR ABCD ABCD是符号地址 的转移方式是什么?

6.如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令”MOV AX,TABLE”和”LEA AX,TABLE”后, AX 中的内容分别为多少?

7.试简述LES REG,SRC所完成的操作?

8.试编写汇编程序段完成以下功能:将1000个字符的字符串从内存的BUFFER1搬

移到内存的BUFFER2中去。

10.试编写汇编程序段完成以下功能:比较DEST和SOURCE中的500个字节,找出

第一个不相同的字节,如果找到,则将SOURCE中的这个数送AL中。

11.试编写汇编程序段完成以下功能:求最大值,若自BLOCK开始的内存缓冲区中,

有100个带符号的数,希望找到其中最大的一个值,并将它放到MAX单元中。

第五章 汇编语言程序设计习题解答

1. 指出下列指令的错误: 1 MOV AHBX

2 MOV [BX],[SI] 3 MOV AX,[SI][DI] 4 MOV MYDAT[BX][SI],ES:AX 5 MOV BYTE PTR[BX],1000 6 MOV BX,OFFSET MYDAT[SI] 7 MOV CS,AX

2.画图说明下列语句所分配的存储空间及初始化的数据值。

BYTE-VAR DB ‘BYTE’,12,-12H,3DUP(0,?,2DUP(1,2),?)

WORD-VAR DW 5DUP 0,1,2 ,?,-5,’BY’,’TE’, 256H

3.请设置一个数据段DATASG,其中定义以下字符变量或数据变量。

FLD1B为字符串变量:‘personal computer’;

FLD2B为十进制数字节变量:32;

FLD3B为十六进制数字节变量:20;

FLD4B为二进制数字节变量

FLD5B为数字的ASCII字符字节变量:32654;

FLD6B为10个零的字节变量;

FLD1W为十六进制数字变量:FFF0;

FLD2W为二进制数字变量

FLD4W为包括5个十进制数的字变量:5,6,7,8,9;

FLD5W为5个零的字变量;

4.假设程序中的数据定义如下:

PARTNO DW ?

PNAME DB 16 DUP(?)

COUNT DD ?

PLENTH EQU $-PARTNIO

问PLENTH的值为多少?它表示什么意义?

解答:PLENTH代表着PARTNO至PLENTH的地址差,也即三段数据的字节数PLENTH 22。

5.假设程序中的数据定义如下:

LNAME DB 30 DUP(?)

ADDRESS DB 30 DUP(?)

CITY DB 15 DUP(?)

CODE-LIST DB 1,7,8,3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值