微机原理汇编语言EMU8088/86学习笔记二——编程实现LEDDisplay的时钟功能

微机原理汇编语言EMU8088/86学习笔记二——编程实现LEDDisplay的时钟功能


前言

最近微机原理快考试了,复习的有点无聊,就打开了EMU8088编译器,发现里面有个virtual leddsiplay,就打算用他来简单写个类似于时钟的功能。
汇编的代码自己本身也不会写,所以写的比较难看,就当是个学习笔记了

一,代码

CSEG SEGMENT
    ASSUME CS:CSEG 
    
    INIT: MOV AX,0
          MOV CX,0
         
          MOV BL,10
          OUT 199,AX   ;199 is LED port
   
    
    START:INC AX
          OUT 199,AX
          PUSH AX		;judge second % BL
          DIV BL
          CMP AH,0
          JZ NEXT1
          POP AX
          JMP START  
               
               
    NEXT1:INC CX
          MOV AX,CX     ;judge minute %BL
          DIV BL
          CMP AH,0
          JZ  NEXT2
          JMP NEXT3
            
          
    NEXT2:MOV AX,CX 
          MUL BL
          MOV CX,AX
          JMP NEXT3   
          
    NEXT3:MOV AX,100
          MUL CX       
          JMP START 
                  
CSEG ENDS    

在virtual devices中打开LED_Display可以看到如下场景,目前好像是进到小时后,DIV BL保存到AL和AH的值会溢出,导致小时位显示有问题。
然后这里为了快速看到效果,进制就改成10了
在这里插入图片描述

总结

要是有大佬看的话,可以指点指点!!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lzzzzzzm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值