;***************************************************
;A must-read assembly program for beginners moving to the next level
;Author: xy_god
;*********************Stack Segment************************
STACK_SEG SEGMENT STACK
STACK_SEG ENDS
;**********************Data Segment***********************
DATA_SEG SEGMENT PARA
ABSCODE DB 00h,0Dh,0B4h,09h,00h,0Fh;machine instruction code
DB 0B0h,2Ah,00h,11h,0B7h,00h
DB 00h,13h,0B3h,0DAh,00h,15h
DB 0B9h,05h,00h,00h,18h,0CDh,10h
DATA_SEG ENDS
;******************Code Segment***************************
CODE_SEG SEGMENT PARA
MAIN PROC FAR
ASSUME CS:CODE_SEG,DS
ATA_SEG
ASSUME SS:STACK_SEG
START:
MOV AX,STACK_SEG
MOV SS,AX
MOV SP,0000h
MOV AX,DATA_SEG
MOV DS,AX
;---------------Unconventional code------------------
MOV AX,SEG ABSCODE
PUSH AX
MOV AX,OFFSET ABSCODE
PUSH AX
RET
;-----------------------------------------
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE_SEG ENDS
;******************End of program************************
END START
;A must-read assembly program for beginners moving to the next level
;Author: xy_god
;*********************Stack Segment************************
STACK_SEG SEGMENT STACK
STACK_SEG ENDS
;**********************Data Segment***********************
DATA_SEG SEGMENT PARA
ABSCODE DB 00h,0Dh,0B4h,09h,00h,0Fh;machine instruction code
DB 0B0h,2Ah,00h,11h,0B7h,00h
DB 00h,13h,0B3h,0DAh,00h,15h
DB 0B9h,05h,00h,00h,18h,0CDh,10h
DATA_SEG ENDS
;******************Code Segment***************************
CODE_SEG SEGMENT PARA
MAIN PROC FAR
ASSUME CS:CODE_SEG,DS
ATA_SEGASSUME SS:STACK_SEG
START:
MOV AX,STACK_SEG
MOV SS,AX
MOV SP,0000h
MOV AX,DATA_SEG
MOV DS,AX
;---------------Unconventional code------------------
MOV AX,SEG ABSCODE
PUSH AX
MOV AX,OFFSET ABSCODE
PUSH AX
RET
;-----------------------------------------
MOV AX,4C00H
INT 21H
MAIN ENDP
CODE_SEG ENDS
;******************End of program************************
END START
临河居士
http://www.xygod.pc5.org
http://www.xygod.pc5.org








