emu8086 调用LED面板的方法
一、实验要求
1.熟悉并掌握 EMU8086 汇编语言调试环境;
2.学习 8086 的指令系统,输入简单的指令,观察各寄存器、内存相关单元以及处理器标志位的变化(所有数据传送类指令,可参考教材用例);
3.学习汇编语言程序设计的基本步骤和方法;
4.学会使用 EMU8086 debug 调试程序;
5.编写一个简单的程序:调用虚拟外设199端口,实现计数功能,在LED虚拟面板上显示100以内的所有偶数,并且每个数显示1秒钟。
二、实验目的
1.学习 EMU8086 仿真开发环境的使用,理解和掌握汇编语言编程的基本步骤;
2.熟悉 EMU8086虚拟外设的使用,调用DOS功能;
三、程序代码
1 #start=led_display.exe# ; use led exe program 2 #make_bin# 3 4 assume cs:code ; code block 5 6 code segment ; code definition 7 mov cx,15 8 mov dx,4240 ; delay time = (15*(2^16)+4240) /1000000 s 9 10 mov ax,0 11 x1: 12 out 199,ax 13 mov bx,ax ; exchange ax to bx 14 mov ah,86h 15 int 15h ; wait for 1 second 16 mov ax,bx ; exchange back 17 add ax,2 ; next even number 18 19 cmp ax,101 ; compare with 101 20 jc x1 ; if less, continue looping 21 hlt ; if bigger, stop looping 22 code ends