49 lines
532 B
NASM
49 lines
532 B
NASM
.ORG 0x84 /* INT 21 */
|
|
DW 0xFFFF /*Code Segment*/
|
|
DW 0x014c /*Program Counter*/
|
|
|
|
.ORG 0x0100
|
|
start:
|
|
MOV SP,#STACK
|
|
MOV AX,#0x0000
|
|
MOV CX,#0x0000
|
|
MOV BX,#0x0000
|
|
CALL TEST_
|
|
ADD CX,#0xBEEF
|
|
ADD CX,#0x4111
|
|
mov AX,#0x00FF
|
|
inc AL
|
|
mov AX,#0x00FF
|
|
inc ax
|
|
ADD AX,#0x2200
|
|
MOV SI,#0x0101
|
|
MOV [SI],AX
|
|
inc [si]
|
|
inc [si]
|
|
inc [si]
|
|
dec [si]
|
|
dec cx
|
|
cmp CX,#0x00
|
|
MOV CH,#0x9A
|
|
TEST CH,#0x70
|
|
jz WAZZ
|
|
mov ah,#2
|
|
mov dl,#'1
|
|
int #0x21
|
|
hlt
|
|
WAZZ:
|
|
mov ah,#2
|
|
mov dl,#'0
|
|
int #0x21
|
|
hlt
|
|
TEST_:
|
|
ADD AX,#0xDEAD
|
|
RET
|
|
|
|
.BLKB 10
|
|
STACK:
|
|
|
|
.ORG 0xFFF0
|
|
MOV AX,#0x0100
|
|
JMP AX
|