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

内容发布更新时间 : 2024/5/18 4:31:13星期一 下面是文章的全部内容请认真阅读。

一、 实验目的

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