Untitled
unknown
plain_text
2 months ago
2.3 kB
16
Indexable
CLO ; Close windows JMP START ; go to start DB FA ; Move 0 (translated from left seven segment) to RAM location 2; DB A ; Move 1 (translated from left seven segment) to RAM location 3; DB B6 ; Move 2 (translated from left seven segment) to RAM location 4; DB 9E ; Move 3 (translated from left seven segment) to RAM location 5; DB 4E ; Move 4 (translated from left seven segment) to RAM location 6; DB DC ; Move 5 (translated from left seven segment) to RAM location 7; DB FC ; Move 6 (translated from left seven segment) to RAM location 8; DB 8A ; Move 7 (translated from left seven segment) to RAM location 9; DB FE ; Move 8 (translated from left seven segment) to RAM location 10; DB DE ; Move 9 (translated from left seven segment) to RAM location 11; START: MOV BL, 64 ; BL = 100 MOV AL, DE OUT 02 ; Display number to seven segment display MOV AL, DF OUT 02 ; Display number to seven segment display LOOP: NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait DEC BL ; BL = BL-1, Decrease BL by 1 PUSH BL ; Save BL value to stack MOD BL, A ; BL = BL % A, Get remainder of dividing 10 from BL ADD BL, 3 ; BL = BL + 3, Add 3 to BL to get right RAM address MOV AL,[BL] ; AL = RAM[BL], Get AL from RAM location, which BL points to INC AL ; Increase AL, to use right seven segment display OUT 02 ; Display number to seven segment display POP BL ; BL takes previous BL value from stack CMP AL, DF ; Compare BL with 0 JNZ WAIT ; If BL not 0, jump to LOOP PUSH BL ; Save BL value to Stack DIV BL, A ; BL = BL / 10, Divide BL by 10; ADD BL, 3 ; BL = BL + 3, Add 3 to BL to get right RAM address MOV AL,[BL] ; AL = RAM[BL], Get AL from RAM location, which BL points to OUT 02 ; Display number to seven segment display POP BL ; BL takes previous BL value from stack CMP BL, 0 ; Compare BL with 0 JNZ LOOP ; If not BL not 0, jump to LOOP WAIT: NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait NOP ; Wait JMP LOOP ; jump back to loop END: END ; End programm
Editor is loading...
Leave a Comment