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  

 

posted @ 2020-08-04 17:52  soowin  阅读(835)  评论(0编辑  收藏  举报