《微机原理接口与技术》(8086汇编)期末考试、考研常见考题、习题,题型汇总、知识点总结、专周(二)、Proteus进行8086汇编程序仿真过程演示

Proteus进行8086汇编程序仿真的步骤:

方式一:

第一步,用记事本创建xxx.asm文件

第二步编写程序

第三步将此文件拷贝的C盘

第四步打开终端,切换至C盘存放xxx.asm文件的位置(切换命令:cd xxx)

第五步输入 :masm xxx.asm(xxx为文件名)(dir 命令查看当前目录的所有文件)
在这里插入图片描述
在这里插入图片描述
第六步输入:link xxx.obj(warning:没有设置堆栈,在做实验时此警告可不用管)
在这里插入图片描述
第七步将编译汇编链接生成的 .exe文件加载到Proteus中
(在Proteus中双击8086芯片,再弹出界面中的找到生成的.exe文件)
在这里插入图片描述
第八步运行程序

备注:此种方式涉及的编译链接文件已上传(我已设置零积分免费下载,若博客下载需要积分,联系我私发给你)。

方式二:

1.将masm32文件夹拷贝到d盘(或其它盘)根目录下

2.打开ISIS 7 Professional,在Source 菜单下点击“Define Code Generation Tools”,并单击“New”按钮
在这里插入图片描述
3.点击“Browse”按钮,找到masm32.bat 所在的位置;设置代码生成规则
在这里插入图片描述
4.添加源代码,选择对应的编译工具
在这里插入图片描述
5. 在Source 菜单下点击“Build All”,编译源代码
在这里插入图片描述
6.运行仿真

演示实验:

程序源码:

IO0 EQU 00H
IO1 EQU 10H
IO2 EQU 20H
IO3 EQU 30H
IO4 EQU 40H
IO5 EQU 50H
IO6 EQU 60H
IO7 EQU 70H
IO8 EQU 80H
IO9 EQU 90H
IO10 EQU 0A0H
IO11 EQU 0B0H
IO12 EQU 0C0H
IO13 EQU 0D0H
IO14 EQU 0E0H
IO15 EQU 0F0H
DATA SEGMENT
	OUTBUFF DB 1,2,0,4
	LEDTAB DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DATA ENDS
CODE SEGMENT 
	ASSUME CS:CODE,DS:DATA
START:
	MOV AX,DATA
	MOV DS,AX	
	MOV AL,88H
	MOV DX,IO3+6
	OUT DX,AL
	MOV AL,00110000B
	MOV DX,IO5+6
	OUT DX,AL
	MOV DX,IO5
	MOV AX,500
	OUT DX,AL
	MOV AL,AH
	OUT DX,AL
	MOV AL,01110110B
	MOV DX,IO5+6
	OUT DX,AL
	MOV DX,IO5+2
	MOV AX,5
	OUT DX,AL
	MOV AL,AH
	OUT DX,AL	
AGAIN:
	MOV DX,IO3+2
	MOV AL,0H
	OUT DX,AL
	MOV DX,IO3+4
	IN AL,DX
	TEST AL,20H
	JZ L1
	TEST AL,40H
	JZ L2	
	TEST AL,80H
	JZ L3
	JMP LOP1
L1:
	MOV CL,06H
AGAIN1:
	MOV DX,IO3+2
	MOV AL,CL
	OUT DX,AL
	MOV BX,10
	CALL DELAY
	ROL CL,1
	MOV DX,IO3+4
	IN AL,DX
	TEST AL,20H
	JZ AGAIN1
	JMP AGAIN	
L2:
	MOV CL,0FFH
AGAIN2:
	MOV DX,IO3+2
	MOV AL,CL
	OUT DX,AL
	MOV BX,10
	CALL DELAY
	NOT CL
	MOV DX,IO3+4
	IN AL,DX
	TEST AL,40H
	JZ AGAIN2
	JMP AGAIN
L3:
	MOV CL,55H
AGAIN3:
	MOV DX,IO3+2
	MOV AL,CL
	OUT DX,AL
	MOV BX,10
	CALL DELAY
	NOT CL
	MOV DX,IO3+4
	IN AL,DX
	TEST AL,80H
	JZ AGAIN3
	JMP AGAIN	
LOP1:
	CALL DISP
	JMP AGAIN
DISP PROC NEAR
AGAIN4:
	MOV CL,08H
	LEA SI,OUTBUFF
LEDDISP:
	MOV AL,CL
	MOV DX,IO3+4
	OUT DX,AL
	LEA BX,LEDTAB
	MOV AL,[SI]
	XLAT
	MOV DX,IO3
	OUT DX,AL
	CALL DELAY_1S
	MOV AL,0FFH
	MOV DX,IO3
	OUT DX,AL
	CMP CL,01H
	JZ NEXT
	INC SI
	ROR CL,1
	JMP LEDDISP
NEXT:
	RET
DISP ENDP
	
DELAY_1S PROC
	PUSH CX
	PUSH BX
	MOV BX,01H
D1:
	MOV CX,0FH
D2:
	LOOP D2
	DEC BX
	JNZ D1
	POP BX
	POP CX
	RET
DELAY_1S ENDP
DELAY PROC
	PUSH CX
	PUSH BX
WAIT0:
	MOV CX,2801
WAIT1:
	LOOP WAIT1
	DEC BX
	JNZ WAIT0
	POP CX
	POP BX
	RET 
DELAY ENDP	
CODE ENDS
END START

仿真图:
在这里插入图片描述

发布了39 篇原创文章 · 获赞 37 · 访问量 7173

猜你喜欢

转载自blog.csdn.net/liuxianfei0810/article/details/105664817
今日推荐