خطا در رفتن به مُد گرافیکی در Emu8086
با سلام دوستان
یه سوالی داشتم. موقعی که میخام تو Emu8086 برم تو مُد گرافیکی، وقتی وقفشو صدا میزنم، وقتی میخام مثلا یه پیکسلو روشن کنم، خطا میده میگه نمیتونه به مُد گرافیکی بره. مشکلش چیه؟
این پیغامو میده:
set_VIDEO_MODE: unsupported video mode: 4h
the emulator is halted.
از تابع 0 وقفه ی 10h واسه این کار استفاده میکنم:
MOV AH,0
MOV AL,12H
INT 10H
MOV CX,200
MOV DX,200
MOV AL,4
MOV BH,0
INT 10H
نقل قول: خطا در رفتن به مُد گرافیکی در Emu8086
برای رسم پیکسل باید تابع 0cH استفاده کنید،کافیه در خط چهارم mov ah,0ch قرار بدین
موفق باشی
نقل قول: خطا در رفتن به مُد گرافیکی در Emu8086
شرمنده تایپک قدیمی رو بالا میارم ولی منم همین مشکل رو دارم
; multi-segment executable file template.
data segment
; add your data here!
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
; add your code here
mov al,04h
mov ah,0
int 10h
mov cx,300
mov dx,100
mov ah,0ch
mov bh,0
mov al,3
int 10h
; output string at ds:dx
ends
end start ; set entry point and stop the assembler.
مقع اجرا پیغام زیر رو میده
set_VIDEO_MODE: unsupported video mode: 4h
not graphical mode!
use this code to set graphics mode:
mov ah, 0
mov al, 13h
int 10h
خوش داره میگه از 13h استفاده کنم ولی من می خوام یا از 4 یا 12h استفاده کنم
ویندوز x64 7
نقل قول: خطا در رفتن به مُد گرافیکی در Emu8086
کامپایلر Eme8086 توابع 4h و 12h رو پشتیبانی نمیکنه ، اما بجاش شما میتونید از کد زیر برای تغییر مد مونیتور استفاده کنید
mov al, 13h
mov ah, 0
int 10h ; set graphics video mode.
mov al, 1100b
mov cx, 10
mov dx, 20
mov ah, 0ch
int 10h ; set pixel
AL = pixel color
CX = column.
DX = row.
برای آشنایی بیشتر به Help نرم افزار Emu8086 و یا وبسایتش مراجعه کنید.
نقل قول: خطا در رفتن به مُد گرافیکی در Emu8086
با سلام
دوستان در مورد emu باید عرض کنم که بعضی از وقفه ها رو کلا نمیشناسه برای دیدن این وقفه می تونید به قسمت help برنامه برید بعد به قسمت Short List of Supported Interrupt Functions و بعد وقفه مورد نظر رو انتخاب کنید مثلا INT 10h/00h
که وقفه 10 شامل اطلاعات زیر است:
INT 10h / AH = 0 - set video mode.input:
AL = desired video mode.
these video modes are supported:
00h - text mode. 40x25. 16 colors. 8 pages.
03h - text mode. 80x25. 16 colors. 8 pages.
13h - graphical mode. 40x25. 256 colors. 320x200 pixels. 1 page.
example: mov al, 13h mov ah, 0 int 10h
نقل قول: خطا در رفتن به مُد گرافیکی در Emu8086
راهی برای استفاده وجود نداره ؟