سلام
ممنون میشم اگر فایلی برای راهنمایی و کمک برای موضوع عنوان شده بفرستین .
با تشـــــــــــــــــــــــ کر
سلام .
فایلی که ضمیمه کردم رو دنلود کنید . ماشین حساب نیست . اما پروژه ای هست که توش نحوه استفاده از ماوس و همینطور ساختن منوهای ابتدایی در اسمبلی رو بهتون نشون میده .
این بخشی از پروژه دسکتاپ به اسمبلی بود که ترم اول نوشتم - تا جایی که فرصت کردم سعی کردم اضافاتش رو کم کنم اما خب خیلی از بخشها هنوز مونده .
اما کارتون رو قطعا راه میندازه .
;IN THE NAME OF GOD
;APP TEST .ASM
;MACROS
;!!!!!!!!!!!!COLOR,CH,CL,DH,DL!!!!!!!!!!!!!!!
RECTANGLE MACRO COLOR,A,B,C,D
MOV AH,06H
MOV BH,COLOR
MOV CH,A
MOV CL,B
MOV DH,C
MOV DL,D
INT 10H
ENDM
;!!!!!!!!!!!!SAVES REGISTERS!!!!!!!!!!!!!!!!!!
PUSHREG MACRO
PUSH AX
PUSH BX
PUSH CX
PUSH DX
ENDM
;!!!!!!!!!!!!LOADS REGISTERS!!!!!!!!!!!!!!!!!!
POPREG MACRO
POP DX
POP CX
POP BX
POP AX
ENDM
;!!!!!!!CLEAR SCREEN!!!!!!!!!
CLS MACRO COLOR
MOV AX , 0600H
MOV BH , COLOR
MOV CX , 0000H
MOV DX , 204FH
INT 10H
ENDM
;!!!!!!!PUT CHARACTER!!!!!!!!
PUT MACRO CHAR,COLOR,NUMBER
MOV AH,09
MOV DH,00
MOV AL,CHAR
MOV BL,COLOR
MOV CX,NUMBER
;MOV BH,PAGE
INT 10H
ENDM
;////////////////////////////////////////////////////////////////////////
;!!!!!!!!!!!PUTS THE STRING IN GRAPHICAL MODE!!!!
PUTS MACRO STRING,LENGTH,A,B,COLOR
LOCAL NEXTCHAR
MOV SI, OFFSET STRING
MOV TOL,LENGTH
MOV ARZ,B
NEXTCHAR:
GOTOXY A,ARZ
PUT [SI],COLOR,1,1
INC SI
INC TOL
INC ARZ
CMP ARZ,LENGTH+B
JNE NEXTCHAR
ENDM
;///////////////////////////////////////
;\\\\\\\\\START,TASKBAR,SYSTEMTRAY\\\\\\
MESSAGE1 DB 'IN THE NAME OF GOD',10,13,0;0B2H KHATE RAH RAHE TO POR
MESSAGE2 DB 'PRESS ANY KEY ...','$'
;INPUT DB 6,?,6 DUP(0)
STRT DB 'START','$'
STARTTEXT DB 'START',0
CASEBTN DB ' .. - ','$'
SAFHE DB 0CDH,0CDH,0CDH,'$'
QUICKLAUNCH DB 20H,010H,0EH,01,0 ;010H,00,0EH
MARK DB ':',0
O DB 0,0
M DB 0,0
I DB 0,0
U DB 0,0
SAAT DB 0,0
;O DB ,':',
DAGHIGHE DB 0 ,0
;M DB ,0;'$'
ME DB 'SEYYED HOSSEIN HASAN POUR MATIKOLAEE',0
HAFEZE DW 0,'$'
LEFTCLICK DB 0,'$'
RIGHTCLICK DB 0,'$'
XLOCATION DB 0,'$'
YLOCATION DB 0,'$'
RB DB 'TRASH','$'
MC DB 'MY PC','$'
MD DB 'MY DOCS','$'
APP DB 'YOU DONT HAVE ENOUGH RAM TO EXECUTE THIS APPLICATION',0
HALT DB 'SHUTDOWN',0
AUTHOR DB 'AUTHOR',0
BOGIBOGI DB 'Calculator',0
UNI DB 'Print',0
INSTRUCTOR DB 'INSTRUCTOR',0
BOGIBOG DB 1,0
EMEXIT DB 'E-EXIT',0
MUST DB 'MAZANDARAN UNIVERSITY OF SCIENCE AND TECHNOLOGY ',0
S DB 'S','$'
T DB 'T','$'
A DB 'A','$'
R DB 'R','$'
TEMP DB '0'
X DB 2,'$';BEJAYE X
TOL DB 0
ARZ DB 0
XPOINT DB 0
YPOINT DB 0
RIGHTCLICKTEXT DB 'RIGHT CLICKED ','$'
RIGHTCLICKTEXTO DB ' ','$'
TIMEHOLDER DW 0
ASCVAL DW ?,'$';MOUSE DECODED COLUMN
BSCVAL DW ?,'$';MOUSE DECODED ROW
FLG DB 1
SPC DB ' ',0
DOCISEMPTY DB 'MYDOCUMENT IS EMPTY',0
HA DB '!',0
XLOC DW 0,'$'
YLOC DW 0,'$'
XBINARY DW 0
YBINARY DW 0
MYX DB 2 DUP(0)
MYY DB 2 DUP(0)
FLGRC DB 0 ;FLAG RIGHT CLICK
FLGE DB 0 ;FLAG ERROR
FLGA DB 0;FLAG AUTHOR
FLGU DB 0;FLAG UNI
FLGB DB 0;FLAG BOGIBOGI
FLGD DB 0;FLAG DOCS
GETNUMMSG db 'Number: ',0
NUMBER Dw 0
NUM DB 8 DUP('0'),0
num1 dw 0
num2 dw 0
ten db 10
make_minus DB ?
DATA ENDS
CMP AL,0111B ;RANGE SEFID BAESE REFRESHE SAFHE SHE
JE TOREFRESH
CMP AL,1011B
JE TOUNI
;JMP PP
;TOREFRESHO:JMP TOREFRESH
;PP:
CMP AL,1
JE TOERROR
CMP AL,5H ;RO SORATY VA TASKBAR CLICK SHOD HICHI NASHE
JE TOHIDE
CMP AL,9H ; RO DESKTOP YA RANGE ABIE KAMRANG CLICK SHOD HICHI NASHE
JE TOHIDE;MOUSE
CMP AL,2H
CMP FLG,0
JE TOSTARTMENU
MOV FLG,0
;JNE MOUSE
JMP TOHIDE;REFRESH
STARTM:
STARTMENU
MOV FLG,1
JMP MOUSE
DOCVIEW:
HIDESTARTMENU
PUTS DOCISEMPTY,19,9,15,11010001B;
GOTOXY 8,16
PUT X,11110110B,1,1
GOTOXY 8,22
PUT HA,11110110B,1,1
DELAY 100;AGE GIR DAD BOKONESH 200
JMP MOUSE
AUTHERO:
HIDESTARTMENU
;GOTOXY 10,15
PUTS ME,36,10,15,11010001B;PRINT ME
GOTOXY 9,16
PUT X,11110110B,1,1
JMP MOUSE
علاقه مندی ها (Bookmarks)