文档详情

2013年下半年汇编语言第一次作业).doc

发布:2016-02-24约4.28千字共6页下载文档
文本预览下载声明
1、以下常用的十进制数转换为二进制数和十六进制数: 3 2 7 6 7 D 2 5 5 D 6 5 5 3 5 D 答32767D 0111111111111111 7FFFH 255D FFH 65535D 1111111111111111 FFFFH 2、回答问题 指令MOV AX,[BX+DI-2] 假设,(DS)=5000H,(BX)=1223H,(DI)=54H,(51275)=54H (51276)=76H 那么,存取的物理存储单元的地址是多少? 答: 物理地址=50000H+1223H+0054H+FFFEH=51275H (AX)=7654H 3、假设(SS)=2250H, (SP)=0140H, 如果在堆栈中存入4个数据,则栈顶的物理地址为多少? 如果又从堆栈中取出2个数据,则栈顶的物理地址是多少? 答: (1)立即寻址 (2)寄存器寻址 (3)直接寻址 物理地址=20000+100=20100H (4)直接寻址 物理地址=20000+0050=20050H (5)寄存器间接寻址 物理地址=20000+0100=20100H (6)段跨越前缀的寄存器间接寻址 物理地址=21000+0100=21100H (7)寄存器间接寻址 物理地址=15000+0010=15010H (8)寄存器间接寻址 物理地址=20000+00A0=200A0H (9)寄存器相对寻址 物理地址=20000+0100+10=20110H (10)寄存器相对寻址 物理地址=20000+0100+0050=20150H (11)基址加变址寻址 物理地址=20000+0100+00A0=201A0H (12)相对基址加变址寻址 物理地址=20000+0100+00A0+0050=201F0H 4、假设(DS)=2000H, (ES)=2100H, (SS)=1500H, (SI)=00A0H, (BX)=0100H(BP)=0010H,数据段中变量名VAL的偏移地址值为0050H, 试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少? (1)????? MOV AX, 0ABH (2)????? MOV AX, BX (3)????? MOV AX, [100H] (4)????? MOV AX, VAL (5)????? MOV AX, [BX] (6)????? MOV AX, ES:[BX] (7)????? MOV AX, [BP] (8)????? MOV AX, [SI] (9)????? MOV AX, [BX+10] (10)?? MOV AX,VAL[BX] (11)?? MOV AX, [BX][SI] (12)?? MOV AX, VAL[BX][SI] 答: 首地址=70B00+DDE6=7E8E6H 末地址=7E8E6+1E=7E904H 5、一个有16个字的的数据区,它的起始地址为: 70B0:DDE6,请写出这个数据区首末字单元的物理地址 答: 未压入数据前的物理地址=22500+0140=22640H 压入4个数据的物理地址=22640-08H=22638H 弹出2个数据的物理地址=22638+4H=2263CH 6、试分析下列程序段执行完后,A单元的内容是多少? Data segment A dw 0 B dw 0 C dw 240, 20, 54 Data ends Code segment … MOV BX, OFFSET C MOV AX, [ BX ] MOV B, AX MOV AX,2[ BX ] ADD AX, B … Code ends 答: AX=240+54=294 7、设当前数据段寄存器的内容为1B00H,在数据段的偏移地址2000H单元内,含有一个内容为0FF10H和8000H的指针,它们是一个16位变量的偏移地址和段地址,试写出把该变量装入AX的指令序列。 答: 因为物理地址=1B000+2000=1D000H 所以 (1D000H)=0FF10H (1D002H)=8000
显示全部
相似文档