PDA

View Full Version : مرجع دستورات 8086 به همراه لیست وقفه ها و پورت های سخت افزاری



Delphi Coder
شنبه 22 دی 1386, 11:08 صبح
این برنامه یک مرجع نسبتا کامل و مختصر و مفید برای وقفه های BIOS و DOS و همچنین مجموعه دستورات 8086 و جدولها و پورتهای سخت افزاری است.

p_tprkaman
پنج شنبه 30 آبان 1387, 14:58 عصر
سلام
من به لیست وقفه های اسمبلی کتاب مزیدی نیاز دارم لطفا در اختیارم قرار بدید
مرسی

gh-jowk
سه شنبه 24 آذر 1388, 11:30 صبح
سلام
این مال مزیدی نیست ولی اکثر وقفه ها را نوشته
[/URL]
[URL="http://www.scribd.com/doc/19804352/BIOS-and-DOS-Interrupts-With-8086"]لینک (http://www.scribd.com/doc/19804352/BIOS-and-DOS-Interrupts-With-8086)

pdf هم داره

kazemproger
پنج شنبه 17 دی 1388, 20:57 عصر
این برنامه یک مرجع نسبتا کامل و مختصر و مفید برای وقفه های BIOS و DOS و همچنین مجموعه دستورات 8086 و جدولها و پورتهای سخت افزاری است.

سلام. خیلی مفید بود ممنون.
من یه سئوال هم از شما دارم. تاثیر دستور neg روی فلگ AF و تاثیر دستورات چرخشی روی فلگ OF ؟

manocher.a
شنبه 26 دی 1388, 05:26 صبح
سلام. خیلی مفید بود ممنون.
من یه سئوال هم از شما دارم. تاثیر دستور neg روی فلگ AF و تاثیر دستورات چرخشی روی فلگ OF ؟
تا اینجاآمدم چیزی پیدا نشد گفتم لااقل ما چیزی بگذاریم برای دیگران
اگر برنامه نویس هستید ،دانشجو و .....
با برنامه نویسی هم کمی گیر دارید :افسرده::عصبانی++:برید http:/www.masm32.com این سایت ببینید اسمبل32 بیتی بهتون یادت میده پایه برنامه نویسی واصل کار برای انهایی که تشنه کار هستن.با ورود به سایت که مربوط به مایکروسافت هست و( کلمه M در اول) نشون دهنده اسمبل و 32 (asm 32) یک پک در اول صفحه هست دانلود بعد نصب(باز شدن)بعد برید نمونه ها سورس با فورام سایت ببینید پشیکون نمیشید.(برای ویروس نویس ها):قلب::اشتباه:
این عمق برنامه نویسی حتی تحت ویندوز یادتون میده با API ویندوز:متعجب::متعجب:

سارا کامپایلر
سه شنبه 29 دی 1388, 17:35 عصر
سوال:لطفا کد وقفه تعویض دایرکتوری وکپی فایل رو بنویسید...

$ M 3 H R D A D $
سه شنبه 29 دی 1388, 23:04 عصر
.model small
clrscr macro
mov ah,06h
mov al,25
mov cx,0
mov dh,25
mov dl,80
mov bh,0fh
int 10h
gotoxy row,col
endm
;***************************
;****************************
showerror macro
mov ah,09h
int 21h
call readchar
endm
;***************************
gotoxy macro row,col
mov ah,02h
mov dh,row
mov dl,col
mov bh,0
int 10h
endm
;***************************
.stack 64

.data
intruptdeletedirectory equ 3ah
lenstring dw ?
strerror db 'Error To Run Command.$'
rstrf label byte
max db 30
len dw ?
path db 30 dup('$')
mdd db "enter directory for delete :","$"
mcd db "Enter Directory For Create :","$"
mfd db "Enter File Name For Delete :","$"
number db ?
row db 0
col db 0
prompt db "farman:\$"
num db " ","$"
;***********
.code
main proc far
mov ax,@data
mov ds,ax
clrscr
Repeat:
add row,1
gotoxy row,col
lea dx,prompt
call display

call readchar
add row,2

cmp number,'1'
je Item1
cmp number,'2'
je Item2
cmp number,'3'
je Item3
cmp number,'4'
je Item4
cmp number,'5'
je Item5
cmp number,'6'
je Item6
cmp number,'7'
je Item7
;cmp number,'8'
;je Item8
jmp Repeat
;Item7:
;call helps
;jmp repeat
Item1:
lea dx,prompt
mov row,0
mov col,0
clrscr
jmp Repeat
Item2:
call CreateDirectory
jmp Repeat
Item3:
call time
jmp Repeat
Item4:
call DeleteDirectory
jmp Repeat
Item5:
call DATE
jmp Repeat
Item6:
call Deletefile
jmp Repeat
Item7:
mov ax,4c00h
int 21h
jmp Repeat
ret

main endp
;***************************
display proc near
mov ah,09h
int 21h
ret
display endp
;***************************
;***************************
readchar proc near
mov ah,01h
int 21h
mov number,al
ret
readchar endp
;***************************
;***************************
time proc near

gotoxy row,col
CALL TIMEr
MOV AL,CH
CALL DISPLA1
CALl COLON
MOV AL,CL
CALL DISPLA1
CALL COLON
MOV AL,DH
CALL DISPLA1
;mov ax,4c00h
;int 21h
ret
time endp
;***************************
DATE PROC NEAR
gotoxy row,col
CALL dater
MOV AL,CL
CALL DISPLA1
MOV AL,CH
CALL DISPLA1
CALL COLON
MOV AL,DH
CALL DISPLA1
CALL COLON
MOV AL,Dl
CALL DISPLA1
;mov ax,4c00h
;int 21h
ret
DATE ENDP
;***************************
TIMEr PROC NEAR
MOV AH,2CH
INT 21H
RET
TIMEr ENDP
;_________________________________________________ _____
dater PROC NEAR
mov ah,2ah
int 21h
RET
dater ENDP
;_________________________________________________ _____
COLON PROC NEAR
PUSH DX
MOV DL,':'
MOV AH,02H
INT 21H
POP DX
RET
COLON ENDP
;_________________________________________________ _____
DISPLA1 PROC NEAR
PUSH DX
MOV BL,10
MOV AH,00H
DIV BL
MOV BX,AX
ADD BL,30H
MOV AH,02H
MOV DL,BL
INT 21H
ADD BH,30H
MOV DL,BH
INT 21H
POP DX
RET
DISPLA1 ENDP
;*******************************************
;***************************
DeleteDirectory proc near
lea dx,mdd
call display
lea dx,rstrf
call getstring
call getlenstring
mov si,lenstring
mov path[si],00h
lea dx,path-1
mov ah,3ah ;intruptdeletedirectory
int 21h
jnc DDk
lea dx,strerror
showerror
DDk:
ret
DeleteDirectory endp
;***************************
;***************************
CreateDirectory proc near
lea dx,mcd
call display
lea dx,rstrf
call getstring
call getlenstring
mov si,lenstring
mov path[si],00h
lea dx,path-1
mov ah,39h ;intruptcreatedirectory
int 21h
jnc CDk
lea dx,strerror
showerror
CDk:
ret
CreateDirectory endp
;***************************
;***************************
getstring proc near
mov ah,0ah
int 21h
ret
getstring endp
;***************************
getlenstring proc near
lea bx,path
mov cx,0
mov si,0
lop1:
cmp byte ptr [bx+si],13
je exit1
inc si
inc cx
jmp lop1
exit1:
mov lenstring,cx
ret
getlenstring endp

;***************************
Deletefile proc near
lea dx,mfd
call display
lea dx,rstrf
call getstring
call getlenstring
mov si,lenstring
mov path[si],00h
lea dx,path-1
mov ah,41h
int 21h
jnc DeletefileOk
lea dx,strerror
showerror
DeletefileOk:
ret
Deletefile endp
;***************************
end main



فایل میسازه حذف میکنه هر بلایی بخوای سر فایل و دایرکتور و پوشه در میاره

z_iraj
پنج شنبه 16 اردیبهشت 1389, 00:22 صبح
http://www.assembly.happycodings.com/code61.html

saeid__h
یک شنبه 06 تیر 1389, 00:21 صبح
سلام . این رو هم ببینید .
http://lrs.uni-passau.de/support/doc/interrupt-57/INT.HTM

Leviathan
دوشنبه 22 شهریور 1389, 10:51 صبح
سلام
ببينم كسي يك فايلي چيزي درباره ي اسمبلي 32 بيت نداره؟
مثلا وقفه ها در اسمبلي 32 بيت يا ثبات ها در آن و همچنين سگمنت ها (به خصوص fs و gs)؟

ممنون مي شم اگه كسي چيزي داره بفرسته.

با تشكر

daivid_ d31r1
یک شنبه 28 شهریور 1389, 19:13 عصر
سلام دوستان
آیا میشه با برنامه نویسی اسمبلی با استفاده از وقفه ها ولتاژ رو تغییر داد مثلا ولتاژ هارد و یا مادر برد!؟؟
من شنیدم میشه اینکارو کرد!
لطفا راهنمایی کنید

keyhanbati
سه شنبه 20 مهر 1389, 12:13 عصر
سلام دوستان
کی تو اسمبلی دستوری بلده که بشه مد کاری CPU رو عوض کرد(real mode و protected mode و ...)
همچنین بتونیم بفهمیم که یه دیسک چندتا سکتور داره
مثلا هاردی که 500GB ما هم نمیونیم که چند گیگه ،بشه تعداد سکتوراشو در اورد که بفهمی حجمش چند ؟

afshin-18
سه شنبه 23 آذر 1389, 07:12 صبح
ببخشید با استفاده از این وقفه ها میشه سیستم رو ریستارت کرد؟

felfel_bala
چهارشنبه 20 مهر 1390, 21:47 عصر
سلام عزیزم شرمنده اینجا شاید سوالم بی ربط باشه اما کتاب خوب واسه آموزش اسمبلی میخوام استادم اصلا خوب نیست خودم باید یاد بگیرم 1کتابی میخوام که از پایه خوب یاد بده اگه میشناسی لطفا اسم کتاب برام بفرست ممنون

xman_1365_x
چهارشنبه 20 مهر 1390, 23:15 عصر
سلام عزیزم شرمنده اینجا شاید سوالم بی ربط باشه اما کتاب خوب واسه آموزش اسمبلی میخوام استادم اصلا خوب نیست خودم باید یاد بگیرم 1کتابی میخوام که از پایه خوب یاد بده اگه میشناسی لطفا اسم کتاب برام بفرست ممنون
بهتر بود جستجو میکردین و پست جدید میزدین
نمیدونم شما کدام دانشگاه میرین و فقط در سطح دانشگاه میخواین یا بیشتر
برای دانشگاه بستگی به مقطع و دانشگاه داره
با این حال برای پیام نور
اول زبان ماشین و برنامه سازی سیستم داریوش نیک مهر
در اینترنت جستجو کنید هست
برای دانشگاه های دیگه هم
زبان ماشین و اسمبلی دکتر حسن سید رضی - انتشارات ناقوس
و اگر گیر نیاوردین
زبان اسمبلی دکتر سپید نام
و
برنامه نویسی و زبات اسمبلی کامپیوترهای شخصی - پیتر ایبل - ترجمه فرزانه کیمیایی
این هم در اینترنت موجود هست جستجو کنید

و اگر هم دانشگاه آزاد مقطع لیسانس باشید اسمبلی 32 یاد میدن میتونین از زبان اسمبلی و معماری ریز پردازنده 80x86 مترجم هاشم مشحون
این کتاب اشتباه زیاد داره که اگر کتاب های اسمبلی 16 رو نخونده باشین متوجه نمیشین
اگر بیشتر از سطح دانشگاه خواستین بگین تا معرفی کنم
موفق باشی

IamOverlord
پنج شنبه 01 دی 1390, 10:03 صبح
سلام دوستان
کی تو اسمبلی دستوری بلده که بشه مد کاری CPU رو عوض کرد(real mode و protected mode و ...)
همچنین بتونیم بفهمیم که یه دیسک چندتا سکتور داره
مثلا هاردی که 500GB ما هم نمیونیم که چند گیگه ،بشه تعداد سکتوراشو در اورد که بفهمی حجمش چند ؟

سلام،
برای این کار دستور خاصی وجود نداره بلکه شما باید یه سری از کار ها رو پشت سر هم انجام بدی و بعد وارد Protected Mode بشی. اصلی ترین کار تغییر بیت PE در CR0 به 1 هست.

در این مورد پیشنهاد می کنم Tutorial های انگلیسی رو بخون:

http://viralpatel.net/taj/tutorial/protectedmode.php

این یکی از بهترین Tutorial ها هست که به زیبایی توضیح داده :

www.brokenthorn.com/Resources/OSDev8.html (http://www.brokenthorn.com/Resources/OSDev8.html)

fireforget5
جمعه 14 بهمن 1390, 16:42 عصر
سلام د ر مورد کتاب های بالا آیا مرجعی هست که فقط وقفه های بایوس رو داشته باشه تا بتونیم با آنه فارق از داس وسیستم عامل برنامه نویسی کنم
با تشکر

fireforget5
جمعه 14 بهمن 1390, 16:42 عصر
سلام د ر مورد کتاب های بالا آیا مرجعی هست که فقط وقفه های بایوس رو داشته باشه تا بتونیم با آنه فارق از داس وسیستم عامل برنامه نویسی کنم
با تشکر

dabbah
سه شنبه 09 اسفند 1390, 23:48 عصر
83464
آموزش کامل اسمبلی
خیلی عالیه
آموزش تصویری زبان اسمبلی
هم آموزش کارگاه اسمبلی
کاری از باقر دباح

xman_1365_x
دوشنبه 15 اسفند 1390, 14:05 عصر
برای جلوگیری از پست های نامرتبط تاپیک قفل شد!