Skip to content

Instantly share code, notes, and snippets.

@frknozr
Created December 21, 2017 09:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save frknozr/1816a096bde477dd21bc0df970510caf to your computer and use it in GitHub Desktop.
Save frknozr/1816a096bde477dd21bc0df970510caf to your computer and use it in GitHub Desktop.
;====================================================================
; Main.asm file generated by New Project wizard
;
; Created: Cum Mar 11 2016
; Processor: 8086
; Compiler: MASM32
;
; Before starting simulation set Internal Memory Size
; in the 8086 model properties to 0x10000
;====================================================================
STAK SEGMENT PARA STACK 'STACK'
DW 20 DUP(?)
STAK ENDS
DATA SEGMENT PARA 'DATA'
MYDAT DB 5 DUP(0)
DATA ENDS
CODE SEGMENT PARA 'CODE'
ASSUME CS:CODE, DS:DATA, SS:STAK
KES1 PROC FAR
PUSH BP
MOV BP, SP
IN AL, 7CH
SHR AL,1
INC AL
MOV MYDAT[SI], AL
INC SI
CMP SI, 5
JE T1
JMP BITIR
T1: MOV AL, MYDAT[DI]
OUT 7CH, AL
INC DI
BITIR:
POP BP
IRET
KES1 ENDP
KES2 PROC FAR
PUSH BP
MOV BP, SP
CMP SI, 5
JNE BITIR
CMP DI, 5
JE SIFIRLA
MOV AL, MYDAT[DI]
OUT 7CH, AL
INC DI
JMP BITIR
SIFIRLA:
XOR SI, SI
XOR DI, DI
BITIR:
POP BP
IRET
KES2 ENDP
START PROC FAR
MOV AX, DATA
MOV DS, AX
XOR SI, SI
XOR DI, DI
XOR AX, AX
MOV ES, AX
MOV AX, 78H
MOV BL, 4
MUL BL
MOV BX, AX
LEA AX, KES1
MOV WORD PTR ES:[BX], AX
MOV AX, CS
MOV WORD PTR ES:[BX+2], AX
LEA AX, KES2
MOV WORD PTR ES:[BX+4], AX
MOV AX, CS
MOV WORD PTR ES:[BX+6], AX
;8259
MOV AL, 00010011B
OUT 60H, AL
MOV AL, 78H
OUT 62H, AL
MOV AL, 03H
OUT 62H, AL
;8251 MOD,KONTROL,MOD,KONTROL
MOV AL, 01001101B
OUT 7EH, AL
MOV AL, 01000000B
OUT 7EH, AL
MOV AL, 01001101B
OUT 7EH, AL
MOV AL, 00010101B
OUT 7EH, AL
XOR BX, BX
STI
ENDLESS:
JMP ENDLESS
RET
START ENDP
CODE ENDS
END START
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment