西电微机原理上机作业1 下载本文

一、 实验目的

1. 熟练掌握8086/8088的各种寻址方式及应用。

2.掌握DEBUG调试程序中的一些常用命令的使用方法,为以后的实验打下基础。 二、实验仪器 586微机 一台 三、 实验内容及程序 1.关于数据的寻址方式练习

8086/8088 提供多种方式实现操作数寻址,大体可分为7种: a. 立即寻址

b. 寄存器寻址 c. 直接寻址

d. 寄存器间接寻址 e. 寄存器相对寻址 f. 基址变址寻址 g. 基址变址且相对寻址 建立以下汇编语言源程序:

STACK SEGMENT STACK

DB 0B0H, 0B1H, 0B2H, 0B3H, 0B4H, 0B5H, 0B6H, 0B7H, DB 0B8H, 0B9H

DB 0BAH, 0BBH, 0BCH, 0BDH, 0BEH, 0BFH DB 10H DUP(00) STACK ENDS DATA1 SEGMENT

DB 0A0H, 0A1H, 0A2H, 0A3H TABLE DW 0A5A4H

DB 0A6H, 0A7H, 0A8H, 0A9H, 0AAH, 0ABH

DB 0ACH, 0ADH, 0AEH, 0AFH DATA1 ENDS DATA2 SEGMENT

DB 0C0H, 0C1H, 0C2H, 0C3H, 0C4H, 0C5H, 0C6H, 0C7H DB 0C8H ,0C9H, 0CAH, 0CBH, 0CCH, 0CDH, 0CEH, 0CFH DATA2 ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA1, ES:DATA2, SS:STACK START:MOV AX, DATA1

MOV DS, AX MOV AX, DATA2 MOV ES, AX MOV BX, 0004H MOV CX, 0005H MOV BP, 0003H MOV SI, 0002H

MOV DI, 0001H

MOV AX, CX MOV AX, 500H MOV AX, TABLE MOV AX, ES:[BX]

MOV AX, [BX+05H] MOV AX, SS:[BX]+03H MOV AX, TABLE [BX] MOV AX, 07H [BX] MOV AX, [BP]

MOV AX, TABLE [BP] MOV AX, 08H [BP]

MOV AX, [BP+06H] MOV AX, DS:[BP+03H] MOV AX, [BP]+05H MOV AX, ES: [SI+03H] MOV AX, [DI+06H] MOV AX, [DI]+05H MOV AX, TABLE [SI] MOV AX, [SI]

MOV AX, TABLE [DI] MOV AX, [SI]+05H MOV AX, [BX] [DI+01H]

MOV AX, [BX] [SI]+03H MOV AX, TABLE [BX] [SI] MOV AX, ES:[BX] [DI] MOV AX, [BP] [DI+02H] MOV AX, TABLE [BP] [DI]

以下指令按后表要求完成 ;

MOV AX, ES:[BP] [SI] MOV AX, [BP] [SI+05H] MOV AX, 03H [BP] [DI] MOV AX, [BP] [SI]

MOV AX, [BP+02H] [DI+03H]

MOV AX, TABLE [BP+02H] [DI+03H] MOV AH, 4CH INT 21H CODE ENDS

END START

四、 实验数据及结果

指令

SRC寻址方式

SRC的地址 \\ \\

0772:0004H

AX推算值 AX实际值 0005 0500 A5A4 C5C4 AAA9 B8B7 A9A8 ACAB B4B3

0005 0500 A5A4 C5C4 AAA9 B8B7 A9A8 ACAB B4B3

MOV AX, CX 寄存器寻址 MOV AX, 500H MOV AX, TABLE

立即寻址 直接寻址

MOV AX, ES:[BX] 寄存器间接寻址 0773:0004H MOV AX, [BX+05H] MOV AX, SS:[BX]+03H MOV AX, TABLE [BX] MOV AX, 07H [BX] MOV AX, [BP]

寄存器相对寻址 0772:0009H 寄存器相对寻址 0770:0007H 寄存器相对寻址 0772:0008H 寄存器相对寻址 0772:000BH 寄存器相对寻址 0770:0003H

指令

MOV AX, TABLE [BP]

SRC寻址方式 SRC的地址 寄存器相对寻址

0772:0007H

AX推算值 AX实际值 A8A7

A8A7

MOV AX, 08H [BP] 寄存器相对寻

MOV AX, [BP+06H] 寄存器相对寻

MOV AX, DS:[BP+03H]

寄存器相对寻址

MOV AX, [BP]+05H

寄存器相对寻址

MOV AX, ES: [SI+03H] 寄存器相对寻

MOV AX, [DI+06H]

寄存器相对寻址

MOV AX, [DI]+05H

寄存器相对寻址

MOV AX, TABLE [SI] 寄存器相对寻

0770:000BH BCBB BCBB

0770:0009H BAB9 BAB9

0772:0006H A7A6 A7A6

0770:0008H B9B8 B9B8

0773:0005H C6C5 C6C5

0772:0007H A8A7 A8A7

0772:0006H A7A6 A7A6

0772:0006H A7A6 A7A6