微型计算机三要素,微机原理程序及试题.doc

微机原理程序及试题

实验部分:

(一)汇编语言编程及调试1

DATA SEGMENT

X DW 2

Y DW 3

Z DW ?

DATA ENDS

CODE SEGMENT 'CODE'

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV AX,X

MOV DX,Y

ADD AX,DX

MOV Z,AX

INT 3

MOV AH,4CH

INT 21H

CODE ENDS

END START

(二)实验程序 8255AIBO.ASM

PORTA=300H

PORTB=301H

PORTC=302H

CONTROL=303H

CG SEGMENT 'CODE'

ASSUME CS:CG

BEGIN: MOV DX,CONTROL

MOV AL,90H

OUT DX,AL

MOV AX,0FFH

MOV DX,PORTB

OUT DX,AX

LP: MOV DX,PORTA

IN AL,DX

MOV DX,PORTB

OUT DX,AL

JMP LP

CG ENDS

END BEGIN

(三) 实验程序8253key1.ASM

CODE SEGMENT 'code'

ASSUME CS:CODE

START: MOV DX,307H

MOV AL

OUT DX,AL

MOV DX,305H

MOV AL,0E8H

OUT DX,AL

MOV AL,03H

OUT DX,AL

MOV DX,307H

MOV AL

OUT DX,AL

MOV DX,306H

MOV AL,0E8H

OUT DX,AL

MOV AL,03H

OUT DX,AL

MOV AH,4CH

INT 21H

CODE ENDS

END START

例【3-4】 MOV AL,DS:[2345H]是偏移地址为16位的直接寻址的指令,指令中直接给出了偏移地址,EA=2345H,机器码是:A04523H,其中,操作码是A0H,紧接着的是偏移地址。

例【3-5】 假定在数据段DS有双字变量定义为:

VAR DD

其中VAR是变量名,在经过汇编与连接生成可执行的程序在执行时,它有实际的物理地址,由段寄存器DS与偏移地址EA组成。在执行指令MOV EAX,VAR时,其功能是根据变量名VAR的DS和EA,从数据段内偏移地址为EA的内存单元,连续读取4个字节数送给EAX,即(EAX)。

例【3-10】

MOV AL,[EDX+EBP*2] ;EDX是基址寄存器,访问DS段

MOV EAX,[EBP+ECX*8] ;EBP是基址寄存器,访问SS段

MOV EAX,[EBX][EDI] ;EBX是基址寄存器,访问DS段

MOV EAX,[ESP][EBP] ;ESP是基址寄存器,访问SS段

例【3-23】

data segment ;定义数据段

tab db ’0123456789’ ;单引号内汇编后,生成数

;0~9对应的ASCII码

data ends ;数据段结束

mov bx,offset tab ;变量名tab的偏移地址传

;送给bx,指向表的首地址

mov al,4 ;表tab中第5项的偏移量4→al

xlat ;(tab+4)=34h→al

例【3-25】 POP BX, 假定在上例的基础上执行POP BX。

假定执行前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值