当前位置:首页 > 微机原理与接口技术期末复习知识点总结
1.已知BX=1000H,SI=2000H,DS=1000H,位移量D=2210H,试确定在以下各种寻址方式下的有效地址和物理地址。
1)直接寻址;2)使用BX的间接寻址;3)使用BX的寄存器相对寻址 4)使用BX和SI的基址变址寻址;5)使用BX和SI的相对基址变址寻址有效地址,指的是存储器操作数在存储器中的偏移地址
1)无有效地址,物理地址为1000H; 2)有效地址1000H,物理地址为11000H; 3)有效地址3210H,物理地址为13210H;
4)有效地址3000H,物理地址为13000H; 5)有效地址5210H,物理地址为15210H。 3.现有SS=3100H,DS=3000H,BX=0100H,SI=02H,30100H=12H, 30101H=34H,30102H=56H,30103H=78H,31200H=2AH,31201H=4CH,31202H=0B7H,31203H=65H。问在下列各条指令中源操作数属于哪种寻址方式?物理地址是多少?指令执行完后AX寄存器的内容是多少? 1)MOV AX,1200H 立即寻址 (AX)=1200H
2)MOV AX,BX 寄存器直接寻址,因为源操作数是寄存器,所以寄存器BX即为地址,(AX)=0100H
3)MOV AX,[1200H] 存储器直接寻址,物理地址=31200H,(AX)=2AH 4)MOV AX,[BX] 寄存器间接寻址,物理地址=30100H,(AX)=12H 5)MOV AX,1100H[BX] 寄存器相对寻址,物理地址=31200H,(AX)=2AH 6)MOV AX,[BX][SI] 基址变址寻址,物理地址=30102H,(AX)=56H
7)MOV AX,1100H[BX][SI] 相对基址变址寻址,物理地址=31202H,(AX)=0B7H 8)MOV AX,SS:[BX+SI+100H] 带跨越段前缀的相对基址变址寻址,物理地址=31202H,AX=0B7H
4.哪些寄存器可以用来指示存储器地址?
BX、SI、DI、BP、SP、IP、CS、DS、ES、SS。
2.试根据以下要求写出相应的汇编指令
1)把BX和DX的内容相加,结果存入DX中
2)用BX和SI的基址变址寻址方式把存储器中的一个字节与AL的内容相加,结果送回存储器中。
3)用BX和位移量为0B2H的寄存器相对寻址方式把存储器中的一个字和CX相加,结果送CX。 4)用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加结果送回存储器 5)把数0B5H与AL相加,并把结果送回AL
1)ADD DX,BX; 2) ADD BYTE PTR[BX][SI],AL;
3) ADD CX,WORD PTR 0B2H[BX]; 4)ADD WORD PTR[0524H],2A59H; 5)ADD AL,0B5H;
5.求出以下各16进制数与6660H的和,并根据结果设置标志位SF,ZF,CF,OF的值。 1)1234H; 1234H + 6660H = 7894H; SF = 0, ZF = 0, CF = 0, OF = 0 2)5678H; 5678H + 6660H = BCD8H ; SF = 0, ZF = 0, CF = 0, OF = 0 3)9090H; 9090H + 6660H = E6E0H ; SF = 0, ZF = 0, CF = 0, OF = 0 4)9D60H;: 9D60H + 6660H = 03C0H ; SF = 0, ZF = 0, CF = 1, OF = 0 6.求出以下各16进制数与7A00H的差,并根据结果设置标志位SF,ZF,CF,OF的值。 1)1234H; 1234H – 7A00H = 9834H; SF = 1, ZF = 0, CF = 1, OF = 0 2)5678H; 5678H – 7A00H = 7678H; SF = 1, ZF = 0, CF = 1, OF = 0 3)9090H; 9090H – 7A00H = 1690H; SF = 0, ZF = 0, CF = 0, OF = 0 4)AA04H; AA04H – 7A00H = 3004H; SF = 0, ZF = 0, CF = 0, OF = 0 7.在下列程序段中每条指令执行后,目的操作数与源操作数的内容为什么? MOV AX,1234H (AX)=1234H; 1234H MOV CL,3 (CL)=3; 3 ROL AX,CL (AX)=91A0H, (CL)=3; DEC AX (AX)=919FH
MOV CX,4 (CX)=4; 4; MUL CX (DX)=02H, (AX) =467CH; (CX)=4
8.假设DX=0E3H,变量CHAR中存放的内容为55H,确定下列各条指令执行后的结果。
1)XOR DX,CHAR 2)AND DX,CHAR 3)OR DX,CHAR 4) XOR DX,0FFFFH 5)AND DX,0
6)TEST DX,1
1)0B6H; 2)41H; 3)0F7H; 4)FF1CH; 5)0; 6)0E3H
9.设AX和BX中的内容为带符号数,CX和DX中的内容为无符号数,用比较指令和条件转移实现以下判断:
1)若DX的内容大于CX的内容,则转去执行DXMAX; 2)若BX的内容大于AX的内容,则转去执行BXMAX;
3)若CX的内容等于零,则转去执行CXEQ0; 4)BX与AX的内容相比较,若溢出则转OVERFLOW;
5)若BX的内容小于等于AX的内容,则转BXNAX; 6)若DX的内容小于等于CX的内容,则转DXNCX;
(1) CMP DX, CX ; JA DXMAX (2) CMP BX, AX ; JG BXMAX (3) CMP CX, 0 ; JE ZERO (4) SUB BX, AX ; JO OVERFLOW
(5) CMP BX, AX ; JL BXNAX (6) CMP DX, CX ; JB DXNCX 10.假设有如下数据定义伪指令:
N1 DB 1,2,3,4,5 N2 DW 4786H,5F6BH N3 DB 10 DUP(0) N4 DW 20 DUP(?)
写出下列指令执行后的结果。
1)MOV AL, N1+2 ;3 2)MOV BX, N2 ;4786H 3)MOV DX, WORD PTR N1 ;0201H 4)MOV CH, BYTE PTR N2+2 ;6BH
5)MOV AH, TYPE N1 ;1 6)MOV DH, LENGTH N2 ;1 7)MOV BH, TYPE N4 ;2 8)MOV CH, LENGTH N1 ;1 10)MOV AX, SIZE N4 ;40
1.请将下列左边的项和右边的解释联系起来。
a.CPU ( e )保存当前栈顶地址的寄存器 b.存储器 ( d )指示下一条要执行的指令的地址
c.堆栈 ( b )存储程序、数据等信息的记忆装置,PC 机有 RAM 和 ROM 两种 d.IP ( c )以“后进先出”方式工作的存储空间
e.SP ( l )把汇编语言程序翻译成机器语言程序的系统程序 f.状态标志 ( i )唯一代表存储空间中每个字节单元的地址 g.控制标志 ( k )能被计算机直接识别的语言
h.段寄存器 ( j )用指令助记符、符号地址、标号等符号书写程序的语言 i.物理地址 ( m )把若干个模块连接起来成为可执行文件的系统程序
j.汇编语言 ( h )保存各逻辑段起始地址的寄存器,8086 有 4 个:DS,CS,SS,ES k.机器语言 ( g )控制操作的标志,8086 有 3 位:DF,IF,TF
l.汇编程序 ( f )记录指令操作结果的标志,共 6 位:OF,SF,ZF,AF,PF,CF m.连接程序 ( o )由汇编程序在汇编过程中执行的指令
n.指令 ( n )告诉 CPU 要执行的操作及操作对象,在程序运行时执行 o.伪指令 ( a )分析、控制并执行指令的部件 2.下列语句在存储器中各分配多少字节?
VR1 DW 9 ;2字节 VR2 DW 4 DUP(?), 2 ;10字节 CONT EQU 10 ;0字节 VR3 DD CONT DUP(?) ;40字节
VR4 DB 2 DUP(?, CONT DUP(0)) ;22字节 VR5 DB ‘HOW ARE YOU’ ;11字节
3.完成下列要求的定义语句:
1)为某缓冲区 BUFF 预留 100 个字节的内存单元。 BUFF DB 100 DUP(?) 2)将字符串‘BYTE’、’WORD’存放在某数据区。 DAT DB ‘BYTE’,’WORD’ 4.若数组 ARRAY 在数据段中已作如下定义:
共分享92篇相关文档