资源描述
1.
第一讲作业:
2.1 有两个16位字1EE5H和2A3CH分别存放在IBM PC机的存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。
000B0H: E5H
000B1H: 1EH
000B2H:
000B3H: 3CH
000B4H: 2AH
2.2 如果在一个程序开始执行以前(CS)=0A7F0H, (IP)=2B40H,试问该程序的第一个字的物理地址是多少?
A7F00H+2B40H=AAA40H
2.3 在IBMPC机的存储器中存放信息如图所示。试读出30022H和30024H字节单元的内容,以及30021H和30022H字单元的内容。
30022H和30024H字节单元的内容分别为ABH、EFH
30021H和30022H字单元的内容分别为AB34H、CDABH
第3讲作业:
1、现有(DS)=3000H,(BX)=0200H,(SI)=0002H,(30200)=24H,(30202)=0ACH,(30203)=0F0H,(31300)=54H,(31301)=98H,(31302)=6DH,试说明下列各条指令执行完后AX或AL寄存器的内容。
(1)MOV AX,1300H ;(AX)=1300H
(2)MOV AL,BL ;(AL)=00H
(3)MOV AX,[1300H] ;(AX)=9854H
(4)MOV AL,[BX] ;(AL)=24H
(5)MOV AL,1100[BX] ;(AL)=54H
(6)MOV AX,[BX][SI] ;(AX)=0F0ACH
(7)MOV AL, 1100[BX][SI] ;(AL)=6DH
2、分别指出下列指令中的源操作数和目的操作数的寻址方式:
(1)MOV SI,300 源:立即数寻址; 目的:寄存器寻址
(2)MOV CX,DATA[DI] 源:寄存器相对寻址;目的:寄存器寻址
(3)ADD AX,[BX][SI] 源:基址变址寻址; 目的:寄存器寻址
(4)ADD AX,CX 源:寄存器寻址; 目的:寄存器寻址
(5)MOV [BP],AX 源:寄存器寻址; 目的:寄存器间接寻址
2作业:
1、判断下列指令是否正确:
(1)MOV AL,BX ;错误,长度不一致
(2)MOV AL,CL ;正确
(3)MOV 5,AL ;错误,立即数不能做为目的操作数
(4)MOV [BX],[SI] ;错误,两个操作数都为内存单元
(5)MOV BL,0F5H ;正确
(6)MOV DX,2000H ;正确
(7)MOV ES,DS ;错误,数据不允许在段寄存器之间传送
(8)PUSH CS ;正确
(9)POP CS ;错误,CS不能做为目的操作数
2、设堆栈指针SP的初值为1000H,AX=2000H,BX=3000H,试问:
(1)执行指令PUSH AX后SP=?
(2)再执行PUSH BX及POP AX后SP=?AX=?BX=?
(SP)=0FFEH
(SP)=0FFEH,(AX)=3000H,(BX)=3000H
3、 用两种方法写出从80H端口读入信息(一个字节)的指令。再用两种方法写出向40H端口输出100H的指令。
读入:(1) IN AL , 80H (2) MOV DX , 80H
IN AL , DX
输出:(1)MOV AX , 100H (2) MOV AX , 100H
OUT 40H , AX MOV DX , 40H
OUT DX , AX
4、 出将字单元A、B中的内容相互交换的指令序列(用三种方法实现)。
1、 MOV AX , A
MOV BX , B
MOV A , BX
MOV B , AX
2、 PUSH A
PUSH B
POP A
POP B
3、 MOV AX , A
XCHG AX , B
MOV A , AX
作业:
1、判断下列指令是否正确:
(1)MOV AL,BX ;错误,长度不一致
(2)MOV AL,CL ;正确
(3)MOV 5,AL ;错误,立即数不能做为目的操作数
(4)MOV [BX],[SI] ;错误,两个操作数都为内存单元
(5)MOV BL,0F5H ;正确
(6)MOV DX,2000H ;正确
(7)MOV ES,DS ;错误,数据不允许在段寄存器之间传送
(8)PUSH CS ;正确
(9)POP CS ;错误,CS不能做为目的操作数
2、设堆栈指针SP的初值为1000H,AX=2000H,BX=3000H,试问:
(1)执行指令PUSH AX后SP=?
(2)再执行PUSH BX及POP AX后SP=?AX=?BX=?
(SP)=0FFEH
(SP)=0FFEH,(AX)=3000H,(BX)=3000H
5、 用两种方法写出从80H端口读入信息(一个字节)的指令。再用两种方法写出向40H端口输出100H的指令。
读入:(1) IN AL , 80H (2) MOV DX , 80H
IN AL , DX
输出:(1)MOV AX , 100H (2) MOV AX , 100H
OUT 40H , AX MOV DX , 40H
OUT DX , AX
6、 出将字单元A、B中的内容相互交换的指令序列(用三种方法实现)。
1、 MOV AX , A
MOV BX , B
MOV A , BX
MOV B , AX
3、 PUSH A
PUSH B
POP A
POP B
3、 MOV AX , A
XCHG AX , B
MOV A , AX
四1、如果给定AX和BX的内容如下:
AX BX
(1)42C8H 608DH
(2)B568H 54B7H
试分析当执行下列指令序列时,将转向哪里?
ADD AX,BX
JNO L1
JNC L2
SUB AX,BX
JNC L3
JNO L4
JMP SHORT L5
(1)转至L2 (2)转至L1
2、假定AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,请用比较指令和条件转移指令实现以下判断:
(1) 若DX的内容超过CX的内容,则转去执行EXCEED。
(2) 若BX的内容大于AX的内容,则转去执行EXCEED。
(3) 若CX的内容等于零,则转去执行ZERO。
(4) BX与AX的内容相比较是否产生溢出?若溢出则转OVERFLOW。
(5) 若BX的内容小于等于AX的内容,则转EQ-SMA。
(6) 若DX的内容低于等于CX的内容,则转EQ-SMA。
(1) CMP DX,CX
JA EXCEED
(2) CMP BX,AX
JG EXCEED
(3) CMP CX,0
JZ ZERO
或
JCXZ ZERO
(4) CMP BX,AX
JO OVERFLOW
(5) CMP BX,AX
JLE EQ-SMA
(6) CMP DX,CX
JBE EQ-SMA
展开阅读全文