اين error در اسمبلي چيه؟
کد: انتخاب همه
stacksg segment stack 'stack'
dw 32 dup(?)
stacksg ends
;----------------------------------
codesg segment 'code'
assume ss:stacksg,cs:codesg
Main proc far
call clear
:back1
call cursor
call date
mov al,dh
call displa1
call colon
mov al,dl
call displa1
call colon
mov al,cl
call displa1
jmp back1
mov ax,4c00h
int 21h
Main ENDP
;------------clear monitor-----------
CLEAR proc near
push bx
mov ax,0600h
mov cx,0000h
mov dx,184fh
mov bh,0eh
int 10h
pop bx
ret
CLEAR ENDP
;------------set cursor on 12,40------
CURSOR proc near
push dx
mov ah,02h
mov bh,00h
mov dl,40
int 10h
pop dx
ret
CURSOR ENDP
;-----------get date------------------
DATE proc near
mov ah,2ah
int 21h
ret
DATE ENDP
;-----------display . on monitor-----
COLON proc near
push dx
mov dl,'.'
mov ah,02h
int 21h
pop dx
ret
COLON ENDP
;---------display numbers on monitor-----
DISPLA1 proc near
push dx
;---------changing binary to ascii-------
mov bl,10
mov bh,00h
div bl
mov bx,ax
add bl,30h
;--------showing ascii numbers on monitor-----
mov ah,02h
mov dl,bl
int 21h
mov dl,bh
int 21h
pop dx
ret
DISPLA1 ENDP
CODESG ENDS
END MAIN
آخرین ويرايش توسط 1 on venus, ويرايش شده در 0.
سلام
بله درسته برنامه شما نه خطاي نوشتاري داره و نه Warning . برخي خطاها زمان اجرا رخ ميدهند مانند خطاي تقسيم بر صفر. اين گونه خطاها بعد از اجراي برنامه اتفاق مي افتند و براي يك برنامه نويس بخش مشكل كار پيشگيري و درمان اينگونه خطا هاست.
در Debug شما خط به خط برنامه رو اجرا ميكنيد محتوي رجيستر ها و خانه هاي حافظه را چك ميكنيد سپس ميتوانيد مشكل برنامه را پيدا نماييد.
موفق باشيد
بله درسته برنامه شما نه خطاي نوشتاري داره و نه Warning . برخي خطاها زمان اجرا رخ ميدهند مانند خطاي تقسيم بر صفر. اين گونه خطاها بعد از اجراي برنامه اتفاق مي افتند و براي يك برنامه نويس بخش مشكل كار پيشگيري و درمان اينگونه خطا هاست.
در Debug شما خط به خط برنامه رو اجرا ميكنيد محتوي رجيستر ها و خانه هاي حافظه را چك ميكنيد سپس ميتوانيد مشكل برنامه را پيدا نماييد.
موفق باشيد