微机原理汇编语言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了
总结
要是有大佬看的话,可以指点指点!!