汇编语言程序设计(第二版)
第二章
1、 答:直接由指令指定的I/O端口数为256个。
2、答:
3、答:字节单元:(30022H) = AB H,(30024H) = EF H
字单元: (30021H) = AB34 H,(30022H) = CDAB H。
4、答:3017:000A的存储单元的物理地址是3017AH,
3015:002A的存储单元的物理地址是3017AH,
3010:007A的存储单元的物理地址是3017AH。
5、答:该程序的第一个字的物理地址是0AAA40H。
6、答:条件标志OF、SF、ZF、CF的值依次分别为0、0、0、0。
7、答:(1)AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL、
SP、BP、DI、SI(注意:学生尽量不要用SP参与加减运算)
(2)CX
(3)DX、AX、AH、AL
(4)CS、DS、ES、SS
(5)FLAGS
(6)IP
(7)SS、SP、BP
8、答:可以用来指示存储器地址的寄存器有BX、SP、BP、DI、SI、IP、CS、DS、
ES、SS。
9、答:唯一正确的是D。
第三章
1。
.(1)立即寻址 没有
(2)直接寻址 7237H
(3)使用BX的寄存器寻址 没有
(4)使用BX的间接寻址 637DH
(5)使用BX的寄存器相对寻址 0D5F0H
(6) 基址变址寻址 8E18H
(7)相对基址变址 004FH
2。根据下列要求,写出相应的汇编指令。
(1)ADD DX,BX
(2) ADD AL,[BX][SI]
(3) ADD [BX][0B2H], CX
(4) MOV AX,2A59H ADD [0524H] ,AX
(5) ADD AL ,0B5H
3。
(1)寄存器间接寻址
MOV BX,OFFSET [BLOCK][0AH]
MOV DX ,[BX]
(2)寄存器相对寻址
MOV SI,OAH
MOV DX,[BLOCK][SI]
(3)基址变址寻址
MOV BX ,BLOCK
MOV SI,OAH
MOV DX,[BX][SI]
4现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
(1)MOV AX,1200H 1200H
(2) MOV AX,BX 0100H
(3) MOV AX,[1200] 4C2AH 注意,是字单元!!
(4)MOV AX,[BX] 3412H 同上
(5)MOV 1100[BX] 4C2AH
(6) MOV AX,[BX][SI] 7856H
(7) MOV AX,1100[BX][SI] 65B7H
5。
(1) 7CD9H (2) 1200H (3) 6319H
6。 MOV BX,2000H
LES DI ,[BX]
MOV AX, ES:DI
7。转向地址OBJ的值分别为:(1)064DH (2)0691H (3)05E0H 注意有符号数的符号位~~
8。(1) MOV AX,0ABH 立即数寻址 无物理地址
(2)MOV AX,BX 寄存器寻址 同上
(3)MOV AX,[100] 直接寻址 20100H
(4)MOV AX,VAL 直接寻址 20050H
(5) MOV AX,[BX] 寄存器间接寻址 20100H
(6) MOV AX,ES:[BX] 直接寻址 21100H
(7) MOV AX,[BP] 寄存器间接寻址 20010H
(8)MOV AX,[SI] 同上 200A0H
(9) MOV AX,[BX+10] 寄存器相对寻址 20110H
(10)MOV AX,VAL[BX] 同上 20150H
(11) MOV AX,[BX][SI] 基址变址寻址 201A0H
(12) MOV AX,VAL[BX][SI] 相对基相变址寻址 201F0H
9。的指令: MOV AX, [BX][0CH]
MOV ZREO ,AX
(2) 的指令: MOV AX,ARRAY[BX]
MOV ZREO,AX
10。 MOV AX,TABLE 是把符号地址TABLE里的内容送到AX里,指令执行完后,(AX)=1234H
LEA AX,TABLE 是把符号地址TABLE 的有效地址(这里是偏移量)送到指定寄存器AX里,指令执行完后,(AX)=0032H
11。执行完指令后,(AX)=1E00H
12。 LEA AX,CSTRING
MOV DL,AX
MOV DH,[AX+6]
13。这个,,图,很麻烦了,所以就不画了~~大家可以看一下课本上P51--P53,很清楚,看完了这道韪也会了~~~
14。LES BX,[2000]
MOV AX,ES:[BX]
注意:一开始我写的是: MOV AX,ES:[8000H],后来看到题目里要求写两条指令,所以一条就不行了,就要画蛇添足~~~
15。 运算结果 : SF,ZF,CF,OF各位的值(从左至右依次往下~)
(1)74D4H 0 0 0 0
(2) A5C1H 1 0 0 1
(3) 4240 H 0 0 1 0
(4) 0000 H 0 1 1 0
16。 接上表~
(1) 5D14 0 0 0 0
(2) A870 1 0 0 1
(3) D870 1 0 0 0
(4) 34E4 0 0 1 0
17。
(1).MOV AX,Z ;把Z送到AX
SUB AX,X ;Z-X
ADD AX,W ;W+(Z-X)
MOV Z,AX ;结果保存在Z中
(2). MOV AX,R ;R送到AX中
ADD AX,9 ;R+9
MOV BX,X ;X送到BX中
ADD BX,6 ;X+6
ADD AX,BX ;(R+9)+(X+6),结果保存在AX中
MOV BX,W ; W送到BX中
SUB BX,AX ; W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和~~
MOV Z,BX ;最终结果送到Z中
汇编table指令什么意思
(3)MOV AX,W ;把W送到AX
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论